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

   
 

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

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




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

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

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

Решение:

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

ПРОВЕРКА:

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

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

Ниже записана программа. Получив на вход число x, эта программа печатает два числа: L и M. Укажите наибольшее из таких чисел 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 mod 5) 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
M = 4, т.е. можем записать, что a b c = 4
Очевидно, что в М сохранится самый наибольший остаток, в данном случае это число = 4
Поскольку число должно было быть наибольшим все три остатка должны быть равны 4
Исходя из этого формируем строку из остатков: 444
Нам остается полученную из остатков строку: 444 перевести в десятичную систему счисления
4*5^2 + 4*5^1 + 4*5^0 = 124
Вот и все, задача решена! Но, на всякий случай проверим свое решение простой прокруткой

ПРОВЕРКА:

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

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

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

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

Решение:

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

ПРОВЕРКА:

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

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

<hr>
<div align="center"><span class="стиль26"><? echo $sape->return_links(2); ?></span><br>
<?php echo $sape_article->return_announcements(2); ?></div>
<hr>
Данный ролик можно вставить на страницу любого сайта с любым сценарием урока или с иным образовательным контентом, для этого достаточно вставить код, приведенный ниже, в нужное место своей веб-страницы

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

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

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