Задача. Вывести на экран 5 раз слово «Молодец». Особенность: одинаковые действия выполняются 5 раз. Можно ли решить известными методами? ?
program z1; begin writeln(‘Молодец'); writeln('Молодец'); writeln('Молодец'); writeln('Молодец'); writeln('Молодец'); end.
Циклы в языке Паскаль. Цикл FOR.
Циклы Цикл – это многократное выполнение одинаковой последовательности действий. Циклы Арифметические Итерационные (число повторений заранее (число повторений известно) заранее неизвестно) Цикл FOR Цикл WHILE, REPEAT
Общий вид оператора FOR: Цикл FOR 1) For := to do ; Задача. Напечатать 5 раз слово «молодец». Схема цикла Program z1; var i:integer; begin For i:=1 to 5 do writeln (‘Молодец’); end. i:=1 to 5 Молодец Да Нет
Цикл FOR 2) For := downto do ; Задача ??? Принцип работы Program z1; var i:integer; begin For i:=5 downto 1 do writeln (i); end. i:=5 downto 1 i Да Нет
Сколько раз выполняется цикл? a := 1; for i:=1 to 3 do a := a+1; a = 4 a := 1; for i:=3 to 1 do a := a+1; a = 1 a := 1; for i:=1 downto 3 do a := a+1; a = 1 a := 1; for i:=3 downto 1 do a := a+1; a = 4
var s,k: integer; begin S:=9; for k:=1 to 5 do s:=s+12; writeln(s); end. Решение: 9+5*12=69 Ответ: 69 1 9+12 2 (9+12)+12 3 (9+12+12)+12 4 (9+12+12+12)+12 5 (9+12+12+12+12)+12 1) k S 9
var s,k: integer; begin S:=0; for k:=0 to 11 do s:=s+4; writeln(s); end. Решение: 0+12*4=48 Ответ: 48 2) 3) var s,k: integer; begin S:=3; for k:=12 to 31 do s:=s+8; writeln(s); end. Решение: 3+20*8=163 Ответ: 163
var s,k: integer; begin S:=0; for k:=-15 to 5 do s:=s+12; writeln(s); end. Решение: 21*12=252 Ответ: 252 4) 5) var s,k: integer; begin S:=10; for k:=1 downto 11 do s:=s+15; writeln(s); end. Решение: цикл не выполнится ни разу, s=10 Ответ: 10
var s,k: integer; begin S:=100; for k:=-2 downto -8 do s:=s-10; writeln(s); end. Решение: 100-7*10=30 Ответ: 30 6)
7) var s,k: integer; begin S:=0; for k:=1 to 11 do s:=s+k; writeln(s); end. 1 0+1 2 (0+1)+2 3 (0+1+2)+3 4 (0+1+2+3)+4 …. ….. 11 (0+1+2+3+4+…+10)+11 Решение: S=0+(1+2+3+…+11)= 0+ Sn =66 Ответ: 66 Sn= k S 0
8) var s,k: integer; begin S:=12; for k:=1 to 11 do s:=s+(2*k-1); writeln(s); end. Решение: S=12+(1+3+5+…+21)= 12+ Sn = =12+121=133 Ответ: 133 Sn=
Практическое задание.