Это госы! Wiki
Это госы! Wiki
Advertisement

Несмотря на то, что на первом курсе мы программировали в основном на Паскале за последние годы правила его синтаксиса стерлись из памяти. Здесь я хотел напомнить синтаксис некоторых конструкций, которые могут понадобиться на экзамене.

Основы синтаксиса[]

Структура программы[]

Структура программы на Паскале в общем виде выглядит так:

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 (<указатель>);

Не забываем про эти две функции! Цымблер будет ругаться.

Разыменование[]

Сам по себе указатель - это адрес переменной в куче. Если мы хотим присвить переменной, на которую ссылается указатель, значение, то мы используем операцию разыменования.

<указатель>^ := <присваиваимое значение>;
Advertisement