5. Символы с кодами ASCII от 0 до 31 (управляющие коды). Они могут участвовать в написании значений символьных и строчных констант. Некоторые из них (7, 10, 13, 8, 26) имеют специальный смысл при проведении ряда операций с ними. Символы, замыкающие строку (коды 13 и 10), и символ табуляции (код 9) также могут быть разделителями:

C := 2+2;

эквивалентно построению

C := 2

+

2;

6. Специальные символы, участвующие в построении конструкций языка:

+ - * / = < > [ ] . , ( ) : ;^ @ { } $ # '

7. Составные символы, воспринимаемые как один символ:

<= >= := (* *) (. .) ..

Разделители (пробелы) между элементами составных символов недопустимы.

Как видно, символы из расширенного кода ASCII, т.е. символы с номерами от 128 до 255 (а именно в этот диапазон входит алфавит кириллицы на IBM-совместимых ПЭВМ), а также некоторые другие из основного набора клавиатуры ( !, %, и др.) не входят в алфавит языка. Тем не менее они могут использоваться в тексте программы, но только в виде значений констант символов и (или) строк, а также в тексте комментариев. В имена (идентификаторы) эти символы входить не могут. Обычно это не вызывает проблем. Главное, что можно выводить знаки кириллицы и псевдографики на экран и принимать их с клавиатуры.

Турбо Паскаль имеет большое количество зарезервированных (или ключевых) слов. Эти слова не могут быть использованы в качестве имен (идентификаторов) в программе. Попытка нарушить

- 51 -

этот запрет вызовет ошибку при обработке программы компилятором языка. Список зарезервированных слов Турбо Паскаля таков:

ABSOLUTE AND ARRAY BEGIN CASE CONST CONSTRUCTOR DESTRUCTOR DIV DO DOWNTO ELSE END

EXTERNAL FILE FOR FORWARD FUNCTION GOTO IF IMPLEMENTATION IN INLINE INTERFACE INTERRUPT LABEL

MOD NIL NOT OBJECT OF OR PACKED PROCEDURE PROGRAM RECORD REPEAT SET SHL

SHR STRING THEN TO TYPE UNIT UNTIL USES VAR VIRTUAL WHILE WITH XOR

Примечание: Зарезервированное слово PACKED (упакованный) в Турбо Паскале игнорируется.

<p>3.2. Общая структура программ</p>

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

| BEGIN

| END.

Более длинные программы обрастают различными смысловыми блоками: описаниями меток переходов, константами, объявлениями типов и переменных, затем процедурами и функциями. Порядок размещения их в тексте программы для Турбо Паскаля может быть таким же жестким, что и для стандартного Паскаля. Написанная по правилам стандарта языка программа будет иметь в своем полном варианте структуру, показанную на рис. 3.1.

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

PROGRAM Имя ( input, output, ... )

здесь не является необходимой.

- 52 -

| PROGRAM Имя_программы;

| USES

| Список используемых библиотек (модулей);

| LABEL

| Список меток в основном блоке программы;

| CONST

| Определение констант программы;

| TYPE

| Описание типов;

| VAR

| Определене глобальных переменных программы;

| ОПРЕДЕЛЕНИЕ ПРОЦЕДУР (заголовки и, возможно, тела процедур);

| ОПРЕДЕЛЕНИЕ ФУНКЦИЙ (заголовки и, возможно, тела функций);

| BEGIN

| Основной блок программы

| END.

Рис. 3.1

Директива USES — первый в программе действительно работающий оператор. С ее помощью подключаются библиотечные модули, из стандартного набора Турбо Паскаля или написанные пользователем, расширяя тем самым список используемых в программе процедур, функций, переменных и констант. У директивы USES есть свое четкое место. Если она присутствует, то должна стоять перед прочими директивами и разделами. Кроме того, слово USES может появиться в программе только один раз. Список библиотек дается через запятую:

USES

CRT, DOS, Graph;

{ подключены три библиотеки с соответствующими именами }

Если библиотеки не используются, то директива USES не ставится.

Блок описания меток LABEL содержит перечисленные через запятую метки переходов, установленные в основном блоке программы. Блоков LABEL может быть сколько угодно (лишь бы метки не повторялись), и стоять они могут где угодно до начала основного блока. Метки могут обозначаться целым числом в диапазоне 0...9999 или символьными конструкциями длиной не более 63 букв, например:

- 53 -

LABEL

Loop, 1, 123, m1, m2, Stop;

{описываем шесть различных меток }

Если метки не используются, то блоки LABEL отсутствуют.

Перейти на страницу:

Поиск

Похожие книги