Учебник Turbo Pascal. Введение - Разделы описаний

ОГЛАВЛЕНИЕ

Разделы описаний

Описание переменных

Все переменные, используемые в программе, должны быть перечислены в разделе описания переменных. Этот раздел состоит из предложений описания переменных. Таких предложений может быть несколько, размещаются они между заголовком программы, подпрограммы или модуля и зарезервированным словом begin, открывающим раздел операторов программы, подпрограммы или модуля. Располагаться предложения описания переменных могут вместе (и это одна из составных частей хорошего стиля программирования), но могут и чередоваться с описаниями других объектов: констант, процедур, функций и т. д. Предложение описания переменных имеет вид

var  v1,   v2,...   :   type_id;

Здесь v1, v2,... — список переменных, в котором имена переменных разделяются запятыми, a type_id задает тип переменных из данного списка. Если в данной программе используются переменные разных типов, то в предложении var приводятся списки имен переменных каждого типа:

var v_1_1,  v_l_2,... : type_id_i; 
    v_2_l, v_2_2,... : type_id_2;
    v_n_l, v_n_2,... : type_id_n;

Пример описания переменных:

var
    cows, sheeps    : Word;
    overman         : Real;
    milkmaid        : Extended;

Здесь Word, Real и Extended — названия типов.

Типы Word, Real и Extended

Паскаль — это гибкий язык, в котором имеется большое число различных типов. Сейчас мы познакомимся только с некоторыми из них. Word — зарезервированное слово, обозначающее целочисленный тип с диапазоном значений [О, 65 535]. Переменные типа Word могут принимать целые значения только из указанного интервала.

Числовой тип Real — это вещественные значения из диапазона плюс-минус [2,9x10 :siJ, 1,7х10:и]. Переменные типа Real не могут принимать значения, сколь угодно близкие к нулю.

Тип Extended имеет более широкие возможности, чем Real, так как его диапазон составляет плюс-минус [3,4х10"4(Ш, l.lxlO4932], и поэтому в программах рекомендуется использовать именно этот тип.

Описание констант

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

const
    v_1 = val_1;
    v_2 = val_2;
    v_n = val_n;

Здесь v_1, v_2, ..., v_n — имена констант, a vali — значения этих констант. Позже мы узнаем, что константы в Паскале бывают двух видов — петипизи-рованиые (как в данном случае) и типизированные.

Пример описания констант:

const
    my_birth_year       = 1905;
    mass_of_electron    = 9.1095е-28;
    my_salary          = 'invisible';

Исполняемые операторы

Тело каждой программы или подпрограммы состоит из последовательности операторов, каждый из которых выполняет определенное действие. Рассмотрим некоторые операторы языка Паскаль. Начнем с оператора присваивания:

variable :=   expression;

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

Примеры операторов присваивания:

al   := 0.5;
у     := х /  (1.0 + х);

Вызовы процедур

Процедуры можно считать нестандартными операторами языка. Процедура программируется пользователем или содержится в готовом наборе процедур (библиотеке, библиотечном модуле) и обычно выполняет достаточно сложное действие. Процедура вызывается путем указания ее имени, если она не имеет параметров, или ее имени с параметрами, заключенными в круглые скобки. Тем самым инициируются действия, объем которых может быть довольно большим. Примерами вызовов процедур являются

WriteLn;
Read(infile, x);

Программирование процедур обсуждается во втором уроке.

Составной оператор

Составной оператор — это оператор вида

begin 
    S_1;
    S_2;
     ...
    S_n;
end;

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

Два слова о знаках пунктуации. Строго говоря, символ «точка с запятой» в Паскале является не ограничителем, а разделителем операторов. Поэтому точка с запятой после S_n необязательна. Тем не менее использование точки с запятой облегчает модификацию программы, например, при включении добавочных операторов.

Пример составного оператора:

begin
    S := S + 1;
    а := S - sqr(S);
end;

Структурные операторы

Структурные операторы строятся из специальных зарезервированных слов. логических выражений и других операторов. Каждый такой оператор явно или неявно содержит одну или несколько логических проверок.