2
program z1;
begin
writeln(‘Привет');
writeln(‘Привет');
writeln(‘Привет');
writeln(‘Привет');
writeln(‘Привет');
end.
Общий вид оператора FOR:
Цикл FOR
1) For <счетчик цикла>:=<начальное значение> to <конечное значение> do <оператор>;
Задача. Напечатать 5 раз слово «Привет».
Схема цикла
Program z1;
var i:integer;
begin
For i:=1 to 5 do
writeln (‘Привет’);
end.
Цикл FOR
2) For <счетчик цикла>:=<начальное значение> downto <конечное значение> do <оператор>;
Задача ???
Принцип работы
Program z1;
var i:integer;
begin
For i:=5 downto 1 do writeln (i);
end.
8
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
Вопрос!
Что мы увидим после выполнения следующего кода программы?
FOR i:=1 to 4 DO writeln('Привет'); writeln('Пока');
На экране мы увидим следующее:
ПриветПриветПриветПриветПока
В цикле будет выполнятся только одно действие writeln(‘Привет’). только оно относится к телу цикла.
Команда writeln(‘Пока’) — вне тела цикла.
Как сделать так, чтобы обе команды входили в тело цикла?
Необходимо использовать ОПЕРАТОРНЫЕ СКОБКИ!
BEGIN……..END;
Получим:
FOR i:=1 to 4 DO
BEGIN writeln('Привет');
writeln('Пока');
end;
var s,k: integer;
begin
S:=9;
for k:=1 to 5 do s:=s+12;
writeln(s);
end.
k | S |
9 | |
Решение: 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)
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.
k | S |
0 | |
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=
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=
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.