Структура программы на языке Pascal

В Паскале программа имеет определенную структуру.

Программа должна начинаться с заголовка, который состоит из зарезервированного слова program и имени программы, например, program My_code.

Слово program записывается строчными буквами. Собственно имя программы пишется латинскими буквами или цифрами без пробелов, но первым символом должна быть буква. Если имя состоит из в нескольких слов, их можно отделить символом подчеркивания.

За заголовком следует раздел uses, в котором указываются подключаемые библиотечные модули. Этот раздел состоит из служебного слова uses и имен модулей, необходимых для работы программы (например, uses Crt, Dos).

Следующими разделами программы на Паскале являются описания меток, констант, типов данных и переменных. Структуру этих описаний мы рассмотрим позже.

Если в программе созданы процедуры и функции, то они также должны быть приведены в разделе описаний.

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

Структура программы на языке Pascal - student2.ru

Каждый из разделов начинается со служебного слова, например, заголовок -со слова program, описание внешних модулей - со слова uses. Эти начальные служебные слова даны в правой колонке приведенного перечня разделов про­граммы.

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

Что касается порядка следования разделов, то некоторые разделы (описания, кроме uses) могут располагаться в произвольном месте программы и встречаться в программе любое количество раз. Главное правило, которое при этом должно со­блюдаться: описание идентификатора должно предшествовать его использованию в разделе операторов.

Любая программа (процедура или функция) должна состоять из трех основных разделов:

1. заголовок

2. описания

3. исполняемые операторы (тело программы)

Структура программы

Program < имя программы>;

Var x: real; (вместо Var (описание переменных) может быть Const – описание констант)

Begin

End.

Раздел описаний и раздел операторов

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

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

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

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

label

Ml, Tok, llab, 123;

Строка описания заканчивается точкой с запятой. Это касается не только опи­сания меток, но и всех остальных описаний (констант, переменных и т.д.).

В разделе операторов после идентификатора метки ставится двоеточие, кото­рое указывает компилятору, что данный идентификатор является меткой:

Ml: <оператор> Tok: <оператор>

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

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

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

После описания меток обычно следует описание констант. В этом разделе идентификаторам констант присваиваются постоянные значения. Описание кон­стант может выглядеть следующим образом:

Структура программы на языке Pascal - student2.ru

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

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

var <идентификатор>: <тип>;

То есть описание начинается с зарезервированного слова var (от слова variable -переменная). Затем следует перечисление имен переменных, разделенных запятыми. Имена переменных отделяются двоеточием от указания их типа. Например:

Структура программы на языке Pascal - student2.ru

Описание типов данных

Любой элемент данных (константа, переменная) можно отнести к тому или иному типу. Тип определяет множество значений, которые может принимать эле­мент данных. Все типы данных должны быть понятны компилятору, и поэтому те типы, которые вводятся программистом, необходимо описать.

Ранее вы уже познакомились со стандартными типами данных integer, real, char, boolean и string (см. пункт «Стандартные типы данных», §54). Кроме этих типов, программист по своему желанию может ввести новый тип данных, указав его в разделе описания типов.

К числу типов, которые могут вводиться программистом, относится перечисля­емый тип данных. Этот тип определяется путем перечисления его элементовпоследующей схеме:

type <имя типа> = <список имен>

Раздел описания типов данных в этом случае начинается служебным словом type, после которого следуют имена типов и списки значений, разделенные точкой с запятой, например:

type

size = (little, middle, big);

metal = (copper, tantal, cobalt, silver) ;

index2 = (1, 5, 8, 13) ;

Кроме перечисляемых типов, в Паскале существует интервальный тип данных (его еще называют тип-диапазон). Множество значений для этого типа задается с помощью указания интервала: от наименьшего до наибольшего значения. Эти крайние значения разделяются двумя последовательными точками, например:

type

element = 100..200;

letter =('а'..'2');

В этом описании тип element определяет множество целых чисел от 100 до 2 0 О, а тип letter - множество букв латинского алфавита от а до z.

Рассмотрим теперь более сложные описания - это описания структурирован­ных типов. К таким типам относятся массивы. Описание массивов задается сле­дующей схемой:

type <имя типа> == array [<список индексов>] of <тип>

где<имя типа> - идентификатор;

array и of - зарезервированные слова;

<список индексов> - список индексных типов, разделенных запятыми;

<тип>-любой тип данных.

Приведем примеры описаний массивов:

type

vector = array [1..3] of real;

table = array [1..5, 1..9] of integers-cub = array [0..4, -2..2, char] of byte;

В данном примере vector - это имя типа одномерного массива, состоящего из трех элементов, принимающих вещественные значения. Тип table - тип дву­мерного массива размером 5х9, состоящего из целых чисел. Тип cub в данном описании - это тип трехмерного массива, состоящего из целых значений типа byte (byte - это целый тип, занимающий 1 байт памяти, а не 2 байта, как в случае типа integer). Третья компонента трехмерного типа cub обозначается символьным индексом char.

Переменные, принадлежащие указанным выше типам, описываются уже обычным образом:

var

al : vector;

din : table;

с : cub;

где al, din, с - идентификаторы переменных.

Раздел операторов

Операторы языка Паскаль бывают простыми и составными (или, иначе говоря, структурными).

Простыми называются те операторы, которые не содержат никаких других операторов.

К простым операторам относятся: присваивание, оператор перехода, оператор

вызова процедуры и пустой оператор.

Оператор перехода до to (его называют еще оператором безусловного пере­хода) применяется в тех случаях, когда после выполнения некоторого оператора нужно выполнить не следующий по порядку в записи программы, а какой-либо другой оператор. Для выделения оператора, к которому нужно совершить пере­ход, используется метка (см. пункт «Описание меток» настоящего параграфа). Переход осуществляется следующим образом:

до to-Label;

label: A:=A*D;

Когда в программе дойдет очередь до оператора до to label, будет исполнен оператор А: =A*D, стоящий в строке с меткой label. Вслед за оператором с меткой будет выполняться следующая строка программы.

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

до to М;

Как отмечалось, существует еще один тип простых операторов - операторы вызова процедур, - их мы рассмотрим позже.

Вопросы для самоконтроля.

1. Какие разделы описаний могут присутствовать в программе?

2. Как вводятся метки в программу?

3. Как выглядят описания констант и переменных?

4. Каким образом описывается тип-диапазон?

5. Составьте описание одномерного массива.

6. Какие операторы относятся к простым операторам?

7.Что называется составным оператором?

Ввод и вывод в Паскале

Ход работы.

- встроенные процедуры ввода Write и Writeln;

- процедуры вывода Read и Readin;

- правила оформления программ в редакторе Паскаля.

Наши рекомендации