Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы по информатике.doc
Скачиваний:
61
Добавлен:
20.09.2019
Размер:
1.29 Mб
Скачать

8. Структура и синтаксис языка Turbo Pascal 7

Программа состоит из трёх блоков: заголовок программы, раздел описаний, тело программы. Ниже приведена схема программы со всеми возможными разделами. Если нет необходимости использовать какие-либо разделы описаний, то они опускаются, последовательность записи разделов описаний не обязательная, причём некоторые разделы могут повторяться.

Program Name (Input, Output); {Заголовок программы}

Uses {Описание используемых модулей}

Label {Описание меток}

Const {Описание констант} Раздел описаний

Type {Описание типов}

Var {Описание переменных}

Procedure {Описание процедур}

Function {Описание функций}

Begin

Оператор1;

Оператор 2;

{Раздел операторов ... (тело программы)}

Оператор n

End.

Заголовок программы начинается служебным словом Program, за которым записывается идентификатор программы (имя). Имя программы строится в соответствии с правилами записи идентификаторов, после имени программы иногда указывают в круглых скобках имена стандартных файлов ввода и вывода, связанных соответственно с клавиатурой и экраном монитора (Input, Output). Заканчивается описание заголовка символом " ; ". Например:

Program MyProgram (Input, Output);

Program MyProgram;

Затем после служебного слова uses через запятую перечисляются модули, процедуры и функции которые, используются в программе. В конце ставится " ; ". Это могут быть как стандартные модули Pascal - Crt, Graph, так и модули, разработанные пользователем. Например:

Uses Crt, Graph;

За служебным словом Label следуют перечисленные через запятую идентификаторы меток, которые используются в программе. Метка - это идентификатор, заканчивающийся двоеточием " : ", помечающий место в программе, на которое передаётся управление при помощи оператора безусловного перехода.

Label M1, M2, M3;

Следом располагается раздел описаний констант, начинающийся служебным словом Const. Идентификатор константы отделяется от значения знаком "=". После каждой константы ставится " ; ". Константы - это данные, значения которых не могут изменяться в процессе выполнения программы. Константы распознаются компилятором по форме их записи. В языке Pascal используются константы трех видов: числовые, булевские и символьные. Числовые константы предназначены для представления числовых данных (целых и вещественных). Булевские константы используются для представления данных, имеющих смысл логических высказываний (истина-ложь). Символьные константы представляют данные, являющиеся последовательностями символов. Например:

const A = 12; {целочисленная константа A}

B: Real = 23.05; {типизированная константа B}

S= Строка ; {строковая константа}

Типы данных, вводимые пользователем, описываются после служебного слова Type. Новый тип данных вводится своим идентификатором, за которым после знака равенства " = ", записывается расшифровка типа. Например:

Type

Color = (Red, Green, Blue); {Перечисляемый тип}

Scale = 2 * (A - B).. (A + B); {Тип диапазон}

MassivReal=array[1..100] of Real; {Массив из ста элементов типа Real}

MassivChar=array[0..19] of Char; {Массив из 20 элементов типа Char}

Раздел описания переменных начинается служебным словом Var. Значения переменных могут изменяться во время выполнения программы. Переменные идентифицируются по именам (идентификаторам), с каждой переменной программы связывается один тип данных. При описании они отделяются двоеточием " : ". Если необходимо различным переменным назначить один тип данных, то они перечисляются через запятую, после последнего идентификатора ставится двоеточие, за которым указывается тип данных. Тип - это множество значений переменной вместе с множеством операций, которые можно выполнять над элементами этого множества. Заданием переменной некоторого типа, явно определяется множество значений, которые можно присваивать этой переменной, а также операции, с помощью которых можно манипулировать ее значениями. Число отдельных значений, принадлежащих некоторому типу, называется мощностью типа. Так, например, мощность типа Boolean - 2.

Var

Digit: 0..9; {переменная перечисляемого типа}

