Урок #1: "Привет мир!" -- начинаем программировать на языке Pascal

Привет мир! ;)

Итак, в одной из сред программирования (например, тут) напишем такой код (поздороваемся с миром):

program HelloWorld; // название программы + точка с запятой
begin
  writeln('Привет Мир!');
end.

В средах разработки, которые для вывода используют командную строку (окно консоли), придётся задержать закрытие консоли таким приёмом (ожидание ввода значения переменной):

program HelloWorld;
var // секция объявления переменных
  x :integer;  //объявим целочисленную переменную
begin
  writeln('Привет Мир!');
  read(x); // ожидаем ввода (который всегда заканчивается нажатием Enter)
end.

В Lazarus из главного меню данный код можно запустить так:

Файл -> Создать -> Проект -> Программа

Возможно, придётся предварительно исправить такую ошибку.

Работает с переменными

Переменные бывают разных типов, мы же пока объявим несколько переменных типа integer -- то есть целочисленных и произведём операции с ними:

program PromramIntegerTest;
var 
  x,  
  y, // объявляются, через запятую, если их несколько
  z :integer; //  в конце в любом случае указывается тип (здесь - три переменных одного типа)
 
  a, b: integer; { переменные через запятую можно перечислять и в одну строку, 
но тогда не удобно отдельно прокомментировать назначение каждой из них.
Обратите внимание на этот комментарий - он многострочный (окружён фигурными скобками) }
 
begin
  a := 1; // операция присваивания значения
  b := 3;
  z := b + 22;  // складываем переменную и числовой литерал
  x := (a + b)*z - b; // присваиваем результат более сложного выражения
  writeln('Получаем значение: ', x);
  
  b := z mod b; 
  writeln('Остаток от деления z на b равен ', b);
 
  read(x); // ожидаем ввода (который всегда заканчивается нажатием Enter)
end.

Обратите внимание на название программы, данный стиль написания называется CamelCase.

Пример использования пользовательского ввода + цикл и оператор условия (вектвления)

Рассмотрит такую программу, где используется одна переменная вещественного типа, но при этом есть цикл и оператор условия. который в определённой ситуации завершает выполнение кода:

{Программа вывода квадратного корня числа,
 введённого пользователем}
program SqrtProgram;
var
 x: real; // объявим переменную вещественного типа
begin 
  repeat    // цикл с пост-условием
    write('Введите число: '); // приглашение (не обязательно)
    read(x); // чтение из стандартного потока ввода
    
    if (x >= 0) then // проверка условия (оператор "больше или равно")
      writeln('Корень из числа = ', sqrt(x)) // точка с запятой перед else не ставится
    else
      writeln('Ошибка в параметре!');
  until x = 0; // условие
  
  writeln('Цикл завершён');
end.

Модифицируйте код последнего примера следующим образом:

  1. так чтобы она завершалась при вводе положительного числа, а при вводе отрицательного или нулевого возводила введённное значение в квадрат.
  2. также как и в предыдущем пункте, но пусть выход из цикла осуществляется, если число больше делится на 5 без остатка
  3. также как и первый пункт, но на экран выводить сумму модуля и квадрата числа (если число не положительно)

Задачи к уроку

Задачи см. здесь.

Key Words for FKN + antitotal forum (CS VSU):