Интерактивный тренажер по вопросу В8 -3- ЕГЭ 2013

   
 

карта : главная : гостевая

Интерактивный тренажер версии V-3 c демонстрацией решений по вопросу В8 ЕГЭ 2013




Тренажер V-3 генерирует задачи и демонстрирует их решения с проверкой методом прокрутки по вопросам B8 ЕГЭ 2013 следующего типа:

Ниже записана программа. Получив на вход число x, эта программа печатает два числа. Укажите наименьшее из таких чисел x, при вводе которых алгоритм печатает сначала 3, а потом 12.

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

Решение:

Для решения задачи необходимо понять, что делает эта программа
Видим, что переменная L с каждым шагом цикла увеличивается на 1
Переменная x на каждом шаге цикла делится на 9 и остаток отбрасывается
L = 3, это означает, что цикл прокрутился 3 раза, следовательно и множителей будет 3
M = 12, т.е. можем записать, что a+b+c = 12
Находим множители и, чтобы получить наименьшее число, выстраиваем их в порядке возрастания
12= a+b+c = 1 + 3 + 8 = 12. Формируем строку из остатков: 138
Нам остается полученную из остатков строку: 138 перевести в десятичную систему счисления
1*9^2 + 3*9^1 + 8*9^0 = 116
Вот и все, задача решена! Но, на всякий случай проверим свое решение простой прокруткой

ПРОВЕРКА:

пусть х = 116, тогда
проверяем условие 116 > 0 - ДА - входим в цикл
L := L + 1 : =>0 + 1 = 1
(x mod 9) = 8; => 0 + (116 mod 9 ) = 8
х = 116 div 9; => х = 12
проверяем условие 12 > 0 - ДА - входим в цикл
L := L + 1 : =>1 + 1 = 2
(x mod 9) = 3; => 8 + (12 mod 9 ) = 11
х = 12 div 9; => х = 1
проверяем условие 1 > 0 - ДА - входим в цикл
L := L + 1 : =>2 + 1 = 3
(x mod 9) = 1; => 11 + (1 mod 9 ) = 12
х = 1 div 9; => х = 0
L = 3: M = 12

Правильный ответ = 116

Ниже записана программа. Получив на вход число x, эта программа печатает два числа. Укажите наименьшее из таких чисел x, при вводе которых алгоритм печатает сначала 3, а потом 5.

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

Решение:

Для решения задачи необходимо понять, что делает эта программа
Видим, что переменная L с каждым шагом цикла увеличивается на 1
Переменная x на каждом шаге цикла делится на 3 и остаток отбрасывается
L = 3, это означает, что цикл прокрутился 3 раза, следовательно и множителей будет 3
M = 5, т.е. можем записать, что a+b+c = 5
Находим множители и, чтобы получить наименьшее число, выстраиваем их в порядке возрастания
5= a+b+c = 1 + 2 + 2 = 5. Формируем строку из остатков: 122
Нам остается полученную из остатков строку: 122 перевести в десятичную систему счисления
1*3^2 + 2*3^1 + 2*3^0 = 17
Вот и все, задача решена! Но, на всякий случай проверим свое решение простой прокруткой

ПРОВЕРКА:

пусть х = 17, тогда
проверяем условие 17 > 0 - ДА - входим в цикл
L := L + 1 : =>0 + 1 = 1
(x mod 3) = 2; => 0 + (17 mod 3 ) = 2
х = 17 div 3; => х = 5
проверяем условие 5 > 0 - ДА - входим в цикл
L := L + 1 : =>1 + 1 = 2
(x mod 3) = 2; => 2 + (5 mod 3 ) = 4
х = 5 div 3; => х = 1
проверяем условие 1 > 0 - ДА - входим в цикл
L := L + 1 : =>2 + 1 = 3
(x mod 3) = 1; => 4 + (1 mod 3 ) = 5
х = 1 div 3; => х = 0
L = 3: M = 5

Правильный ответ = 17

Ниже записана программа. Получив на вход число x, эта программа печатает два числа. Укажите наименьшее из таких чисел x, при вводе которых алгоритм печатает сначала 3, а потом 15.

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

Решение:

Для решения задачи необходимо понять, что делает эта программа
Видим, что переменная L с каждым шагом цикла увеличивается на 1
Переменная x на каждом шаге цикла делится на 9 и остаток отбрасывается
L = 3, это означает, что цикл прокрутился 3 раза, следовательно и множителей будет 3
M = 15, т.е. можем записать, что a+b+c = 15
Находим множители и, чтобы получить наименьшее число, выстраиваем их в порядке возрастания
15= a+b+c = 1 + 6 + 8 = 15. Формируем строку из остатков: 168
Нам остается полученную из остатков строку: 168 перевести в десятичную систему счисления
1*9^2 + 6*9^1 + 8*9^0 = 143
Вот и все, задача решена! Но, на всякий случай проверим свое решение простой прокруткой

ПРОВЕРКА:

пусть х = 143, тогда
проверяем условие 143 > 0 - ДА - входим в цикл
L := L + 1 : =>0 + 1 = 1
(x mod 9) = 8; => 0 + (143 mod 9 ) = 8
х = 143 div 9; => х = 15
проверяем условие 15 > 0 - ДА - входим в цикл
L := L + 1 : =>1 + 1 = 2
(x mod 9) = 6; => 8 + (15 mod 9 ) = 14
х = 15 div 9; => х = 1
проверяем условие 1 > 0 - ДА - входим в цикл
L := L + 1 : =>2 + 1 = 3
(x mod 9) = 1; => 14 + (1 mod 9 ) = 15
х = 1 div 9; => х = 0
L = 3: M = 15

Правильный ответ = 143




Данный ролик можно вставить на страницу любого сайта с любым сценарием урока или с иным образовательным контентом, для этого достаточно вставить код, приведенный ниже, в нужное место своей веб-страницы

Анимация остается работоспособной и при более коротком написании кода!

карта : главная : гостевая

 
© Александр Козлов, 2013
671717 г.Северобайкальск
 
Рейтинг@Mail.ru