Содержание
Комментарии
Помимо отступов, большие логически замкнутые блоки программы удобно разделять строками–комментариями, содержащими информацию о смысле последующего блока. Комментарий — это строка (или несколько строк) из произвольных символов, заключённая в фигурные скобки:
Другой вариант оформления комментария:
Внутри самого комментария символы } или *) встречаться не должны.
Во время компилирования программы комментарии игнорируются. Следовательно, их можно добавлять в любом месте программы. Можно даже разорвать оператор вставкой комментария. Кроме того, всё, что находится после ключевого слова end., завершающего текст программы, компилятор тоже воспринимает как комментарий.
Директивы компилятора
Строка, начинающаяся символами {$, является не комментарием, а директивой компилятора — специальной командой, от которой зависит процесс компиляции и выполнения программы. Директивы мы будем рассматривать в тех разделах, к которым они относятся «по смыслу».
Например, строка {$I-,Q+} отключает контроль правильности ввода-вывода, но включает контроль переполнения при вычислениях.
Идентификаторы
Имена, даваемые программным объектам (константам, типам, переменным, функциям и процедурам, да и всей программе целиком) называются идентификаторами. Они могут состоять только из цифр, латинских букв и знака «_» (подчёркивание). Однако цифра не может начинать имя. Идентификаторы могут иметь любую длину, но если у двух имен первые 63 символа совпадают, то такие имена считаются идентичными.
Вы можете давать программным объектам любые имена, но необходимо, чтобы они отличались от зарезервированных слов, используемых языком Pascal, потому что компилятор все равно не примет переменные с «чужими» именами.
Приведём список наиболее часто встречающихся зарезервированных слов:
array implementation shl
begin in shr
case interface string
const label then
div mod text
do nil to
downto not type
else of unit
end or until
file pointer uses
far procedure var
for program while
forward record with
function repeat xor
Переменные и типы данных
Переменная — это программный объект, значение которого может изменяться в процессе работы программы.
Тип данных — это характеристика диапазона значений, которые могут принимать переменные, относящиеся к этому типу данных.
Все используемые в программе переменные должны быть описаны в специальном разделе var по следующему шаблону:
var <имя_переменной_1> [, <имя_переменной_2, _>] : <имя_типа_1>; <имя_переменной_3> [, <имя_переменной_4, _>] : <имя_типа_2>;
Язык Pascal обладает большим набором разнообразных типов данных, однако сейчас мы укажем лишь некоторые из них. Обо всех же типах данных мы поговорим в следующей лекции, там же приведём и различные примеры описания переменных
Константы
Константа — это объект, значение которого известно ещё до начала работы программы.
Константы необходимы для оформления наглядных программ, незаменимы при использовании в тексте программы многократно повторяемых значений, удобны в случае необходимости изменения этих значений сразу во всей программе.
В языке Pascal существует три вида констант:
- неименованные константы (цифры и числа, символы и строки, множества);
- именованные нетипизированные константы;
- именованные типизированные константы.
Неименованные константы
Неименованные константы не имеют имён, и потому их не нужно описывать.
Тип неименованной константы определяется автоматически, по умолчанию:
- любая последовательность цифр (возможно, предваряемая знаком «-» или «+» или разбиваемая одной точкой) воспринимается компилятором как неименованная константа–число (целое или вещественное);
- любая последовательность символов, заключённая в апострофы, воспринимается как неименованная константа — строка (см. лекцию 5);
- любая последовательность целых чисел1, либо символов через запятую, обрамлённая квадратными скобками, воспринимается как неименованная константа — множество (см. лекцию 5).
Кроме того, существуют две специальные константы True и False, относящиеся к логическому типу данных.
Примерами использования неименованных констант могут послужить следующие операторы:
real2 := 12.075 + x;
char3 := 'z';
string4 := 'abc' + string44;
set5 := [1, 3, 5] * set55;
boolean6 := True;
Нетипизированные константы
Именованные константы, как следует из их названия, должны иметь имя. Стало быть, эти имена необходимо сообщить компилятору, то есть описать в специальном разделе const.
Если не указывать тип константы, то по её внешнему виду компилятор сам определит, к какому (базовому) типу её отнести. Любую уже описанную константу можно использовать при объявлении других констант, переменных и типов данных. Вот несколько примеров описания нетипизированных именованных констант:
m = 1000000000;
mmm = n * 100;
x = 2.5;
c = 'z';
s = 'string';
b = true;
Типизированные константы
Типизированные именованные константы представляют собой переменные(!) с начальным значением, которое к моменту старта программы уже известно. Следовательно, во–первых, типизированные константы нельзя использовать для определения других констант, типов данных и переменных, а во–вторых, их значения можно изменять в процессе работы программы.
Описание типизированных констант производится по следующему шаблону:
const <имя_константы> : <тип_константы> = <начальное_значение>;
Из приведённых ниже примеров видно, как это сделать:
x : Real = 2.5;
c : Char = 'z';
b : Boolean = True;
Примеры типизированных констант других типов мы будем приводить по мере изучения соответствующих типов данных.
Примечания
- ^ Существует, однако, ограничение на объём множеств, поэтому последовательности чисел не должны быть слишком длинными