Задание 3. Тип заданий 8: программирование, циклы.
Задание:
Запишите число, которое будет напечатано в результате выполнения следующей программы. Для Вашего удобства программа представлена на пяти языках программирования
Бейсик
Python
DIM S, N AS INTEGER
S = 0
N = 0
WHILE S < 111
S = S + 8
N = N + 2
WEND
PRINT N
s = 0
n = 0
while s < 111:
s = s + 8
n = n + 2
print(n)
Алгоритмический язык
Паскаль
алг нач цел n, s
n := 0
s := 0 нцпока s < 111
s := s + 8
n := n + 2 кц вывод n кон
var s, n: integer;
begin
s := 0;
n := 0;
while s < 111 do
begin
s := s + 8;
n := n + 2
end;
writeln(n)
end.
Си
#include<stdio.h>
int main()
{ int s = 0, n = 0;
while (s < 111) { s = s + 8; n = n + 2; }
printf("%dn", n);
return 0;
}
Источник: демоверсия ФИПИ по информатике и ИКТ 2016-го года.
В решении задания есть видеоразбор
Решение:
После выполнения программы выводится значение переменной n. Пока цикл выполняется, значение n увеличивается на 2, изначально n=0, то есть мы можем определить количество повторений цикла и умножить его на 2.
Цикл выполняется, пока s<111, изначально s=0, каждый повтор цикла s увеличивается на 8. То есть мы должны найти первое значение s, при котором условие перестанет выполняться.
Каждый повтор цикла значение s увеличивается на 8, значит s, в конечном итоге, будет кратно 8-ми. Наименьшее s, при котором условие цикла перестанет выполняться — 112.
Определим количество повторов цикла:
112:8 = 14
Каждый повтор цикла n увеличивается на 2, то есть значение n будет равно: