Слайд 2
![Цель: освоить программирование циклов с постусловием](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/181209/slide-1.jpg)
Цель:
освоить программирование циклов с постусловием
Слайд 3
![Проверочная работа «Цикл с предусловием»](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/181209/slide-2.jpg)
Проверочная работа «Цикл с предусловием»
Слайд 4
![1. Запишите конструкцию цикла с предусловием. В каких случаях применяется цикл с предусловием?](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/181209/slide-3.jpg)
1. Запишите конструкцию цикла с предусловием.
В каких случаях применяется цикл
с предусловием?
Слайд 5
![2. Запишите правильную структуру последовательности операторов. а:=2; b:=l; while a+b](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/181209/slide-4.jpg)
2. Запишите правильную структуру последовательности операторов.
а:=2; b:=l; while a+b<8 do begin
a:=a+l; b:=b+l end; s:=a+b.
Сколько раз будет повторен цикл и какими будут значения переменных a, b, s после его завершения?
Слайд 6
![3. Запишите правильную структуру последовательности операторов. Какими будут значения переменных](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/181209/slide-5.jpg)
3. Запишите правильную структуру последовательности операторов. Какими будут значения переменных а
и b после выполнения операторов?
а:=1; b:=l; while а<=8 do а:=а+1; b:=b+l.
Слайд 7
![4. Дана последовательность операторов, вычисляющих факториал f числа я, которая](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/181209/slide-6.jpg)
4. Дана последовательность операторов, вычисляющих факториал f числа я, которая содержит
пять ошибок. Найдите эти ошибки, предварительно записав операторы в правильном виде.
k:=l;f:=0;
while kk:=k+l,
Примечание. Факториалом натурального числа называется произведение всех натуральных чисел от 1 до этого числа, т. е. n!=1*2*3*...*(n—2)*(n—1)*n.
Слайд 8
![5. Найдите и исправьте ошибки в следующем фрагменте программы, определяющей](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/181209/slide-7.jpg)
5. Найдите и исправьте ошибки в следующем фрагменте программы, определяющей для
заданного натурального числа n число, записанное цифрами числа n в обратном порядке.
р:=n;
while р>=0 do begin
а:=а+р mod 10;
р:=р div 10
end;
Слайд 9
![Ответы: while do begin группа операторов end; Когда до выполнения цикла количество повторов неизвестно.](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/181209/slide-8.jpg)
Ответы:
while <логическое выражение> do begin группа операторов end;
Когда до выполнения
цикла количество повторов неизвестно.
Слайд 10
![2. а:=2; b:=1; while a+b begin a:=a+l; b:=b+l end; s:=a+b.](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/181209/slide-9.jpg)
2.
а:=2;
b:=1;
while a+b<8 do
begin
a:=a+l;
b:=b+l
end;
s:=a+b.
2 раза;
a =
5, b = 3, s = 8.
Слайд 11
![3. a:=2; b:=3; while a а:=а+1; b:=b+l; а = 8,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/181209/slide-10.jpg)
3. a:=2; b:=3;
while a<=7 do
а:=а+1;
b:=b+l;
а = 8, b =
4.
4. k:=1; f:=l;
while k<=n do f=f*k;
k:=k+l;
end;
Слайд 12
![5. read(n); p:=n; a:=0; while p>=0 do begin a:=a*10+p mod 10; p:=p div 10 end;](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/181209/slide-11.jpg)
5. read(n);
p:=n; a:=0;
while p>=0 do
begin
a:=a*10+p mod 10;
p:=p div 10
end;
Слайд 13
![Вы уже умеете организовать цикл при помощи оператора while. Напомним,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/181209/slide-12.jpg)
Вы уже умеете организовать цикл при помощи оператора while.
Напомним, что
при выполнении этого оператора компьютер вычисляет значение условия.
Слайд 14
![Если условие истинно, то исполнительная часть оператора while будет выполняться](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/181209/slide-13.jpg)
Если условие истинно, то исполнительная часть оператора while будет выполняться до
тех пор, пока это условие не примет значение false.
Если значение условия есть false в самом начале, то исполнительная часть оператора while вообще не будет выполняться.
Слайд 15
![Иногда при решении задач возникает необходимость выполнить тело цикла хотя](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/181209/slide-14.jpg)
Иногда при решении задач возникает необходимость выполнить тело цикла хотя бы
один раз, а потом исследовать условие, повторять ли его еще раз. Эту задачу выполнит другой вид цикла Repeat.
Слайд 16
![repeat повторяй операторы until ; до тех пор, пока условие](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/181209/slide-15.jpg)
repeat повторяй операторы
until <условие>; до тех пор, пока условие не будет
верным
Есть небольшое отличие в организации цикла repeat по сравнению с while: для выполнения в цикле repeat нескольких операторов не следует помещать эти операторы в операторные скобки begin... end. Зарезервированные слова repeat и until действуют как операторные скобки.
Слайд 17
![Конструкция repeat... until работает аналогично циклу while. Различие заключается в](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/181209/slide-16.jpg)
Конструкция repeat... until работает аналогично циклу while. Различие заключается в том,
что цикл while проверяет условие до выполнения действий, в то время как repeat проверяет условие после выполнения действий, это гарантирует хотя бы одно выполнение действий до завершения цикла.
Слайд 18
![Например: repeat read (Number); Sum:=Sum+Number; until Number=- 1 repeat i:= i+1; writeln (Sqr(i)) until Number=-1](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/181209/slide-17.jpg)
Например:
repeat
read (Number);
Sum:=Sum+Number;
until Number=- 1
repeat
i:= i+1;
writeln (Sqr(i))
until
Number=-1
Слайд 19
![Практическая работа](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/181209/slide-18.jpg)
Слайд 20
![Задание 1. Определите, является ли данное число простым. Примечание. Простым](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/181209/slide-19.jpg)
Задание 1.
Определите, является ли данное число простым. Примечание. Простым называется
число, которое не имеет делителей, кроме 1 и самого себя.
Слайд 21
![Решение: Var i, Number : integer; {возможный делитель и исследуемое](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/181209/slide-20.jpg)
Решение:
Var i, Number : integer; {возможный делитель и исследуемое число}
Begin
writeln
('Какое число должно быть проверено?');
read (Number);
i:=l;
repeat
i:=i+l;
until Number mod i=0;
if Number=i then writeln(Number,'является простым')
else writeln(Number,'делится на',i);
End.
Слайд 22
![Задание 2. Выведите на экран строку из звездочек Решение: Var](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/181209/slide-21.jpg)
Задание 2. Выведите на экран строку из звездочек
Решение:
Var i, n: integer;
begin
write('Количество
знаков:'); readln(n);
i:=l;
repeat
write(' (*)');
i:=i+l
until i>n;
end.
Слайд 23
![Задание 3. Выведите квадраты натуральных чисел, не превосходящих 50. Решение:](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/181209/slide-22.jpg)
Задание 3. Выведите квадраты натуральных чисел, не превосходящих 50.
Решение:
var х,
n: integer;
begin
write('Enter n:'); readln(n);
x:=l;
repeat
у:=х*х;
if yx:=x+1;
until y>n;
end.
Слайд 24
![Задание 4. Найдите НОД двух чисел Решение: Var х, у:](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/181209/slide-23.jpg)
Задание 4. Найдите НОД двух чисел
Решение:
Var х, у: integer;
Begin
Writeln ('Введите два
числа'); readln(x, у);
Repeat
If х>у then х:=х mod у else у:=у mod х;
Until (х=0) Or (у=0);
Writeln ('НОД=',х+у));
End.
Слайд 25
![Вывод Как программируется цикл с постусловием на языке Паскаль? Для каких целей лучше его использовать?](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/181209/slide-24.jpg)
Вывод
Как программируется цикл с постусловием на языке Паскаль?
Для каких целей
лучше его использовать?
Слайд 26
![Домашнее задание Составить программу нахождения НОД трех чисел. НОД(а,b,с)=НОД(НОД(а,b,с). Составить](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/181209/slide-25.jpg)
Домашнее задание
Составить программу нахождения НОД трех чисел. НОД(а,b,с)=НОД(НОД(а,b,с).
Составить программу нахождения НОК
двух чисел, используя формулу А х B = НОД (A, В) х НОД (A, В).
Слайд 27
![program dz1; Var А, В, С, nod: integer; Begin Readln(A,B,C);](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/181209/slide-26.jpg)
program dz1;
Var А, В, С, nod: integer;
Begin
Readln(A,B,C);
Repeat
If A>B then
A:=A mod B else B:=B mod A;
Until (A=0) or (B=0);
Writeln('HOД=’ ,A+B);
nod:=A+B;
Repeat
If nod>C then nod:=nod mod С else C:=C mod nod;
Until (nod=0) or (C=0);
Writeln ('НОД=’,nod+C);
End.