Циклы в языке Pascal.
Разновидности циклов: Циклы Цикл ПОКА (While) Цикл ДО (Repeat) Цикл с параметром (For … to …)
Цикл пока (думающий) While do ; Нет оператор ? Да
Цикл пока (думающий) Как работает цикл: Сначала проверяется условие и если оно верно, то осуществляется переход к телу цикла. После выполнения операторов тела цикла возвращаемся для проверки условия. Так будет повторяться до тех пор пока условие не станет ложным, после чего цикл прекратит выполняться. Почему цикл называют думающий? Потому что прежде чем выполнить тело цикла он проверяет условие… Если тело цикла содержит 2 и больше операторов, то оно заключается в операторные скобки begin … end.
Цикл до (сначала делаю) Repeat Until ; оператор ? Да + Нет
Цикл до (сначала делаю) Как работает цикл: Сначала выполняется тело цикла, после чего осуществляется переход к проверке условия. Если условие ложно, то возвращаемся к выполнению тела цикла. Так будет повторяться до тех пор пока условие не станет верным, после чего цикл прекратит выполняться. Почему цикл называют сначала думаю? Потому что этот цикл всегда выполнит тело цикла хотя бы один раз. Т.к. тело цикла находится между служебными словами repeat … until, то операторные скобки не требуются.
Цикл с параметром Прямой пересчет For i:=N1 to N2 do N2>=N1 Обратный пересчет For i:=N2 down to N1 do ; N2>=N1
Цикл с параметром Как работает цикл: Сначала переменной i присваивается первоначальное значение N1, затем значение i сравнивается с конечным значением N2 и если i =N1. Если значение i станет меньше значения N1, то цикл прекратит работу. Если тело цикла содержит 2 и больше операторов, то оно заключается в операторные скобки begin … end.
Задача Гражданин 1 марта открыл счёт в банке, вложив 1000 рублей. Через каждый месяц размер вклада увеличивается на 2% от имеющейся суммы. Определить: Сумму вклада через один, два, …, двенадцать месяцев.
Описательная часть программы: Program vklad; Var i: integer; a: real;
Математическая модель решения: Первоначальный вклад а 0 = месяц: а 1 =а 0 +а 0 *0,02 2 месяц: а 2 =а 1 +а 1 *0, месяц: а 10 =а 9 +а 9 *0,02 Общий случай: a n =a n-1 +a n-1 *0,02
Алгоритм решения: начало Ввести значение первоначального вклада Выполнять тело цикла 12 раз а=а+а*0,02 Вывести результаты на экран конец - + счётчик Тело цикла
Программа: Цикл с параметром: Program vklad; Var i: integer; a: real; Begin Writeln ( введите значение первоначального вклада ); Readln (а); For i:=1 to 12 do begin a:= a+a*0,02; writeln (a); end; end.
Программа: Цикл до: Program vklad; Var i: integer; a: real; Begin Writeln ( введите значение первоначального вклада ); Readln (а); i:=1; repeat a:= a+a*0,02; writeln (a); i:=i+1; until i>12; end. Цикл пока: Program vklad; Var i: integer; a: real; Begin Writeln ( введите значение первоначального вклада ); Readln (а); i:=1; while i
Домашнее задание: Решите задачу используя цикл на ваше усмотрение. Одноклеточная амёба каждые 3 часа делится на 2 клетки. Определить, сколько будет клеток через 3, 6, 9, …, 24 часа.