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

