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


Здравствуйте, почему выполняется 11 шаг? Ведь условие на s<=257 стоит перед изменением s;n
Переменная s станет равной 275 только во время выполнения одиннадцатого шага цикла. После 10-го шага цикла значение переменной s будет равно 250, то есть условие s<=257 ещё будет выполнено.
Здравствуйте, почему выполняется 11 шаг? Ведь условие на s<=257 стоит перед изменением s;n
После десяти выполнений цикла переменная s станет равной 250, поэтому условие
ещё будет выполнено, совершится одиннадцатый шаг.