Определите, что будет напечатано в результате работы следующего фрагмента программы:
| Бейсик | Python |
|---|---|
DIM K, S AS INTEGER S = 0 K = 0 WHILE S < 80 S = S + 2*K K = K + 4 WEND PRINT S
| s = 0 k = 0 while s < 80: s += 2*k k += 4 print(s)
|
| Паскаль | Алгоритмический язык |
var k, s: integer; begin s:=0; k:=0; while s < 80 do begin s:=s+2*k; k:=k+4; end; write(s); end.
| алг нач цел k, s s := 0 k := 0 нц пока s < 80 s := s + 2*k k := k + 4 кц вывод s кон |
| Си++ | |
#include <iostream> using namespace std; int main() { int s, k; s = 0, k = 0; while (s < 80) { s = s + 2*k; k = k + 4; } cout << s << endl; return 0; }
| |
Цикл while выполняется до тех пор, пока истинно условие s < 80, т. е. переменная s определяет, сколько раз выполнится цикл.
Аккуратно выпишем все s и k:
s 0 0 8 24 48 80
k 0 4 8 12 16 20
(Помните, что условие s < 80 проверяется только после k:=k+4, поэтому действие s:=s+2*k последний раз выполнится для k=16)
Следовательно ответ 80.

