Общий вид цикла с предусловием:
а) для простого случая
![]() |
б) для сложного случая While< логическое выражение > do begin < оператор1 >; < оператор2 >; … < операторN >; End; |
На каждом повторе логическое выражение вычисляется, и если оно истинно (его значение равно true), то выполняется тело цикла. Когда логическое выражение примет значение false выполнение цикла закончится.
Если логическое выражение с самого начала принимает значение false, то тело цикла не выполняется.
Если логическое выражение всегда оказывается истинным, то может произойти зацикливание:
Пример
N:=0; S:=0;
While n<100 do
Begin
n:=n+2;
s:=s+1/n;
end;
Цикл с постусловием (Repeat Until)
Часть программы, заключенная между ключевыми словами Repeat…Until, повторяется до тех пор, пока не станет истинным логическое выражение (условие), стоящее после слова Until В отличие от оператора While вычисление логического выражения происходит не до, а после очередного повторения тела цикла. Из-за этого цикл Repeat обязательно выполнится хотя бы один раз | ![]() |
Общий вид цикла с постусловием:
а) для простого случая Repeat < Оператор > Until < лог.выражение >; | б) для сложного случая Repeat < оператор1 >; < оператор2 >; … < операторN >; Until < лог.выражение >; Здесь не используются операторные скобки Begin End |
Пример
Repeat
K:= I mod J;
I:= J;
J:= K;
until J = 0;
Массивы
Понятие массива
Массив – набор данных одинакового типа.
Например:
а) массив значений температуры за пять дней: 3, 8, 5, 0, -1;
б) массив оценок по алгебре за семестр: 7, 8, 6, 8, 8, 9, 7.
Массив представляет собой набор элементов одного типа, каждый из которых имеет свой номер, называемый индексом.
array [ индексНач.. индексКон ] of < тип >;
Массив имеет имя, которое будет общим для всех его элементов. Различаются элементы массива по номерам, которые записываются в квадратных скобках после имени массива.
Одномерный массив наглядно можно представить следующим образом:
Массив M | Значения | |||||
Номера (индексы) | ||||||
M[1] | M[2] | M[3] | M[4] | M[5] | Элементы |
Если индексов несколько, то массив называется многомерным.
Двумерный массив:
array [ 1индНач..1индКон, 2индНач..2индКон ] of < тип >;
Двумерный массив наглядно можно представить следующим образом:
Массив M 4x3 | M[11] | M[12] | M[13] |
M[21] | M[22] | M[23] | |
M[31] | M[32] | M[33] | |
M[41] | M[42] | M[43] | |
Индекс (номер элемента) обязательно представляет собой интервальный тип и обязательно должен задаваться в виде a..b, где a и b - константы целого, символьного или перечислимого типа.
В PascalABC определение массива проводится в разделе описания переменных Var следующим образом:
Var
< Имя массива >: array [ ИндНач.. ИндКон ] of < тип >;
Var
m1,m2: array [1..10] of integer;
Пример:
Var
mas:array[2..5] of byte; - объявлен массив mas состоящий из 4 элементов mas[2], mas[3], mas[4], mas[5] типа byte
Обращения в теле программы к элементу массива:
< имя массива >[ индекс (номер) элемента ]
mas[3] – Элемент с индексом 3
Например:
Writeln(m1[4]); mas[2]:=107; | Вывод на экран значения элемента с индексом 4 массива m1 Элементу массива с индексом 2 присвоить значение 107 |
При обработке целочисленных массивов в качестве индексов принято использовать переменные i, j, k целого типа
Var
i, j,k: integer;