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

   
 

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

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

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




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

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

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

Решение:

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

ПРОВЕРКА:

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

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

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

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

Решение:

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

ПРОВЕРКА:

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

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

Ниже записана программа. Получив на вход число 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 M < x then begin;
M:= (x mod 5);
end;
x:= x div 5;
end;
writeln(L); write(M);
end.

Решение:

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

ПРОВЕРКА:

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

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




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

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

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

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