Определите, что будет напечатано в результате работы следующего фрагмента программы: 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) ...

Определите, что будет напечатано в результате работы следующего фрагмента программы: 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. Подробно, пожалуйста
Гость
Ответ(ы) на вопрос:
Гость
Цикл будет до тех пор пока s больше или равно 1000 s := 1;     s := s * 3; то есть 3^1 = 33^2 = 93^3 = 273^4 = 813^5 = 2433^6 = 7293^7 = 2187    на 3^7 цикл прерывается поэтому 3*7=21
Гость
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 
Не нашли ответ?
Ответить на вопрос
Похожие вопросы