C: Color; {переменная типа Color, который описан в разделе Type}

Done, Error: boolean; {переменные типа boolean }

Operator: (plus, minus, times); {переменная перечисляемого типа}

Matrix: array[1..10,1..10] of Real; {переменная - массив}

Следом идёт раздел описания процедур и функций. Он будет рассмотрен позднее при рассмотрении вопросов, связанных с организацией подпрограмм.

Тело программы начинается служебным словом Begin, которое определяет точку начала выполнения программы. Затем следуют операторы, описывающие алгоритм решения задачи. Они отделяются друг от друга точкой с запятой " ; ". Завершается тело программы служебным словом End за которым ставится точка.

Кроме описаний и операторов Pascal-программа может содержать комментарии, которые представляют собой произвольную последовательность символов, расположенную между открывающей скобкой комментариев {и закрывающей скобкой комментариев}.

Алфавит языка Pascal включает буквы английского алфавита от A до Z и от a до z. Арабские цифры от 0 до 9. Специальные символы: + - / * . , : ; ( ) [ ] { } & @ # ^ = < >

Символ подчёркивания _ , считающийся буквой.

Из символов алфавита формируются минимальные единицы языка, имеющие определённый смысл - лексемы. Лексемы бывают пяти видов: служебные слова, идентификаторы (имена) переменных, знаки операций, числа и строки, заданные непосредственно в программе, символы разделители. Pascal не различает заглавных и строчных букв, поэтому идентификаторы MyVAR и myvar обозначают одну и ту же переменную.

Служебные слова являются зарезервированными и переназначать их действие нельзя. Их нельзя использовать в качестве идентификаторов. Например: Program, Begin, End, While. Служебные слова будут вводиться по ходу изучения языка.

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

Знаки операций определяются специальными символами, и предназначены для выполнения тех или иных действий с данными (например, сложение операндов).

Для изображения чисел, представляющих собой константы целого и вещественного типа, используется обычная десятичная запись. Целая константа в шестнадцатеричном формате записывается, начиная со знака доллара ($). Для экспоненциальной формы записи чисел используется буква "E" или "e" Например, 9E-6 означает 9*10-6, а 24.337E+6 или 24.337E6 обозначают 24.337*106. Для отделения целой части от дробной используется символ "точка". Числа с десятичными точками или показателями степени представляют собой константы вещественного типа. Остальные десятичные числа обозначают константы целого типа. Их значения должны находится в диапазоне от -2147483648 до 2147483647. Шестнадцатеричные числа обозначают константы целочисленного типа. Они должны находиться в диапазоне от $00000000 до $FFFFFFFF.

Строка представляет собой последовательность, содержащую ноль и более символов из расширенного набора символов американского стандарта кодирования информации ASCII. Строка записывается в одной строке программы и заключается в апострофы. Строка символов может быть нулевой (не содержит символов). Два последовательных апострофа в строке символов обозначают один символ - апостроф. Атрибут длины строки символов выражается действительным количеством символов между апострофами, например:

'Строка символов'

' ' ' '

';'

'' {пустая строка}

' ' {пробел}

Разрешается вставлять в строку символов управляющие символы, которые начинаются со знака #, за которым без пробела следует целая константа без знака в диапазоне от 0 до 255. Константа обозначает соответствующий этому значению символ в коде ASCII. Аналогично, если несколько управляющих символов входит строку символов, то между ними не должно быть разделителей. Например:

#13#10 'Перевод строки и возврат каретки'

'Строка 1'#13'Строка 2'

Символы разделители используются для отделения одних выражений от других (;), меток от операторов, переменных от типов (:), для завершения программы (.). В программе могут использоваться комментарии. Они игнорируются компилятором и применяются для пояснения исходных текстов программы. Комментарий может начинаться символами { и (*, соответственно заканчиваться } *). Например:

{Это комментарий}

(* И это комментарий *)

В Turbo Pascal строки программы могут иметь максимальную длину в 126 символов.