СТРУКТУРНОЕ ПРОГРАММИРОВАНИЕ
Структура сложной программы Любая программная единица включает следующие разделы: <Объявление программной единицы> {Раздел описаний} BEGIN {Раздел исполняемых операторов} END. {символ конца программной единицы} <Объявление программной единицы> - заголовок программы, процедуры или функции. Заголовок программы можно опускать, для процедур и функций наличие заголовка обязательно. <Cимвол конца программной единицы> - это символ точки для программы или символ ";" для процедуры или функции. В разделе описаний объявляются идентификаторы типов, объектов, констант, переменных, а также метки, процедуры и функции. Каждый блок определяется своим ключевым словом. Тогда структура программы будет иметь вид PROGRAM <имя программы>; USES <список библиотечных модулей>; LABEL <список меток в основном блоке>; CONST < определение констант>; TYPE <определение типов>; VAR <определение глобальных переменных>; <определение процедур> <определение функций>; BEGIN <основной блок программы> END. Директива USES выполняет подключение стандартных или написанных программистом модулей. Она должна обязательно стоять первой, если присутствует в программе. Например, строкой USES CRT; производится подключение модуля CRT. Модуль CRT содержит процедуры и функции для управления выводом текста на дисплей, звуковым генератором и чтением с клавиатуры. Блоки TYPE, CONST, VAR, LABEL в Паскале АВС могут следовать друг за другом в любом порядке и встречаться в разделе описаний сколько угодно раз. В блоке LABEL перечисляются через запятую метки, используемые в программной единице. Метка может содержать числовое значение либо являться идентификатором. Например: LABEL 1, 400, M1, EPS; Если метка описана в этом блоке, но в программе не встретилась, то выдается сообщение об ошибке. Метки не должны повторяться. Блок меток может находиться в любом месте, их может быть несколько, но все метки должны быть определены до начала основной программы. При отсутствии меток блок исключается. Блок CONST описывает константы двух видов: CONST<имя1> = <константа1>; <имя2> = <константа2>; . . . или CONST <имяК>: <тип> = <константаK>; <имяR>: <тип> = <константаR>; . . . Например: CONST NI = 100; f = -NI; d: real = 7.65432; Блок TYPE содержит определения вводимых программистом нестандартных типов в следующих формах: TYPE <идентификатор> = (<список_компонентов>); или TYPE <идентификатор> = <описание_типа>; Пример: TYPE FAMILY = (FATHER, MOTHER); Когда в Паскале используются только стандартные типы (например: INTEGER, REAL), этот блок опускается. Блок VAR описывает имена переменных, а также имена массивов: VAR A1, A2, ..., An: <тип1>; B1, B2, ..., Bn: <типК>; ... <имя массива>: ARRAY[диапазон] OF <тип>;
где буквами Ai, Bj указаны имена переменных, а <тип1>, <типК> – типы соответствующих переменных, [диапазон] указывает начальное и конечное значения индексов массива, <тип> задает тип элементов массива. Пример: VAR A, B, C: INTEGER; {объявлены три переменные целого типа} D, M: REAL; {объявлены две вещественные переменные} MASS1: ARRAY[1..10] OF REAL; {массив из 10 чисел} MASS2: ARRAY[-2..2] OF CHAR; {массив из пяти символов} В качестве значений диапазона могут использоваться идентификаторы любого порядкового типа, если их значения определены выше в разделе CONST. ©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.
|