12+  Свидетельство СМИ ЭЛ № ФС 77 - 70917
Лицензия на образовательную деятельность №0001058
Пользовательское соглашение     Контактная и правовая информация
 
Педагогическое сообщество
УРОК.РФУРОК
 
Материал опубликовала
Авхадеева Раиса Ивановна4087
В профессии с августа 1976 года. Начала учителем математики, параллельно преподавая физику, черчение, химию. Учитель высшей категории. Последние 38 лет у меня только информатика с 5 по 11 класс. С 1.09.23 завершила деятельность педагога со стажем 47 лет
Россия, Иркутская обл., г. Тайшет
Материал размещён в группе «Информатика»

Задание 22(20) к ЕГЭ по информатике


Пример 1

Ниже (на одном из пяти языков программирования) записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа: L и M. Укажите наибольшее число x, при вводе которого алгоритм печатает сначала 3, а потом 6.


var x, L, M: integer;

begin

readln(x);

L := 0; M := 0;

while x > 0 do

begin

M := M + 1;

if x mod 2 <> 0 then

L := L + 1;

x := x div 2;

end;

writeln(L); writeln(M);

end.


Что делает данная программа?

x := x div 2; Команда показывает что число может быть представлено в двоичной системе счисления

M := M + 1; Команда показывает, сколько раз выполнился цикл-пока, т. е. сколько может быть цифр в двоичной записи числа Х.

В команде if x mod 2 <> 0 then L := L + 1; вычисляется количество единиц входящих в двоичную запись числа Х. Т.о. надо найти в двоичной системе счисления наибольшее шестизначное число, в котором три единицы, т. е. Х=1110002=1*25+1*24+1*23+0*22+0*21+0*20=32+16+8=56,

Ответ: 56.

Если бы нужно было указать наименьшее число х, то мы бы взяли х=1000112=32+2+1=35

Пример 2

Укажите наибольшее из таких чисел x, при вводе которых алгоритм печатает сначала 3, а потом 120.

var x, L, M: integer;
begin
  readln(x);
  L:=0; M:=1;
  while x > 0 do begin
    L:=L+1;
    M:= M*(x mod 8);
    x:= x div 8;
  end;
  writeln(L); write(M);
end.

    В этой программе цикл повторяется 3 раза. Команда x:= x div 8  показывает, что число переводится в восьмеричную систему счисления. По команде M:= M*(x mod 8) вычисляется произведение цифр полученного числа, которое по условию равно 120. Представим число 120 в виде произведения трех множителей: 120=8*5*3=6*5*4. Т.к. в восьмеричной системе счисления наибольшая цифра 7, то  выберем 120=6*5*4. Т.о получим наибольшее число в восьмеричной системе счисления 654, осталось перевести его в десятичную систему счисления

654=6*82+5*81+4*80=6*64+5*8+4=384+40+4=428

Ответ: 428

Опубликовано в группе «Информатика»


Комментарии (0)

Чтобы написать комментарий необходимо авторизоваться.