Запишите число, которое будет напечатано в результате выполнения следующей программы. Для Вашего удобства программа представлена на пяти языках программирования.
| Бейсик | Python |
|---|---|
DIM S, N AS INTEGER S = 0 N = 170 WHILE S + N < 325 S = S + 25 N = N - 5 WEND PRINT S
| s = 0 n = 170 while s + n < 325: s = s + 25 n = n - 5 print(s)
|
| Паскаль | Алгоритмический язык |
var s, n: integer; begin s := 0; n := 170; while s + n < 325 do begin s := s + 25; n := n - 5 end; writeln(s) end.
| алг нач цел n, s s := 0 n := 170 нц пока s + n < 325 s := s + 25 n := n - 5 кц вывод s кон |
| Си++ | |
#include <iostream> using namespace std; int main() { int s = 0, n = 170; while (s + n < 325) { s = s + 25; n = n - 5; } cout << s << endl; return 0; }
| |
Цикл while выполняется до тех пор, пока истинно условие s+n < 325, т. е. сумма s и n определяет, сколько раз выполнится цикл.
Заметим, что два действия s := s + 25 и n := n - 5 можно объединить, так как цикл зависит от двух переменных. Таким образом, на каждой итерации добавляется 20.
Решим неравенство: 170 + x > 325. Цикл остановится, когда x будет равен 160. Поэтому будет 8 итераций (160 : 20 = 8).
Найдём, что получится на 8-ой итерации: 0 + 25 * 8 = 200.
Ответ: 200.

