Просмотр содержимого документа
«Циклические алгоритмы»
Фронтальный опрос
- Составить алгоритм (блок-схему)
- Составить алгоритм (блок-схему)
Программирование циклов
цикл
=
повторяющееся действие
+
условие
Виды циклов
for := to do ;
( цикл с шагом +1)
for параметр:= downto do ;
( цикл с шагом -1)
- while do ;
- repeat until ;
Цикл с предусловием
Структура цикла
While do
begin
end;
нет
Условие
да
Тело цикла
Задача 1. Вычислить сумму чисел натурального ряда от 1 до N.
Program summa;
Var a, S , N: integer;
Begin
write (‘N=‘);
readln (N);
a:=1; S:=0;
While a
begin
S:=S+a;
a:=a+1;
end;
Writeln(‘Сумма ’,N,’ чисел равна ’,S);
end.
начало
N
S:= 0
a:= 1
a
нет
да
S:=S+a
a:=a+1
S
конец
8
Цикл с постусловием
Структура цикла
Repeat
Until
Тело цикла
нет
Условие
да
Repeat ( повторять тело цикла)
Until ( до условия)
N; Writeln(‘Сумма равна’,S); end. начало N S:= 0 a:= 1 S:=S+а a:=a+1 aN нет да S конец " width="640"
Задача. Вычислить сумму натурального ряда чисел от 1 до N
Program summa;
Var a, S , N: integer;
Begin
write (‘N=‘);
readln (N);
a:=1; S:=0;
Repeat
S:=S+a;
a:=a+1
Until aN;
Writeln(‘Сумма равна’,S);
end.
начало
N
S:= 0
a:= 1
S:=S+а
a:=a+1
aN
нет
да
S
конец
Цикл «c параметром»
Параметр ( i )– это простая переменная задающая количество повторов от начального(a) до конечного(b) ,
Структура цикла
For i:= a to b do
begin
end;
нет
i:= а to b
да
Тело цикла
i:=1 to N
Задача. Вычислить сумму натурального ряда чисел от 1 до N
начало
Program summa;
Var i, S , N: integer;
Begin
write (‘N=‘);
readln (N);
S:=0;
for i:=1 to N do
S:= S + i;
Writeln(‘Сумма равна’,S);
end.
N
S:= 0
нет
i:= 1 to N
да
S:= S + i
S
конец
- Правило 1. Цикл ” for ” применяется в том случае, если надо выполнять одну и ту же последовательность команд, в которых есть изменяющийся на единицу параметр.
- Правило 2. Циклы ” while ” и ” repeat ” применяются для записи любой задачи, в которой есть повторяющиеся действия.
i кон ; " width="640"
Правило 3. Запись команды повторения, в которой параметр увеличивается на единицу:
- for i : = iнач to iкон do команда ;
- for i : = iнач to iкон do begin команды end ;
- i := iнач ; while ibegin команды; i := i + 1; end ;
- i := iнач; repeat команды; i := i + 1; until ii кон ;
= iкон do begin команды; i := i - 1; end ; i := iнач; repeat команды; i := i - 1; until i" width="640"
Правило 4. Запись команды повторения, в которой параметр уменьшается на единицу:
- for i : = iнач downto iкон do команда ;
- for i : = iнач downto iкон do begin команды end ;
- i := iнач ; while i= iкон do begin команды; i := i - 1; end ;
- i := iнач; repeat команды; i := i - 1; until i
Правило 5.
Если тело цикла в цикле for или в цикле while состоит из нескольких команд (больше одной), то тело цикла должно быть обозначено begin – end .
Задача
- Даны равносторонние треугольники. Значение сторон меняются от 10 до 24 с шагом 1. Вывести периметры всех треугольников.
Цикл FOR
for i:=10 to 24 do
Begin
P:=i*3;
writeln(‘i= ‘,i,’P= ‘,P);
end;
end.
Цикл WHILE
i:=10;
while i
begin
P:=i*3;
writeln(‘i= ‘,i,’P= ‘,P);
i:=i+1;
end;
end.
Цикл Repeat
var i,P: integer;
begin
i:=10;
repeat
P:=i*3;
writeln(‘i= ‘,i,’P= ‘,P);
i:=i+1;
until i=25;
end.
Домашнее задание
- Учить определения
- Составить задачи на циклы (условие с решением - 5 задач)