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

