Предмет: Информатика, автор: youonelove

Определите, что будет напечатано в результате работы следующего фрагмента программы:
program B05;
var n, s: integer;
begin
n := 0;
s := 1;
while s <= 1000 do begin
s := s * 3;
n := n + 3;
end;
write(n)
end.
Подробно, пожалуйста

Ответы

Автор ответа: D9tel
0
Цикл будет до тех пор пока s больше или равно 1000
s := 1;     s := s * 3; то есть

3^1 = 3

3^2 = 9

3^3 = 27

3^4 = 81

3^5 = 243

3^6 = 729

3^7 = 2187    на 3^7 цикл прерывается поэтому 3*7=21


Автор ответа: petyaGavrikov
0
n=0, s=1
1 <= 1000 ⇒ true; s = s*3 = 1*3 =3, n = n+3 = 0+3 = 3
3 <= 1000 ⇒ true; s = 3*3 = 9, n = 3+3 = 6
9 <= 1000 ⇒ true; s = 9*3 = 27, n = 6+3 = 9
27 <= 1000 ⇒ true; s = 27*3 = 81, n = 9+3 = 12
81 <= 1000 ⇒ true; s = 81*3 = 243, n = 12+3 = 15
243 <= 1000 ⇒ true; s = 243*3 = 729, n = 15+3 = 18
729 <= 1000 ⇒ true; s = 729*3 = 2187, n = 18+3 = 21
2187 <= 1000 ⇒ false
На экран будет выведено значение n = 21 
Похожие вопросы