Сколько раз выполнится тело цикла в каждом фрагменте программы?
1. For i :=1 to 7 do S := S + i * i;
2. For x := -3 to 5 do 5 do K := K+ABS(X);
3. For a := 10 downo 2 do P :=P*a;
4. For i := 2 to 6 do
begin
K:=K+1;
S:=K+i;
end;
Сколько раз выполнится тело цикла, и чему будут равны значения встречающихся в программе переменных после выполнения каждого фрагмента программы?
5. i :=2; S:=0;
While S<0 do begib S:= S+i; i:+2; end;
6. x:=1 ; S:=10 ;
While x <=10 do x:=x*2 ;
S:= S+x
7. a:=0; S:=0 ;
While a> 0 do S :=S +a;
a:=a+1;
8 . a:=1;
Repeat
R := 2*a;
a:= a+1 ;
until R < 1;
9. a:=1; b:=1;
While a+b < 8 do begin a :=a+1; b := b+2 end;
S := a+b;
10. S:=0; P:= 10; k:= 1;
Repeat
S:= S+k*k;
k :=k+2;
until S > P;
11. For i :=2 to 6 do begin
K:= K+1; S:= K+i;
end;
12. for i:= 1 to 4 do S :=S+i*i; S: S*2;
Ответы на вопрос
В записи есть несколько очевидных опечаток: downo → downto, begib → begin, i:+2 → i:=i+2, а в пункте 12 предполагается S:=S*2. В пункте 2 лишнее 5 do считаем опечаткой.
Если начальные значения переменных не заданы, обозначим их как (S_0), (K_0), (P_0).
For i:=1 to 7 do S:=S+i*i;
Тело выполнится 7 раз.
[
1^2+2^2+\dots+7^2=140
]
Итог:
[
S=S_0+140
]
На последней итерации (i=7).
For x:=-3 to 5 do K:=K+ABS(x);
Значения (x): от (-3) до (5), всего 9 раз.
[
|-3|+|-2|+|-1|+|0|+|1|+|2|+|3|+|4|+|5|=21
]
Итог:
[
K=K_0+21
]
На последней итерации (x=5).
For a:=10 downto 2 do P:=P*a;
Значения (a): (10,9,8,7,6,5,4,3,2), всего 9 раз.
[
10\cdot9\cdot8\cdot7\cdot6\cdot5\cdot4\cdot3\cdot2=3,628,800
]
Итог:
[
P=P_0\cdot3,628,800
]
На последней итерации (a=2).
For i:=2 to 6 do
begin
K:=K+1;
S:=K+i;
end;Тело выполнится 5 раз: при (i=2,3,4,5,6).
После последней итерации:
[
K=K_0+5
]
На последней итерации (i=6), поэтому:
[
S=(K_0+5)+6=K_0+11
]
Если первоначально (K=0), то (K=5), (S=11).
i:=2;
S:=0;
While S<0 do
begin
S:=S+i;
i:=i+2;
end;Условие (S<0) сразу ложно, потому что (S=0).
Тело выполнится 0 раз.
Итог:
[
S=0,\qquad i=2
]
x:=1;
S:=10;
While x<=10 do
x:=x*2;
S:=S+x;Без begin...end в тело цикла входит только команда x:=x*2.
Значения (x):
[
1\to2\to4\to8\to16
]
Тело выполнится 4 раза.
После цикла (x=16). Затем один раз выполняется команда:
[
S=10+16=26
]
Итог:
[
x=16,\qquad S=26
]
a:=0;
S:=0;
While a>0 do
S:=S+a;
a:=a+1;Условие (a>0) ложно сразу, потому что (a=0).
Тело выполнится 0 раз.
Команда a:=a+1 находится вне цикла и выполнится один раз.
Итог:
[
S=0,\qquad a=1
]
a:=1;
Repeat
R:=2*a;
a:=a+1;
until R<1;Цикл Repeat выполняется хотя бы один раз.
После первой итерации:
[
R=2,\qquad a=2
]
Условие (R<1) ложно. Далее (R) будет равен (4,6,8,\dots), то есть всегда будет больше 1.
Тело выполнится бесконечное число раз. Цикл не завершится.
a:=1;
b:=1;
While a+b<8 do
begin
a:=a+1;
b:=b+2;
end;
S:=a+b;Начало:
[
a=1,\quad b=1,\quad a+b=2
]
1-я итерация:
[
a=2,\quad b=3,\quad a+b=5
]
2-я итерация:
[
a=3,\quad b=5,\quad a+b=8
]
Далее условие (a+b<8) ложно.
Тело выполнится 2 раза.
Итог:
[
a=3,\qquad b=5,\qquad S=8
]
S:=0;
P:=10;
k:=1;
Repeat
S:=S+k*k;
k:=k+2;
until S>P;1-я итерация:
[
S=0+1^2=1,\qquad k=3
]
2-я итерация:
[
S=1+3^2=10,\qquad k=5
]
Условие (10>10) ложно.
3-я итерация:
[
S=10+5^2=35,\qquad k=7
]
Теперь (35>10), цикл завершается.
Тело выполнится 3 раза.
Итог:
[
S=35,\qquad P=10,\qquad k=7
]
For i:=2 to 6 do
begin
K:=K+1;
S:=K+i;
end;Это тот же фрагмент, что и в пункте 4.
Тело выполнится 5 раз.
Итог:
[
K=K_0+5,\qquad S=K_0+11
]
Если (K=0) перед циклом:
[
K=5,\qquad S=11
]
For i:=1 to 4 do
S:=S+i*i;
S:=S*2;Цикл выполнится 4 раза.
В цикле к (S) прибавляется:
[
1^2+2^2+3^2+4^2=1+4+9+16=30
]
После цикла отдельно выполняется умножение на 2:
[
S=(S_0+30)\cdot2=2S_0+60
]
Если первоначально (S=0), то:
[
S=60
]
На последней итерации (i=4).
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili

