Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2575.pdf
Скачиваний:
2
Добавлен:
15.11.2022
Размер:
1.86 Mб
Скачать

Write(' Максимальное m=',m);

End.

2. Ввести число от 1 до 100, если введенное число попадет в диапазон [1..10] определить его четность.

Program Chisla; Var

I: integer;

Begin

Write('Введите число');

Readln( i );

Case i of

2, 4, 6, 8: Writeln(‘Четная цифра’)

1, 3, 5, 7, 9: Writeln(‘Нечетная цифра’)

10..100: Writeln(‘Число от 10 до 100’)

else

Writeln (‘Отрицательное число или больше 100’) end;

end.

Операторы повтора

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

Имеется два вида циклических алгоритмов: цикл с предусловием (цикл ПОКА) и цикл с постусловием (цикл ДО). Оператор цикла REPEAT организует выполнение цикла, состоящего из любого числа операторов, с неизвестным заранее числом повторений. Тело цикла выполняется хотя бы

72

один раз. Выход из цикла осуществляется при истинности некоторого логического выражения. Структура оператора:

repeat <тело цикла> until<условие>;

Оператор цикла WHILE организует выполнение одного оператора неизвестное заранее число раз. Выход из цикла осуществляется, если некоторое логическое выражение окажется ложным. Так как истинность логического выражения проверяется в начале каждого повтора, тело цикла может не выполняться ни разу. Структура оператора цикла имеет вид:

while <условие> do <тело цикла>;

Блок-схемы циклических конструкций могут быть изображены следующим образом:

 

Тело

P

ложь

 

истина

ложь

P

 

Тело

 

 

истина

Оператор цикла FOR организует выполнение одного оператора заранее известное число раз. Существует два варианта оператора.

for <переменная>:=<нач. значение> to <кон. значение> do<оператор>;

for <переменная>:=<нач. значение> downto <кон. значение> do <оператор>;

73

Изменение

Действия

Выполнение очередного повтора включает в себя сначала выполнение оператора, а затем присваивание переменной цикла следующего большего значения (в первом случае) или следующего меньшего (во втором варианте). Особенностью арифметического цикла является то, что число повторений операторов цикла должно быть известно заранее.

Примеры решений задач

1.Вычислить N! (факториал).

Program Faktorial;

Var n, i, f: integer;

Begin f:=1;

Write('Введите n=');

Readln(n);

For i:=2 to n do f:=f*i;

Writeln(n,'!=',f);

End.

2.Найти сумму цифр в записи данного натурального числа;

Program SUM;

Var a,b,s,k:Integer;

Begin

74

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]