]]> ]]>

Turbo Pascal 1.0

Версия реализации Turbo Pascal языка программирования Pascal

Turbo Pascal 1.0 — первая версия серии Turbo Pascal, выпущенная 20 ноября 1983 года.

Turbo Pascal 1.0 работал на операционных системах PC-DOS и CP/M, широко распространенных на момент его создания. Он требовал всего 64kb RAM, компилировал код в исполняемые файлы типа .COM или .CHN размером не более 64kb, поддерживал графический режим CGA и позволял управлять звуком с помощью PC Speaker.

Эта версия не обладает узнаваемым полноэкранным интерфейсом пользователя в синих тонах с выпадающими меню, характерным для более поздних продуктов серии Turbo. Вместо этого используется текстовое меню, пункты которого вызываются нажатием соответствующих клавиш. Команды меню включают:

  • Edit: загружает рабочий файл в полноэкранный редактор.
  • Save: сохраняет рабочий файл.
  • Compile: компилирует рабочий файл. Существует три режима компиляции — “memory” (хранит скомпилированную программу в памяти), “COM-file” и “CHN-file” (создает исполняемый файл соответствующего типа).
  • Run: выполнить скомпилированную программу, хранящуюся в памяти. Если при последней компиляции создавался исполняемый файл, программа не выполняется.
  • Execute: выводит сообщение “Sorry, eXecute is not yet implemented in 8086/88 versions”.
  • Dir: выводит список файлов в текущем каталоге.
  • Compiler options: позволяет выбирать режим компиляции и настраивать параметры создаваемых файлов.
  • Quit: выходит из среды.

Turbo Pascal 1.0: основное меню
Turbo Pascal 1.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

]]>

Работа программистам