Несмотря на то, что на первом курсе мы программировали в основном на Паскале за последние годы правила его синтаксиса стерлись из памяти. Здесь я хотел напомнить синтаксис некоторых конструкций, которые могут понадобиться на экзамене.
Основы синтаксиса[]
Структура программы[]
Структура программы на Паскале в общем виде выглядит так:
program <имя программы>; var <объявление глобальных переменных>; type <объявление типов>; function <имя функции>(<параметры функции>):<тип результата>; <объявления локальных переменных и типов>; begin <операторы>; end; procedure <имя процедуры>(<переменная по значению>, var <переменная по ссылке>); begin <операторы>; end; function <имя функции>(<переменная по значению>, var <переменная по ссылке>): <тип результата> begin <операторы>; end.
Типы данных[]
- integer - целые числа;
- real - действительные числа;
- char - символ (один);
- boolean - логический;
- string - строка.
Объявление переменной[]
Данный синтаксис объявления переменной используется как при объявлении параметров функций и процедур таки в блоке объявления переменных:
<имя переменной>:<тип переменной>;
Операторы[]
Ветвления[]
if <условие> then <операторы> else <операторы>;
Точку с запятой ";" перед секцией else писать нельзя!
case <выражение ординарного типа> of <диапазон выбора 1>: <оператор 1>; ... <диапазон выбора n>: <оператор n>; else <оператор> end;
В качестве диапазона выбора может выступать список выражений через запятую ('a', 'b'), диапазон значений через две точки ('a'..'z') либо их комбинация ('a'..'z', 'A'..'Z', '1', '#').
Циклы[]
В принципе, цикл любого типа можно выразить через цикл с предусловием.
Принудительно прервать управление циклом можно с помощью операций break
(совсем прервать цикл) и contunue
(перейти к следующей итерации).
Цикл с предусловием[]
while (<условие шляпа>) do <операторы>;
Цикл работает пока выполняется условие продолжения.
Цикл с постусловием[]
repeat <операторы>; until (<условие останова>);
Повторять пока не выполнится условие останова. При этом, гарантировано выполнится одна итерация.
Между repeat
и until
можно поместить любое количество операторов.
Цикл со счетчиком[]
В порядке возрастания счётчика:
for i:=<нач. значение> to <кон. значение> do <операторы>;
В порядке убывания счётчика:
for i:=<нач. значение> downto <кон. значение> do <операторы>;
Работа с указателями[]
Объявление указателя[]
<указатель>: ^<тип указателя>;
Выделение и освобождение памяти[]
{Выделение памяти} new (<указатель>); {Освобождение памяти} dispose (<указатель>);
Не забываем про эти две функции! Цымблер будет ругаться.
Разыменование[]
Сам по себе указатель - это адрес переменной в куче. Если мы хотим присвить переменной, на которую ссылается указатель, значение, то мы используем операцию разыменования.
<указатель>^ := <присваиваимое значение>;