41. Цикл с параметром for…to…do
Цикл с заранее известным числом повторений может быть реализован на Pascal с помощью оператора цикла с параметром for… to… do. Формат оператора:
for <параметр цикла> :=<нач_знач> to <кон_знач> do <оператор>;
где
· for, to, do – служебные слова (для, до, выполнить);
· <параметр цикла> – параметр цикла, в качестве которого выступает переменная типа integer (byte);
· <нач_знач> – начальное значение параметра цикла: константа, переменная или выражение типа integer (byte);
· <кон_знач> – конечное значение параметра цикла: константа, переменная или выражение типа integer (byte);
· <оператор> – простой, составной или структурированный оператор (тело цикла).
Принцип действия оператора for…to…do:
1 Параметру цикла присваивается начальное значение, и операторы цикла выполняются в первый раз.
2 Параметр цикла увеличивается на единицу, т. е. <параметр_цикла> := <нач_знач> + 1. Тело цикла выполняется во второй раз.
3 При каждом увеличении параметра цикла на единицу, операторы тела цикла повторяются вновь.
4 В последний раз цикл выполняется при достижении параметром цикла конечного значения, т. е. <параметр_цикла> := <кон_знач>.
Таким образом, операторы тела цикла for…to…do выполнятся ровно <кон_знач> − <нач_знач> + 1 раз.
Если конечное значение параметра цикла меньше начального, то можно использовать иной формат оператора:
for <параметр цикла> :=<нач_знач> downto <кон_знач> do <оператор>;
В этом случае шаг изменения параметра цикла равен -1.
Примечание − В некоторых версиях среды Turbo или Free Pascal параметр цикла может быть использован в качестве операнда выражений и операторов, составляющих тело цикла, но не может быть изменен.
42. Описание массивов
При описании массива указывают его имя, размерность и диапазон изменения каждого индекса, тип входящих элементов.
В общем виде массив описывается так:
<имя массива> : array [диапазон индексов массива] of <тип элементов>
Можно описать массив-константу, тип данных массив или переменную-массив, например:
const mas_const=(2.3, 4, 6.4, −2, −3.7); {постоянный массив из пяти вещественных элементов}
var
A : array[1..10] of real; {одномерный массив-переменная из десяти вещественных элементов}
B : array[0..50,0..20] of char; {двумерный массив-переменная, размером 51´21, из символьных элементов}
C : array[-3..4] of boolean; {одномерный массив-переменная из восьми элементов логического типа}
type norm_mas=array[1..10,1..10] of integer; {описание типа данных пользователя – массив 10´10 из целых чисел}
var A1, A2 : norm_mas; {двумерные переменные-массивы типа norm_mas}
Над массивами целиком определена операция присваивания, например, выражение вида
A1:=A2
означает, что всем элементам массива A1 присвоены значения элементов A2. Все остальные операции осуществляются над элементами массивов. Обратиться в программе к конкретному элементу массива можно
<имя массива> [<номер элемента>]
Обращение к элементу одномерного массива A:
A[i] − i-тый элемент массива,
A[1] − первый элемент массива.
Обращение в программе к элементу двумерного массива B:
B[i, j] − элемент, стоящий на пересечении i-ой строки и j-ого столбца,
B[1, 5] − элемент, стоящий пятым в первой строке,
B[3, j] − элемент третьей строки.