Циклы Виды циклов в языке «Паскаль»
1.Назначение цикла- Повторять одно и то же действие, до тех пор, пока условие ложно, либо истинно Ошибки: зацикливание – это когда цикл «работает» «вечно»(зависание программы) :причина - неверно указано условие
2.Виды циклов В языке Паскаль имеются три вида операторов цикла: while цикл-ПОКА) repeat (цикл-ДО) for (цикл с параметром). Если число повторений тела цикла известно, то лучше воспользоваться оператором for; в остальных случаях используются операторы while и repeat.
while (цикл-ПОКA) repeat (цикл-ДО) for (цикл с параметром). Число повторений цикла известно Число повторений цикла неизвестно
3.Счетный цикл “FOR” Тело цикла Да Нет =нач,кон,
Program primer; uses GraphABC; var t:integer; begin for t:=18 downto 1 do begin circle(290,210,t*10); end; End.
4.Цикл «пока» While
Program primer; uses GraphABC; var a:integer; begin a:=18; while a>=1 do begin circle(290,210,a*10); a:=a-1; end; end.
Цикл « c послеусловием REPEAT UNTIL» Условие Тело цикла Да Нет
Program primer; uses GraphABC; var i:integer; begin i:=18; repeat; circle(290,210,i*10); i:=i-1; until i
ДЗ Составить программу подсчёта N! Факториала. N вводится с клавиатуры. Использовать цикл ФОР. Пояснение 1!=1 2!=1*2 3!=1*2*3 N!=1*2*3*4*……..*N
«Датчик» случайных чисел s:= random(32); Генерируется случайное число в диапазоне от 0 до 31.
Program primer; uses GraphABC; var k,i,s:integer; begin cls; writeln('ÏÊ çàãàäàëî ÷èñëî! Óãàäàéòå åãî'); k:=0; i:=random(100); repeat; writeln('ââåäèòå ÷èñëî'); readln(s) ; if si then begin writeln('íåïðàâèëüíî,íóæíî ìåíüøå'); end; k:=k+1; until s=i; writeln('ïðàâèëüíî ýòî ÷èñëî= ',s); writeln('Óãàäàëè çà ',k,' øàãîâ'); end. «Угадайка» Угадайка
Program primer; uses GraphABC; var x,i,y,s,t:integer; begin cls; for t:=1 to 100 do begin x:=random(600); y:=random(400); circle(x,y,2); FloodFill(x,y,clRed); end; for t:=1 to 100 do begin x:=random(600); y:=random(400); circle(x,y,2); FloodFill(x,y,clBlue); end; end. Звёздное небо из красных и голубых звёзд
Светофор Program primer; uses GraphABC; var x,i,y,s,b,t:integer; begin cls; circle(300,100,50); circle(300,200,50); circle(300,300,50); for b:=1 to 100 do begin FloodFill(300,100,clRed); for t:=1 to 10000000 do begin end; FloodFill(300,100,clWhite); FloodFill(300,200,clYellow); for t:=1 to 10000000 do begin end; FloodFill(300,200,clWhite); FloodFill(300,300,clGreen); for t:=1 to 10000000 do begin end; FloodFill(300,300,clWhite); end; end.