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


Почему n возводится в степень? После пятого шага 5*2, будет 10.
Каждую итерацию цикла
умножается на 2. Поэтому после 5 шагов
.