Тема: «Циклы»
Цикл-это многократное повторение последовательности действий по некоторому условию. Различают виды циклов: Цикл с параметром; Цикл с предусловием;.
Цикл с параметром
Структура цикла («ДЛЯ») с параметром :=.. Тело цикла
Операторы цикла с параметром For i:=1 to n do ; Используется в том случае, если тело цикла содержит только одну команду. Пример: For i:=1 to 10 do s:=s+1;
Если тело цикла содержит несколько команд, то For i:=1 to n do begin ; End; параметр Значение 1Значение 2 to автоматически увеличивает значение параметра на 1
Если >, то For i:=n downto 1 do begin ; End; downto автоматически уменьшает значение параметра на 1 параметр Значение 2Значение 1
Задача: Найти сумму 5 произвольных чисел, введенных с клавиатуры. начало S:=0 i:=1.. 5 x S:=S+x S конец
Программа: Program summa_5; Uses crt; Var x, S: integer; Begin S:=0; For I:=1 to 5 do begin write(Введите число ); readln(x); S:=S+x; end; Writeln( S=,S); End. S xi Проверка условия <=1<=5 1<=5<=5 1<=2<=5 1<=3<=5 1<=4<=5 Посмотрим, как работает программа, для чего составим таблицу: S=16
Цикл с предусловием «Пока»
Цикл с предусловием используется в том случае, когда число шагов цикла точно не определено, выход из цикла осуществляется по какому-либо условию.
Структура цикла с предусловием Условие Тело цикла + -
Операторы цикла с предусловием Если тело цикла содержит только одно действие, то While do ; Пример: While (s>0) do s:=s-1;
Если тело цикла содержит несколько действий, то While do begin ; ……………. ; end;
Задача: Найти сумму цифр введенного целого числа Начало n S:=0 n>0 ost:=n mod 10 n:=n div 10 s:=s+ ost S Конец + -
Программа: Program number; Uses crt; Var n,ost,s:integer; Begin Clrscr; Write(Введите число ); Readln(n); S:=0; While (n>0) do begin ost:=n mod 10; s:=s+ ost; n:=n div 10; End; Writeln( S=,s); End. Посмотрим, как работает программа, для чего составим таблицу: n ost S Проверка условия > > > > >0 S=13 12
Задачи для самостоятельного решения 1. Начав тренировки, спортсмен в первый день пробежал 10 км. Каждый день он увеличивал дневную норму на 10% нормы предыдущего дня. Какой суммарный путь пробежит спортсмен за 7 дней. 2. Васе Уточкину в день рождения родители подарили 100 рубль, чтобы он с друзьями мог сходить в кафе. Сколько бутылок воды выпьет Вася с друзьями, если бутылка воды стоит 11 руб., а за каждую пустую бутылку бармен возвращает 1 руб 50 коп. ?
Блок-схема к решению 1 начало конец S:=10; Sd:=10 d:=1 d:=d+1 Sd:=Sd*1.1; S:=S+Sd D=7 начало
Решение задачи 1 Program beg; Uses crt; Var S,Sd: real; d:byte; Begin clrscr; S:=10; Sd:=10; For d:=2 to 7 do begin Sd:=1.1*Sd; S:=S+Sd; end; Writeln(S=,S); End. Program beg; Uses crt; Var S,Sd: real; d:byte; Begin clrscr; S:=10; Sd:=10; While d<7 do begin d:=d+1; Sd:=1.1*Sd; S:=S+Sd; end; Writeln(S=,S); End. Цикл «Для» Цикл «Пока»
Блок-схема к решению 2 начало конец S:=100 kol:=0 S>20 k:=S div 20 Kol:=kol + k S:=S mod 20 +k*12 kol + -
Выбор цикла зависит от особенностей условия задачи. Только практика подскажет Вам оптимальное решение.