Turbo Pascal 2.0
Версия реализации Turbo Pascal языка программирования PascalTurbo Pascal 2.0 — вторая версия серии Turbo Pascal, выпущенная 17 апреля 1984 года.
Turbo Pascal 2.0 очень похож на Turbo Pascal 1.0, со слегка измененным интерфейсом (серо-белое оформление вместо желто-серого, отсутствие команды “Execute” и т.д.), несколькими изменениями компилятора (в том числе увеличение максимального размера генерируемых исполняемых файлов) и расширенным набором примеров.
Turbo Pascal 2.0: основное меню
Примеры:
Числа Фибоначчи - Pascal (28):
Этот пример использует рекурсивное определение чисел Фибоначчи.
program fibonacci;
function fib(n:integer): integer;
begin
if (n <= 2) then
fib := 1
else
fib := fib(n-1) + fib(n-2);
end;
var
i:integer;
begin
for i := 1 to 16 do
write(fib(i), ', ');
writeln('...');
end.
Hello, World! - Pascal (47):
program helloworld;
begin
writeln('Hello, World!');
end.
Факториал - Pascal (93):
Этот пример работает точно так же, как основной рекурсивный пример для Pascal, но использует тип real
для хранения значений факториала. Команда writeln(f:-1:0)
выводит дробное число f
с 0 цифр после десятичной запятой и выравнивает его по левому краю.
program factorial;
function fact(n: integer): real;
begin
if (n = 0) then
fact := 1
else
fact := n * fact(n - 1);
end;
var
n: integer;
begin
for n := 0 to 16 do
writeln(n, '! = ', fact(n):-1:0);
end.
Квадратное уравнение - Pascal (143):
В Pascal есть встроенный комплексный тип данных complex
, но команда writeln
не работает с ним напрямую (только через функции Re
и Im
), поэтому существенного удобства от его использования нет. Вычисления проводятся в типе real
. Библиотечная функция halt
, введенная в Extended Pascal, позволяет выйти из текущего блока (в более поздних версиях заменена на exit
).
program Quadratic;
var
A,B,C,D: integer;
begin
write('A = ');
readln(A);
if (A=0) then
begin
writeln('Not a quadratic equation.');
halt;
end;
write('B = ');
readln(B);
write('C = ');
readln(C);
D := B*B-4*A*C;
if (D=0) then
begin
writeln('x = ',-B/2.0/A);
halt;
end;
if (D>0) then
begin
writeln('x1 = ',(-B+Sqrt(D))/2.0/A);
writeln('x2 = ',(-B-Sqrt(D))/2.0/A);
end
else
begin
writeln('x1 = (',-B/2.0/A,',',Sqrt(-D)/2.0/A,')');
writeln('x2 = (',-B/2.0/A,',',-Sqrt(-D)/2.0/A,')');
end;
end.
Комментарии
]]>blog comments powered by Disqus
]]>