Слайд 2Типы циклов
цикл с предусловием
цикл с постусловием
цикл с параметром
![Типы циклов цикл с предусловием цикл с постусловием цикл с параметром](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/473439/slide-1.jpg)
Слайд 3Основные понятия
Тело цикла –
повторяющиеся действия
Итерация –
один проход цикла
Начальные установки –
![Основные понятия Тело цикла – повторяющиеся действия Итерация – один проход цикла](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/473439/slide-2.jpg)
определение значений переменных, которые используются в циклах с предусловием и с постусловием
Слайд 4Цикл с предусловием
while <условие> do <тело цикла>;
Условие – простое или составное логическое
![Цикл с предусловием while do ; Условие – простое или составное логическое выражение Формат:](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/473439/slide-3.jpg)
Слайд 5Примеры
a : = 3; while a < 4 do a: = sqr(a);
a
![Примеры a : = 3; while a a : = 10; while](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/473439/slide-4.jpg)
: = 10; while true do a : = a*10;
a : = 10; while false do a : = a*10;
Слайд 6Задача
Преобразовать значение угла в градусах к стандартному диапазону ±1800 путем исключения полных
![Задача Преобразовать значение угла в градусах к стандартному диапазону ±1800 путем исключения полных оборотов окружности (±3600).](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/473439/slide-5.jpg)
оборотов окружности (±3600).
Слайд 7Решение
var a : integer;
begin
readln(a);
while abs(a) > 180 do
if a >
![Решение var a : integer; begin readln(a); while abs(a) > 180 do](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/473439/slide-6.jpg)
0 then dec(a,360)
else inc(a,360);
writeln(a);
end.
Слайд 8Для n>=0, не применяя формулы, вычислить сумму чисел от 1 до n
i:=0;
S:=0;
Readln(n);
While
xBegin
i:=i+1;
s:=s+i;
End;
do
![Для n>=0, не применяя формулы, вычислить сумму чисел от 1 до n](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/473439/slide-7.jpg)
Слайд 9C клавиатуры вводятся натуральные числа. Последовательность этих чисел заканчивается нулем. Найти их
![C клавиатуры вводятся натуральные числа. Последовательность этих чисел заканчивается нулем. Найти их](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/473439/slide-8.jpg)
сумму.
Readln(a);
S:=0;
While
a<>0
do
Begin
S:=s+a;
End;
Слайд 10Цикл с постусловием
repeat
<тело цикла>
Until <условие>;
Формат:
![Цикл с постусловием repeat Until ; Формат:](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/473439/slide-9.jpg)
Слайд 11Примеры
x : = 4;
repeat writeln (x);
until true;
x : = 4;
![Примеры x : = 4; repeat writeln (x); until true; x :](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/473439/slide-10.jpg)
repeat writeln (x);
until false;
Слайд 12Задача
Найти методом подбора целочисленное решение Диофантова уравнения 5х-3у=1.
![Задача Найти методом подбора целочисленное решение Диофантова уравнения 5х-3у=1.](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/473439/slide-11.jpg)
Слайд 13Решение
var x, y : integer;
begin
x : = 1; y : = 1;
repeat
if
![Решение var x, y : integer; begin x : = 1; y](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/473439/slide-12.jpg)
5*x – 3*y >1 then inc(y)
else inc(x);
until 5*x – 3*y =1;
writeln (x:5, y:5);
end.
Слайд 14
Цикл с параметром
Этот оператор применяется, если требуется выполнить тело цикла заранее заданное
![Цикл с параметром Этот оператор применяется, если требуется выполнить тело цикла заранее](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/473439/slide-13.jpg)
количество раз.
Параметр - переменная порядкового типа - на каждой итерации увеличивается или уменьшается на одно значение.
Слайд 15Формат оператора
for <параметр> : = <выражение 1>
to <выражение 2>
![Формат оператора for : = to do ; S:=0; for i:=1 to 20 do s:=s+i;](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/473439/slide-14.jpg)
do
<тело цикла>;
S:=0;
for i:=1 to 20 do
s:=s+i;
Слайд 18Формат оператора
for <параметр> : = <выражение 1> downto <выражение 2> do
![Формат оператора for : = downto do ; S:=0; for i:=20 downto 1 do s:=s+i;](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/473439/slide-17.jpg)
<тело цикла>;
S:=0;
for i:=20 downto 1 do
s:=s+i;
Слайд 20Задача
Найти нечетные и кратные 3 числа в диапазоне от 30 до 60.
![Задача Найти нечетные и кратные 3 числа в диапазоне от 30 до](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/473439/slide-19.jpg)
Распечатать их в порядке убывания.
Слайд 21Решение
var i : byte;
begin
for i := 60 downto 30 do
if ( i
![Решение var i : byte; begin for i := 60 downto 30](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/473439/slide-20.jpg)
mod 3 =0) and ( odd i )
then writeln ( i );
end.
Слайд 22
Замечания
Если тело цикла содержит несколько действий, то эти действия заключаются в операторные
![Замечания Если тело цикла содержит несколько действий, то эти действия заключаются в](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/473439/slide-21.jpg)
скобки begin … end.
В теле цикла запрещается явное преобразование счетчика.
После нормального завершения цикла значение счетчика не определено.
Слайд 23
Замечания
Для аварийного выхода из циклов или внеочередного перехода к следующей итерации существуют
![Замечания Для аварийного выхода из циклов или внеочередного перехода к следующей итерации](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/473439/slide-22.jpg)
две процедуры модуля SYSTEM:
BREAK - прекращает выполнение тела цикла и переходит к оператору, следующему за циклом;
CONTINUE – передает управление на условие продолжения или завершения тела цикла, так что начинается следующая итерация.