Сформировать таблицу Пифагора для чисел натурального ряда.
Задание 3
Модифицировать программу_3_2 (или 6_3) таким образом, чтобы значения X, F1 и F2 были представлены двумерным массивом, состоящим из трех строк.
СТРУКТУРНОЕ ПРОГРАММИРОВАНИЕ
Структура сложной программы
Любая программная единица включает следующие разделы:
<Объявление программной единицы>
{Раздел описаний}
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.