Проверочная работа «Цикл с предусловием»
DESCRIPTION
Проверочная работа «Цикл с предусловием». 1. Запишите конструкцию цикла с предусловием. В каких случаях применяется цикл с предусловием?. 2. Запишите правильную структуру последовательности операторов. а:=2; b:=l; while a+bTRANSCRIPT
![Page 1: Проверочная работа «Цикл с предусловием»](https://reader036.vdocuments.site/reader036/viewer/2022081421/56813584550346895d9ce30e/html5/thumbnails/1.jpg)
Проверочная работа «Цикл с предусловием»
![Page 2: Проверочная работа «Цикл с предусловием»](https://reader036.vdocuments.site/reader036/viewer/2022081421/56813584550346895d9ce30e/html5/thumbnails/2.jpg)
1. Запишите конструкцию цикла
с предусловием. В каких случаях
применяется цикл с предусловием?
![Page 3: Проверочная работа «Цикл с предусловием»](https://reader036.vdocuments.site/reader036/viewer/2022081421/56813584550346895d9ce30e/html5/thumbnails/3.jpg)
2. Запишите правильную структуру последовательности операторов.
а:=2; b:=l; while a+b<8 do begin a:=a+l; b:=b+l end; s:=a+b.
Сколько раз будет повторен цикл и какими будут значения переменных a, b, s после его завершения?
![Page 4: Проверочная работа «Цикл с предусловием»](https://reader036.vdocuments.site/reader036/viewer/2022081421/56813584550346895d9ce30e/html5/thumbnails/4.jpg)
3. Запишите правильную структуру последовательности операторов. Какими будут значения переменных а и b после выполнения операторов?
а:=1; b:=l; while а<=8 do а:=а+1; b:=b+l.
![Page 5: Проверочная работа «Цикл с предусловием»](https://reader036.vdocuments.site/reader036/viewer/2022081421/56813584550346895d9ce30e/html5/thumbnails/5.jpg)
4. Дана последовательность операторов, вычисляющих факториал f числа я, которая содержит пять ошибок. Найдите эти ошибки, предварительно записав операторы в правильном виде.
k:=l;f:=0; while k<n do f=f*kk:=k+l,Примечание. Факториалом натурального
числа называется произведение всех натуральных чисел от 1 до этого числа, т. е. n!=1*2*3*...*(n—2)*(n—1)*n.
![Page 6: Проверочная работа «Цикл с предусловием»](https://reader036.vdocuments.site/reader036/viewer/2022081421/56813584550346895d9ce30e/html5/thumbnails/6.jpg)
5. Найдите и исправьте ошибки в следующем фрагменте программы, определяющей для заданного натурального числа n число, записанное цифрами числа n в обратном порядке.
р:=n;while р>=0 do beginа:=а+р mod 10; р:=р div 10 end;
![Page 7: Проверочная работа «Цикл с предусловием»](https://reader036.vdocuments.site/reader036/viewer/2022081421/56813584550346895d9ce30e/html5/thumbnails/7.jpg)
Ответы:
while <логическое выражение> do begin группа операторов end;
Когда до выполнения цикла количество повторов неиз вестно.
![Page 8: Проверочная работа «Цикл с предусловием»](https://reader036.vdocuments.site/reader036/viewer/2022081421/56813584550346895d9ce30e/html5/thumbnails/8.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.
![Page 9: Проверочная работа «Цикл с предусловием»](https://reader036.vdocuments.site/reader036/viewer/2022081421/56813584550346895d9ce30e/html5/thumbnails/9.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;
![Page 10: Проверочная работа «Цикл с предусловием»](https://reader036.vdocuments.site/reader036/viewer/2022081421/56813584550346895d9ce30e/html5/thumbnails/10.jpg)
5. read(n);p:=n; a:=0;while p>=0 do begina:=a*10+p mod 10; p:=p div 10 end;
![Page 11: Проверочная работа «Цикл с предусловием»](https://reader036.vdocuments.site/reader036/viewer/2022081421/56813584550346895d9ce30e/html5/thumbnails/11.jpg)
Вы уже умеете организовать цикл при помощи оператора while.
Напомним, что при выполнении этого оператора компьютер вычисляет значение условия.
![Page 12: Проверочная работа «Цикл с предусловием»](https://reader036.vdocuments.site/reader036/viewer/2022081421/56813584550346895d9ce30e/html5/thumbnails/12.jpg)
Если условие истинно, то исполнительная часть оператора while будет выполняться до тех пор, пока это условие не примет значение false.
Если значение условия есть false в самом начале, то исполнительная часть оператора while вообще не будет выполняться.
![Page 13: Проверочная работа «Цикл с предусловием»](https://reader036.vdocuments.site/reader036/viewer/2022081421/56813584550346895d9ce30e/html5/thumbnails/13.jpg)
Иногда при решении задач возникает необходимость выполнить тело цикла хотя бы один раз, а потом исследовать условие, повторять ли его еще раз. Эту задачу выполнит другой вид цикла Repeat.
![Page 14: Проверочная работа «Цикл с предусловием»](https://reader036.vdocuments.site/reader036/viewer/2022081421/56813584550346895d9ce30e/html5/thumbnails/14.jpg)
repeat повторяй операторы until <условие>; до тех пор, пока
условие не будет верным Есть небольшое отличие в
организации цикла repeat по сравнению с while: для выполнения в цикле repeat нескольких операторов не следует помещать эти операторы в операторные скобки begin... end. Зарезервированные слова repeat и until действуют как операторные скобки.
![Page 15: Проверочная работа «Цикл с предусловием»](https://reader036.vdocuments.site/reader036/viewer/2022081421/56813584550346895d9ce30e/html5/thumbnails/15.jpg)
Конструкция repeat... until работает аналогично циклу while. Различие заключается в том, что цикл while проверяет условие до выполнения действий, в то время как repeat проверяет условие после выполнения действий, это гарантирует хотя бы одно выполнение действий до завершения цикла.
![Page 16: Проверочная работа «Цикл с предусловием»](https://reader036.vdocuments.site/reader036/viewer/2022081421/56813584550346895d9ce30e/html5/thumbnails/16.jpg)
Например:
repeat read (Number);Sum:=Sum+Number; until Number=- 1 repeati:= i+1; writeln (Sqr(i)) until Number=-1
![Page 17: Проверочная работа «Цикл с предусловием»](https://reader036.vdocuments.site/reader036/viewer/2022081421/56813584550346895d9ce30e/html5/thumbnails/17.jpg)
Практическая работа
![Page 18: Проверочная работа «Цикл с предусловием»](https://reader036.vdocuments.site/reader036/viewer/2022081421/56813584550346895d9ce30e/html5/thumbnails/18.jpg)
Задание 1.
Определите, является ли данное число
простым. Примечание.
Простым называется число, которое не имеет делителей, кроме 1 и самого
себя.
![Page 19: Проверочная работа «Цикл с предусловием»](https://reader036.vdocuments.site/reader036/viewer/2022081421/56813584550346895d9ce30e/html5/thumbnails/19.jpg)
Решение:Var i, Number : integer; {возможный делитель и
исследуемое число} Beginwriteln ('Какое число должно быть
проверено?'); read (Number); i:=l; repeati:=i+l;until Number mod i=0;if Number=i then writeln(Number,'является
простым')else writeln(Number,'делится на',i);End.
![Page 20: Проверочная работа «Цикл с предусловием»](https://reader036.vdocuments.site/reader036/viewer/2022081421/56813584550346895d9ce30e/html5/thumbnails/20.jpg)
Задание 2. Выведите на экран строку из звездочекРешение:Var i, n: integer;beginwrite('Количество знаков:'); readln(n);i:=l; repeatwrite(' (*)'); i:=i+l until i>n;end.
![Page 21: Проверочная работа «Цикл с предусловием»](https://reader036.vdocuments.site/reader036/viewer/2022081421/56813584550346895d9ce30e/html5/thumbnails/21.jpg)
Задание 3. Выведите квадраты натуральных чисел, не превосходящих 50.
Решение: var х, n: integer; beginwrite('Enter n:'); readln(n);x:=l;repeatу:=х*х;if y<n then write(y,' ');x:=x+1;until y>n;end.
![Page 22: Проверочная работа «Цикл с предусловием»](https://reader036.vdocuments.site/reader036/viewer/2022081421/56813584550346895d9ce30e/html5/thumbnails/22.jpg)
Задание 4. Найдите НОД двух чисел
Решение:Var х, у: integer;BeginWriteln ('Введите два числа');
readln(x, у);RepeatIf х>у then х:=х mod у else у:=у mod
х;Until (х=0) Or (у=0); Writeln ('НОД=',х+у)); End.
![Page 23: Проверочная работа «Цикл с предусловием»](https://reader036.vdocuments.site/reader036/viewer/2022081421/56813584550346895d9ce30e/html5/thumbnails/23.jpg)
Вывод
Как программируется цикл с постусловием на языке Паскаль?
Для каких целей лучше его использовать?
![Page 24: Проверочная работа «Цикл с предусловием»](https://reader036.vdocuments.site/reader036/viewer/2022081421/56813584550346895d9ce30e/html5/thumbnails/24.jpg)
Домашнее задание
Составить программу нахождения НОД трех чисел. НОД(а,b,с)=НОД(НОД(а,b,с).
Составить программу нахождения НОК двух чисел, используя формулу А х B = НОД (A, В) х НОД (A, В).
![Page 25: Проверочная работа «Цикл с предусловием»](https://reader036.vdocuments.site/reader036/viewer/2022081421/56813584550346895d9ce30e/html5/thumbnails/25.jpg)
program dz1;Var А, В, С, nod: integer; BeginReadln(A,B,C); RepeatIf 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; RepeatIf nod>C then nod:=nod mod С else C:=C mod
nod; Until (nod=0) or (C=0); Writeln ('НОД=’,nod+C); End.
![Page 26: Проверочная работа «Цикл с предусловием»](https://reader036.vdocuments.site/reader036/viewer/2022081421/56813584550346895d9ce30e/html5/thumbnails/26.jpg)
program dz2;var n, m, i, nok: integer; Beginwrite('введите два числа');readln(n, m);if(m<>0) and (n<>0) thenbeginnok:=n*m; i:=nok;while i>0 do beginif (i mod n=0) and (i mod m=0) then nok:=i; i:=i-1; end;writeln('NOK',m,'i',n,'raven',nok)end else writeln ('Na nol delit nelzya');end.