Структура программы на языке Паскаль
Паскаль-программа включает в себя следующие разделы:
§ заголовок программы (Program);
§ раздел указания используемых модулей (Uses);
§ раздел объявления меток (Label);
§ раздел объявления констант (Const);
§ раздел объявления типов (Type);
§ раздел объявления переменных (Var);
§ раздел описаний процедур и функций (Procedure,Function);
§ раздел операторов (обязательная часть программы).
Заголовок программы состоит из ключевого слова Program, имени программы и, возможно, списка параметров в круглых скобках. Список параметров может отсутствовать. В конце заголовка ставится точка с запятой (;).
Любой из разделов объявлений может отсутствовать. Раздел операторов называется телом программы и начинается ключевым словом Begin и завершается словом End, после которого ставится точка.
Пример программы.
Program Example1; {заголовок}
Var
X, Y, Sum: real; {описание переменных}
Begin
{раздел операторов}
write(‘Введите X и Y’); {вывод сообщения на экран}
readln(X,Y); {ввод двух чисел с клавиатуры}
Sum:=X+Y; {определение суммы}
write(‘X+Y=’,Sum); {вывод результата на экран}
End.
Раздел указания используемых модулей начинается с ключевого слова Uses и представляет собой следующее предложение:
Uses <имя модуля>, <имя_модуля>,…;
Предложение Uses присутствует в программе, если в ней используются описания данных, процедур и функций, определенных в стандартных модулях (кроме модуля System) или в модулях, написанных пользователем.
Например, Uses Crt, MyLib;
Стандартный модуль System всегда подключается по умолчанию.
Раздел объявления меток начинается с ключевого слова Label и включает следующее предложение:
Label <метка1>, <метка2>, …;[4]
Если метка объявлена в разделе Label, то в разделе операторов должен существовать оператор с объявленной меткой.
Раздел объявления констант начинается с ключевого слова Const и имеет следующий формат:
Const
< имя константы 1 >=< значение 1 >;
< имя константы 2>=< значение 2>;
…
или
< имя константы >:<тип>=<значение>;
Раздел объявления типов начинается с ключевого слова Type и служит для определения пользовательских типов, которые будут рассмотрены подробно позже.
Раздел объявления переменных начинается с ключевого слова Var, содержит описания всех переменных, используемых в программе, и имеет следующий формат:
Var
< имя переменной 1 >: <тип 1>;
< имя переменной 2>:<тип 2>;
…
или
< имя переменной 1 >,< имя переменной 2>,…< имя переменной n>:
<тип >; если переменные имеют один и тот же тип.
В языке Паскаль любая константа, переменная, значение выражения или функции характеризуется своим типом. Тип данных определят способ внутреннего представления данных и множество операций, допустимых над этими данными. Паскаль имеет развитую систему типов.
Типы данных делятся, во-первых, на скалярные и составные типы (рис.4.2).
Во-вторых, множество типов данных можно разделить на две группы:
§ стандартные (предопределенные) типы;
§ типы данных, определяемые пользователем (пользовательские типы); как показано на рис.4.3.
Объекты данных скалярных типов не имеют внутренней структуры и могут содержать лишь одно неделимое значение. Объекты данных составных типов содержат несколько объектов скалярных или составных типов.
Имена стандартных типов являются предопределенными идентификаторами и действуют в любой точке программы, их не надо объявлять в разделе Type. Пользовательские типы – это дополнительные типы, характеристики которых программист может определять самостоятельно в объявлении типа в разделе Type.
4.3. Скалярные стандартные типы данных
Стандартные типы данных не требуют предварительного определения в разделе объявления типов. К ним относятся целые типы данных, вещественные типы, логический тип, символьный тип. Вышеперечисленные типы данных являются скалярными, т. е. любое выражение скалярного типа может иметь одно единственное значение. Все скалярные типы, кроме вещественных, являются порядковыми.
Порядковые типы обладают следующими четырьмя свойствами.
1) Множество допустимых значений любого порядкового типа представляет собой упорядоченную последовательность, каждый элемент которой имеет свой порядковый номер. Порядковый номер является целым числом.
2) К любому значению порядкового типа можно применить стандартную функцию Ord, возвращающую порядковый номер этого значения.
3) К любому значению порядкового типа можно применить стандартную функцию Pred, возвращающую значение, предшествующее этому значению.
4) К любому значению порядкового типа можно применить стандартную функцию Succ, возвращающую значение, следующее этому значению.
Например, Succ(3) = 4, Pred(7) = 6.
Рассмотрим предопределенные, арифметические типы данных.
В Паскале определены 5 целых типов данных, которые показаны в табл. 4.1.
Табл. 4.1. Целые типы данных.
Описатель
| Диапазон
| Формат
| Размер в байтах
| ShortInt
| от –128 до 127
| Знаковый
|
| Integer
| от -32768 до 32767
| ---
|
| LongInt
| от –2147483648 до 2147483647
| ---
|
| Byte
| от 0 до 255
| Беззнаковый
|
| Word
| от 0 до 65535
| ---
|
|
Вещественные типы данных также представлены пятью типами данных, которые показаны в табл. 4.2.
Табл. 4.2. Вещественные типы данных.
Описатель
| Диапазон
| Максимальное
количество значимых цифр мантиссы
| Размер в байтах
| Single
| от 1.5 x 10-45 до 3.4x 1038
|
|
| Real
| от 2.9 x 10-39 до 1.7x 1038
|
|
| Double
| от 5.0 x 10-324 до 1.7x 10308
|
|
| Extended
| от 3.4 x 10-4932 до 1.1x 104932
|
|
| Comp
| от -9.2 x 1018 до 9.2x 1018
|
|
|
Наиболее употребительными являются типы Real и Double. Для работы с типами данных Single, Double Extended и Comp необходимо включать директиву компилятора {$E+}, которая подключает специальные программы для выполнения арифметических действий. При использовании типа Real эта директива не нужна.
Стандартный логический тип Boolean, размер которого 1 байт, представляет собой тип данных, любой элемент которого может принимать лишь одно из двух значений: True (истина) и False (ложь). True > False.
В Borland Pascal 7.0 добавлены еще три логических типа: ByteBool (1 байт), WordBool (2 байта), LongBool (4 байта) для совместимости с языком C++ и ОС MS Windows. Для типа Boolean значению True соответствует 1, а False – значение 0. Для других логических типов значению True соответствует любое значение, не равное 0, а False – значение 0.
Стандартный символьный тип Char определяет полный набор символов стандарта ASCII. Каждому символу приписывается значение кода в диапазоне от 0 до 255. Функция Ord(X), где X имеет тип Char, дает код соответствующего символа.
|