ЕГЭ-2016
ИНФОРМАТИКА
Задание №1
Определите, что будет напечатано в результате работы следующего фрагмента программы:
var n, s: integer;
begin
n := 4;
s := 0;
while n <= 8 do begin
s := s + n;
n := n + 1
end;
write(s)
end.
Пояснение.
Поскольку изначально n = 4, цикл while n <= 8 выполнится пять раз. Следовательно, s = 4 + 5 + 6 + 7 + 8 = 30.
Ответ: 30.
Задание №2
Запишите число, которое будет напечатано в результате выполнения программы.
var n, s: integer;
begin
n := 1;
s := 0;
while n <= 100 do begin
s := s + 30;
n := n * 3
end;
write(s):
end.
Пояснение.
Цикл while выполняется до тех пор, пока истинно условие n ≤ 100, т. е. переменная n определяет, сколько раз выполнится цикл. Поскольку изначально n = 1 и на каждом шаге n увеличивается в три раза, цикл выполниться пять раз. Следовательно, после выполнения цикла s примет значение 30 · 5 = 150.
Ответ: 150.
Задание №3
Определите, что будет напечатано в результате работы следующего фрагмента программы:
var k, s: integer;
begin
s:=0;
k:=0;
while s < 80 do begin
s:=s+2*k;
k:=k+4;
end;
write(s);
end.
Пояснение.
Цикл while выполняется до тех пор, пока истинно условие s < 80, т. е. переменная k определяет, сколько раз выполнится цикл.
Аккуратно выпишем все s и k:
s 0 0 8 24 48 80
k 0 4 8 12 16 20
(Помните, что условие s < 80 проверяется только после k:=k+4, поэтому действие s:=s+2*k последний раз выполнится для k=16)
Ответ 80.