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

