Тема урока "Цикл с заданным числом повторений. Итерационный цикл"
Сегодня на уроке вы:
повторите оператор цикла с параметром, итерационные циклы, принципы их работы;
закрепите умения решать задачи с итерационными циклами.
Чем отличается итерационный цикл от цикла с заданным числом повторений?
Итерационные циклы отличаются от циклов с параметром тем, что в них заранее неизвестно число повторений.
Итерационные циклы: while, repeat-until.
В итерационных циклах на каждом шаге вычислений происходят последовательное приближение и проверка условия достижения искомого результата. Выход из итерационного цикла осуществляется в случае выполнения заданного условия.
Цикл с заданным числом повторений (цикл с параметром): for.
Начальное и конечное значения — целые числа, шаг изменения параметра равно 1 (to) или -1 (dowto). Количество итераций (повторений) = [конечная граница] — [начальная граница] + 1.
Пример 1.
Чиновник, ежемесячно берёт взятки в размере Х рублей. Величина Х непостоянная и колеблется от 0 до 150000 рублей. Автомобиль BMW 3, который хочет купить на взятки чиновник, стоит 1700000 рублей. Напишите программу, которая вычислит, сколько месяцев потребуется чиновнику на сбор нужной суммы.
Пусть x - размер взятки (вводим случайными числа от 0 до 150000), mes - число месяцев.
Организуем цикл с постусловием - repeat, который завершится при сумме взяток
равной или больше 1700000.
Организуем счётчик месяцев: mes:=mes+1;
Решение:
program Project1;
var x: longint; mes: integer;
begin
mes:= 0;
x:= 0;
Repeat
randomize;
x:= x + random(150001);
writeln(x);
mes:= mes + 1;
until x >= 1700000;
writeln('Meсяц = ', mes);
end.
Пример 2.
Найти сумму 1 + 1/3 + 1/5 +...+ 1/(2*N-1).
N - вводим количество слагаемых.
Выполняем цикл N раз, добавляя к сумме по одному слагаемому.
Program Project2;
Var i, N: integer; S: real;
begin
Readln(N);
S:=0;
For i:=1 to N do
S:=S+1/(2*i-1);
Writeln('S=', S);
end.
Выполни задания
Повтори § 22.
Выполненные задания присылать annamiseeva2@gmail.com или https://vk.com/anutkamiseeva
Выполни задания в своей тетради:
Задача 1
Вычислить у = 1/2 + 2х 3 при х = -5, -4.5, - 4, ... , 3.
Задача 2
а) Сколько раз исполнится фрагмент программы?
For i := 1 to -1 Do k:=k*i;
б) Сколько раз исполнится фрагмент программы?
For i := -1 to 1 Do k:=k*i;
в) Сколько раз исполнится фрагмент программы?
For i := 1 downto -1 Do k:=k*i;
г) Сколько раз исполнится фрагмент программы?
M := 123;
While M <> 0 Do
M := M Mod 10;