Определите, что будет напечатано в результате выполнения программы (записанной ниже на разных языках программирования).
| Бейсик | Паскаль |
|---|---|
DIM N, S AS INTEGER N = 0 S = 1 WHILE S <= 1000 S = S * 3 N = N + 3 WEND PRINT N
| var n, s: integer; begin n := 0; s := 1; while s <= 1000 do begin s := s * 3; n := n + 3; end; write(n) end.
|
| Си++ | Алгоритмический язык |
#include <iostream> using namespace std; int main() { int n, s; n = 0; s = 1; while (s <= 1000) { s = s * 3; n = n + 3; } cout « n « endl; }
| алг нач цел n, s n := 0 s := 1 нц пока s <= 1000 s := s * 3 n := n + 3 кц вывод n кон |
| Python | |
n = 0 s = 1 while s <= 1000: s *= 3 n += 3 print(n)
| |
Цикл while выполняется до тех пор, пока истинно условие s ≤ 1000, т. е. переменная s определяет, сколько раз выполнится цикл.
Поскольку 36 < 1000 < 37 = 2187 , следовательно, цикл выполнится 7 раз. На 7-м шаге s станет равной 2187 и условие s ≤ 1000 окажется не выполненным, цикл прервется. Следовательно, значение n будет равно 7·3 = 21.
Ответ: 21.

