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


Объясните, пожалуйста.
На 10 шаге
s: 216 + 24 = 240
n: 27 +3 = 30
На 11 шаге
s: 240 + 24 =264
цикл прерывается
n остается 30?
Чего я не понимаю? (
На 11 шаге s = 240 + 24 = 264, n = 30 + 3 = 33, и только потом цикл прерывается.