Глиф Учебники

Урок 1. Первая программа на Pascal

Курс «Pascal» · урок 1 из 9 · 4 минуты чтения

В этом уроке на экране появится результат вашей первой программы. Понадобится среда, в которой пишут и запускают программы на Pascal, и минут двадцать.

Какую среду выбрать

Программу на Pascal пишут как обычный текст, а потом компилятор переводит её в команды, понятные компьютеру. Редактор, компилятор и запуск готовой программы обычно собраны в одну программу — среду разработки.

Как установить: PascalABC.NET, Free Pascal. Все программы курса работают в обеих средах.

Первая программа

Наберите в редакторе:

Pascal
program Hello;
begin
  writeln('Привет, мир!');
end.
Вывод
Привет, мир!

Что в ней по строкам:

Строки между begin и end называют операторами — это действия программы. Операторы разделяются точкой с запятой. Отступ в два пробела компилятору не нужен, он нужен человеку: так видно, что внутри чего находится.

program Hello; begin writeln('Привет, мир!'); end Заголовок program и имя латиницей Действия программы операторы от begin до end, между ними — точка с запятой Точка — конец программы
Программа на Pascal состоит из заголовка program Hello; и блока действий от begin до end, а точка после последнего end означает конец программы.

Pascal не различает большие и маленькие буквы: WriteLn, writeln и WRITELN — одно и то же.

Как запустить

Способ зависит от среды, которую вы поставили.

PascalABC.NETклавиша F9

  1. Создайте новый файл (Ctrl+N) и наберите программу.
  2. Нажмите F9 — «Выполнить». Внизу, в окне вывода, появится строка «Привет, мир!».
  3. Сохраните программу (Ctrl+S): файлы программ на Pascal имеют расширение .pas.

Дальше — для всех случаев

Free Pascal в командной строкекоманда fpc

Сохраните текст в файл hello.pas, в терминале (в Windows — в командной строке) перейдите в его папку командой cd и выполните:

Bash
fpc hello.pas
./hello

Первая команда компилирует программу и создаёт рядом файл hello (в Windows — hello.exe), вторая его запускает. В Windows вместо ./hello наберите hello.exe.

Дальше — для всех случаев

Free Pascal в среде fpклавиши Ctrl+F9

Среда fp входит в Free Pascal. Ctrl+F9 компилирует и запускает программу, Alt+F5 показывает экран с её выводом, любая клавиша возвращает к тексту.

hello.pas текст программы fpc hello.pas компиляция hello в Windows — hello.exe ./hello запуск Привет, мир! вывод на экран Оба шага одной клавишей F9 в PascalABC.NET Ctrl+F9 в среде fp компилирует и сразу запускает
Команда fpc hello.pas компилирует текст программы в готовую программу hello, команда ./hello запускает её и на экране появляется вывод; F9 в PascalABC.NET и Ctrl+F9 в среде fp делают оба шага сразу.

write и writeln

writeln после вывода переходит на новую строку, write — остаётся на той же. Через запятую можно вывести несколько значений подряд, в том числе результат вычисления:

Pascal
program WriteDemo;
begin
  write('Pascal ');
  write('ABC');
  writeln;
  writeln('Вторая строка');
  writeln('2 + 3 = ', 2 + 3);
end.
Вывод
Pascal ABC
Вторая строка
2 + 3 = 5

Пустой writeln без скобок просто переводит строку. Значения через запятую выводятся вплотную, без пробелов между ними: пробел нужно поставить внутри кавычек самому, как в '2 + 3 = '.

программа 1 write('Pascal '); 2 write('ABC'); 3 writeln; 4 writeln('Вторая строка'); 5 writeln('2 + 3 = ', 2 + 3); экран Pascal ABC 1 2 3 Вторая строка 4 2 + 3 = 5 5
write выводит текст и оставляет курсор на той же строке, поэтому Pascal и ABC оказались рядом, а writeln после вывода переводит строку; вместо 2 + 3 без кавычек выводится результат 5.

Апостроф внутри текста пишут дважды: writeln('It''s Pascal') выведет It's Pascal.

Комментарии

Комментарий — пояснение для человека, компилятор его пропускает. В Pascal три вида комментариев:

Pascal
program Comments;
{ Комментарий в фигурных скобках }
begin
  writeln('Строка 1');   // комментарий до конца строки
  (* writeln('Строка 2');  эта команда не выполнится *)
  writeln('Строка 3');
end.
Вывод
Строка 1
Строка 3

Комментарием удобно временно «выключить» строку, не стирая её. Комментарий // понимают PascalABC.NET и Free Pascal, но не старый Turbo Pascal.

Частые ошибки

Если в Free Pascal под Windows вместо русских букв видны непонятные значки, дело в кодировке консоли, а не в программе. На время учёбы можно выводить текст латиницей. В окне вывода PascalABC.NET русский текст показывается правильно.

Коротко

Проверьте себя

1. Чем должна заканчиваться программа на Pascal?
2. Что выведет программа?
Pascal
begin
  write('A');
  writeln('B');
  write('C');
end.
3. Как правильно вывести текст?
4. Какую клавишу нажать, чтобы запустить программу в PascalABC.NET?