Задача 8
Запишите число, которое будет напечатано в результате выполнения следующей программы. Для Вашего удобства программа представлена на пяти языках программирования.
1. Рассмотрим фрагмент программы, реализованный на языке Паскаль:
- var s, n: integer;
begin
s := 260;
n := 0;
while s > 0 do
begin
s := s - 15;
n := n + 2
end;
writeln(n)
end.
2. Цикл зависит от значения переменной s, которая изначально равна 260. В цикле переменная s постоянно меняет свое значение, уменьшаясь на 15.
3. Цикл завершит свою работу когда s ≤ 0. Значит, необходимо посчитать сколько чисел 15 "войдет" в число 260, иными словами: 260 / 15 ~ 17,333...
4. Эта цифра должна соответствовать количеству шагов (итераций) цикла. Так как условие цикла строгое - s > 0, то увеличим полученное число на единицу: 17 + 1 = 18 итераций цикла.
Проверим:
17 * 15 = 255 (< 260)
18 * 15 = 270 (> 260)
5. Проверим на более простом примере. Допустим, изначально s = 32. Два прохождения цикла даст нам s = 32/15 = 2,133... Число 2 больше 0, соответственно, цикл будет работать еще третий раз.
6. В результате работы программа распечатывает значение переменной n (искомый результат). В цикле переменная n, изначально равная 0, увеличивается на 2. Так как цикл включает 18 итераций, то имеем: n = 18 * 2 = 36
Ответ: 36