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

   
 

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

Тренажер V-10 генерирует задачи и демонстрирует их решения с проверкой методом

,0,прокрутки по вопросам B8 ЕГЭ 2013




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

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

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

Решение:

Для решения задачи необходимо понять, что делает эта программа
Видим, что переменная L с каждым шагом цикла увеличивается на 1
Переменная x на каждом шаге цикла делится на 4 и остаток отбрасывается
L = 3, это означает, что цикл прокрутился 3 раза, следовательно и остатков будет взято 3
Очевидно, что в М сохранится сумма остатков от нечетных значений х, в данном случае она = 4
Исходя из этого формируем строку из остатков: 103
Нам остается полученную из остатков строку: 103 перевести в десятичную систему счисления
1*4^2 + 0*4^1 + 3*4^0 = 19
Вот и все, задача решена! Но, на всякий случай проверим свое решение простой прокруткой

ПРОВЕРКА:

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

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

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

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

Решение:

Для решения задачи необходимо понять, что делает эта программа
Видим, что переменная L с каждым шагом цикла увеличивается на 1
Переменная x на каждом шаге цикла делится на 7 и остаток отбрасывается
L = 3, это означает, что цикл прокрутился 3 раза, следовательно и остатков будет взято 3
Очевидно, что в М сохранится сумма остатков от нечетных значений х, в данном случае она = 7
Исходя из этого формируем строку из остатков: 106
Нам остается полученную из остатков строку: 106 перевести в десятичную систему счисления
1*7^2 + 0*7^1 + 6*7^0 = 55
Вот и все, задача решена! Но, на всякий случай проверим свое решение простой прокруткой

ПРОВЕРКА:

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

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

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

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

Решение:

Для решения задачи необходимо понять, что делает эта программа
Видим, что переменная L с каждым шагом цикла увеличивается на 1
Переменная x на каждом шаге цикла делится на 9 и остаток отбрасывается
L = 3, это означает, что цикл прокрутился 3 раза, следовательно и остатков будет взято 3
Очевидно, что в М сохранится сумма остатков от нечетных значений х, в данном случае она = 9
Исходя из этого формируем строку из остатков: 108
Нам остается полученную из остатков строку: 108 перевести в десятичную систему счисления
1*9^2 + 0*9^1 + 8*9^0 = 89
Вот и все, задача решена! Но, на всякий случай проверим свое решение простой прокруткой

ПРОВЕРКА:

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

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




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

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

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

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