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

