Разбор 20 задания ЕГЭ 2017 по информатике из демоверсии

Разбор 20 задания ЕГЭ 2017 года по информатике из демоверсии. Это задание повышенного уровня сложности. Примерное время выполнения задания 5 минут.

Проверяемые элементы содержания:
— анализ алгоритма, содержащего цикл и ветвление.

Элементы содержания, проверяемые на ЕГЭ:
— формализация понятия алгоритма.

Задание 20

Ниже на пяти языках программирования записан алгоритм. Получив на вход натуральное число x, этот алгоритм печатает число R. Укажите такое число x, при вводе которого алгоритм печатает двузначное число, сумма цифр которого равна 16. Если таких чисел x несколько, укажите наименьшее из них.

Разбор 20 задания ЕГЭ 2017 по информатике

Ответ: ________

Разбор 20 задания ЕГЭ 2017

Рассмотрим наше задание на примере языка программирования Паскаль.

var
  x,d,R: longint;
begin
        readln(x);
        R := 0;
        while x>0 do
          begin
            d := x mod 10;
            R := 10*R + d;
            x := x div 10
          end;
        writeln(R)
end.

Проанализируем работу программы.

readln(х) — вводим любое число, например 264
R := 0 — начальное значение R — 0

1) while x>0 do — пока х>0 выполняем тело цикла (264>0)
d := x mod 10 — остаток от деления нашего числа 264 на 10 (d := 4)
R := 10*R + d — выполняем вычисления 10*0+4=4 (R := 4)
x := x div 10 — целочисленное деление нашего числа 264 на 10 (x := 26)

2) while x>0 do — пока х>0 выполняем тело цикла (26>0)
d := x mod 10 — остаток от деления числа 26 на 10 (d := 6)
R := 10*R + d — выполняем вычисления 10*4+6=46 (R := 46)
x := x div 10 — целочисленное деление числа 26 на 10 (x := 2)

3) while x>0 do — пока х>0 выполняем тело цикла (2>0)
d := x mod 10 — остаток от деления числа 2 на 10 (d := 2)
R := 10*R + d — выполняем вычисления 10*46+2=462 (R := 462)
x := x div 10 — целочисленное деление числа 2 на 10 (x := 0)

4) условие while x>0 больше не выполняется (0>0) — быть не может
end — цикл заканчивается
writeln(R) — на экран выводится R (462)
end — конец программы

Вывод:
Эта программа выводит на экран, введенное нами число, в обратном порядке (задом наперед). И для того, чтобы сумма цифр в числе R была равна 16, необходимо, чтобы число R состояло из 2-х цифр 7 и 9 (возможны 2 варианта: 79 и 97)
число R=79 можно получить из числа х, равного 97
число R=97 можно получить из числа х, равного 79 (наименьшее х)

Ответ: 79

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

2 + 4 =