Циклический алгоритм ПОКА / ДО. © МОУ СОШ 13
2 Цикл с предусловием (Пока) Используется когда число повторов заранее неизвестно, но известно условие выхода из цикла. Конструкция цикла Пока записывается так: ПОКА условие ВЫПОЛНЯТЬ тело цикла Выполнение цикла Пока начинается с проверки условия его окончания. Такую разновидность цикла называют еще циклом с предусловием.
3 Кодирование в Паскале: При входе в цикл, проверяется условие. Если оно истинно, выполняются операторы, заключенные между begin и end. Как только условие становится ложным, выполнение while заканчивается. Чтобы while выполнился хотя бы один раз, необходимо, чтобы условие было истинным. А чтобы мы не получили бесконечный цикл, параметры условия должны менять свое значение внутри begin и end. while условие do begin последовательность операторов end;
4 ЗАДАЧА 1: Через сколько лет вклад в банке увеличится в 3 раза при непрерывных процентах. L – года S – первоначальная сумма P - проценты
5 Программа: Программа: Program VKLAD; var L,P: integer; S3, S: real; begin L:=0; write('проценты и первоначальная сумма '); readln (p,s); S3:=3*S; while S<S3 do begin S:=S+S*P/100; L:=L+1; end; writeln('сумма = ',S:8:2,' годы = ',L) ; readln end.
6 Задача 2: Сберкасса начисляет Р% годовых. Какой станет любая сумма денег через N лет ? алг сберкасса -2 арг S, N. P, I рез нач ввод S, P, N для I от 1 до N S = S + S*P/100 кц вывод S нач ввод S, P, N для I от 1 до N S = S + S*P/100 кц вывод S кон кон алг сберкасса -1 арг S, N. P, I рез нач I = 0 ввод S, P, N пока I < N S = S + S*P/100 I = I + 1 кц вывод S нач I = 0 ввод S, P, N пока I < N S = S + S*P/100 I = I + 1 кц вывод S кон кон !!! Составить программы самостоятельно.
7 Население города увеличивается на 3% ежегодно. Через сколько лет население города удвоится ? Задача 3: Население города увеличивается на 3% ежегодно. Через сколько лет население города удвоится ? алг население арг P, N, N2 (P – проценты) рез L нач ввод P, N N2 = 2*N пока N < N2 N = N + N*P/100 L = L + 1 кц вывод L кон !!! Составить программу самостоятельно. Примеры программ
8 Разновидностью цикла с заранее неизвестным числом повторений является цикл До. Его конструкция записывается : ВЫПОЛНЯТЬ тело цикла ДО условие Выполнение цикла До начинается с осуществления тела цикла. Тело цикла обязательно будет реализовано хотя бы один раз. После этого проверяется условие, такую разновидность цикла называют циклом с постусловием. Цикл с постусловием (До)
9 Кодирование в Паскале: Выполняются операторы, следующие за служебным словом REPEAT. После этого проверяется условие. Если условие ложно, то происходит возврат к выполнению операторов, следующих за служебным словом REPEAT и снова проверяется условие. Если условие истинно, то выполнение тела цикла прекращается. В цикле REPEAT тело цикла выполняется по крайней мере один раз. REPEAT ; ;... ; UNTIL ;
10 Задача 4 : С помощью оператора repeat напишите программу, которая требует у вас пароль, например 111, и если пароль правильный, то печатает сообщение "Молодец!" Примеры программ
Пример задачи III. С использованием цикла "С параметром". Program Ex3; Var A : Integer; S : Longint; Begin S:=0; For A:=1 To 100 Do S:=S+A*A; Writeln(S) End. Найти сумму квадратов всех натуральных чисел от 1 до 100. Решим задачу с использованием всех трех видов циклов. I. С использованием цикла "Пока". Program Ex1; Var A : Integer; S : Longint; Begin A:=1; S:=0; While A<=100 Do Begin S:=S+A*A; A:=A+1 End; Writeln(S) End. II. С использованием цикла "До". Program Ex2; Var A : Integer; S : Longint; Begin A:=1; S:=0; Repeat S:=S+A*A; A:=A+1 Until A>100; Writeln(S) End. ТЕСТ