Анализ программ с циклами и ветвлениями

Задание 6 Анализ программ с ветвлениями
Автор: Никитенко Евгений Игоревич учитель информатики МБОУ СОШ №10 п.Гирей
ОГЭ по информатике
Выберите номер задания
Задание 1
Задание 2
Задание 3
Задание 4
Задание 5
Задание 6
Задание 7
Задание 8
Задание 9
Задание 10
Задание 11
Задание 12
Задание 13
Задание 14
Задание 15
Приведена программа, записанная на языке программирования Pascal. Было проведено 9 запусков программы, при которых в качестве значений переменных вводились следующие пары чисел (s, t): (1, 2); (11, 2); (1, 12); (11, 12); (-11, -12); (-11, 12); (-12, 11); (10, 10); (10, 5). Сколько было запусков, при которых программа напечатала «YES»? 5
Задание 1
6
8
7
var s, t: integer;
begin
readln(s); readln(t);
if (s > 10) or (t > 10)
then
writeln(“YES”)
else
writeln(“NO”)
end.
Приведена программа, записанная на языке программирования Pascal. Было проведено 9 запусков программы, при которых в качестве значений переменных вводились следующие пары чисел (s, t): (1, 2); (11, 2); (1, 12); (11, 12); (-11, -12); (-11, 12); (-12, 11); (10, 10); (10, 5). Укажите
количество
целых значений параметра А, при которых для указанных входных данных программа напечатает «NO»
три раза
Задание 2
5
7
10
1
var s,t: integer;
begin
readln(s);readln(t);
readln(A);
if (s > 10) or (t > А)
then
writeln(“YES”)
else
writeln(“NO”)
end.
Приведена программа, записанная на языке программирования Pascal. Было проведено 9 запусков программы, при которых в качестве значений переменных вводились следующие пары чисел (s, t): (13, 2); (11, 12); (-12, 12); (2, -2); (-10, -10); (6, -5); (2, 8); (9, 10); (1, 13). Укажите
наименьшее
целое значение параметра А, при котором для указанных входных данных программа напечатает «NO»
восемь раз.
Задание 3
13
9
11
7
var s,t: integer;
begin
readln(s);readln(t);
readln(A);
if (s > A) or (t > 12)
then
writeln(“YES”)
else
writeln(“NO”)
end.
Приведена программа, записанная на языке программирования Pascal. Было проведено 9 запусков программы, при которых в качестве значений переменных вводились следующие пары чисел (s, t): (1, 2); (11, 2); (1, 12); (11, 12); (-11, -12); (-11, 12); (-12, 11); (10, 10); (10, 5). Сколько было запусков, при которых программа напечатала «YES»?
Задание 4
2
3
5
4
var s, t: integer; begin readln(s); readln(t);readln(A); if (s > 5) and (t > 5) then writeln(“YES”) else writeln(“NO”) end.
Приведена программа, записанная на языке программирования Pascal. Было проведено 9 запусков программы, при которых в качестве значений переменных вводились следующие пары чисел (s, t): (5, 3); (24, 12); (12, 10); (-10, 15); (11, 5); (15, 16); (12, 11); (12, 12); (0, 15). Сколько было запусков, при которых программа напечатала «YES»?
Задание 5
6
5
8
7
var s, t: integer; begin readln(s); readln(t);readln(A); if (s < 12) or (t < 12) then writeln(“YES”) else writeln(“NO”) end.
Приведена программа, записанная на языке программирования Pascal. Было проведено 9 запусков программы, при которых в качестве значений переменных вводились следующие пары чисел (s, t): (5, 3); (24, 12); (12, 10); (-10, 15); (11, 5); (15, 16); (12, 11); (12, 12); (0, 15). Сколько было запусков, при которых программа напечатала «NO»?
Задание 6
7
4
5
6
var s, t: integer; begin readln(s); readln(t);readln(A); if (s < 8) and (t > 10) then writeln(“YES”) else writeln(“NO”) end.
Приведена программа, записанная на языке программирования Pascal. Было проведено 9 запусков программы, при которых в качестве значений переменных вводились следующие пары чисел (s, t): (1, 2); (11, 2); (1, 12); (11, 12); (-11, -12); (-11, 12); (-12, 11); (10, 10); (10, 5). Укажите
одно
целое значение параметра А, при которых для указанных входных данных программа напечатает «NO»
четыре раза
Задание 7
var s,t: integer;
begin
readln(s);readln(t);
readln(A);
if (s > 10) or (t > А)
then
writeln(“YES”)
else
writeln(“NO”)
end.
10
7
8
9
Приведена программа, записанная на языке программирования Pascal. Было проведено 9 запусков программы, при которых в качестве значений переменных вводились следующие пары чисел (s, t): (13, 2); (11, 12); (-12, 12); (2, -2); (-10, -10); (6, -5); (2, 8); (9, 10); (1, 13). Укажите
наибольшее
целое значение параметра А, при котором для входных данных программа напечатает «NO»
три раза
Задание 8
5
6
8
7
var s,t: integer;
begin
readln(s);readln(t);
readln(A);
if (s > A) or (t > 11)
then
writeln(“YES”)
else
writeln(“NO”)
end.
Приведена программа, записанная на языке программирования Pascal. Было проведено 9 запусков программы, при которых в качестве значений переменных вводились следующие пары чисел (s, t): (4, 3); (-3, 5); (5, 4); (6, 2); (-1, 8); (5, 9); (-4, 7); (3, 8); (-5, 3). Укажите
наименьшее
целое значение параметра А, при котором для указанных входных данных программа напечатает «NO»
семь раз
Задание 9
4
2
5
3
var s,t: integer;
begin
readln(s);readln(t);
readln(A);
if (s > 2) and (t < А)
then
writeln(“YES”)
else
writeln(“NO”)
end.
Приведена программа, записанная на языке программирования Pascal. Было проведено 9 запусков программы, при которых в качестве значений переменных вводились следующие пары чисел (s, t): (5, 3); (24, 12); (12, 10); (-10, 15); (11, 5); (15, 16); (12, 11); (12, 12); (0, 15). Сколько было запусков, при которых программа напечатала «NO»?
Задание 10
2
4
1
3
var s, t: integer; begin readln(s); readln(t);readln(A); if (s < 8) or (t > 10) then writeln(“YES”) else writeln(“NO”) end.
Приведена программа, записанная на языке программирования Pascal. Было проведено 9 запусков программы, при которых в качестве значений переменных вводились следующие пары чисел (s, t): (5, 2); (11, -2); (3, 10); (4, 9); (-11, -7); (8, 8); (-12, 11); (9, 10); (10, 5). Укажите
наименьшее
целое значение параметра А, при котором для указанных входных данных программа напечатает «YES»
два раза
Задание 11
5
4
7
6
var s,t: integer;
begin
readln(s);readln(t);
readln(A);
if (s > 5) and (t > А)
then
writeln(“YES”)
else
writeln(“NO”)
end.
Приведена программа, записанная на языке программирования Pascal. Было проведено 9 запусков программы, при которых в качестве значений переменных вводились следующие пары чисел (s, t): (13, 2); (11, 12); (-12, 12); (2, -2); (-10, -10); (6, -5); (2, 8); (9, 10); (1, 13). Сколько было запусков, при которых программа напечатала «YES»?
Задание 12
3
2
4
1
var s,t: integer;
begin
readln(s);readln(t);
readln(A);
if (s < 9) and (t > 7)
then
writeln(“YES”)
else
writeln(“NO”)
end.
Приведена программа, записанная на языке программирования Pascal. Было проведено 9 запусков программы, при которых в качестве значений переменных вводились следующие пары чисел (s, t): (5, 3); (0, 12); (12, 10); (-5, 9); (10, 5); (-6, 16); (10, 11); (9, 9); (0, 15). Сколько было запусков, при которых программа напечатала «YES»?
Задание 13
9
8
1
var s, t: integer; begin readln(s); readln(t);readln(A); if (s < 12) or (t > 5) then writeln(“YES”) else writeln(“NO”) end.
Приведена программа, записанная на языке программирования Pascal. Было проведено 9 запусков программы, при которых в качестве значений переменных вводились следующие пары чисел (s, t): (5, 2); (11, -2); (3, 10); (4, 9); (-11, -7); (8, 8); (-12, 11); (9, 10); (10, 5). Укажите
наибольшее
целое значение параметра А, при котором для указанных входных данных программа напечатает «YES»
три раза
Задание 14
4
5
7
6
var s,t: integer;
begin
readln(s);readln(t);
readln(A);
if (s > 5) and (t > А)
then
writeln(“YES”)
else
writeln(“NO”)
end.
Приведена программа, записанная на языке программирования Pascal. Было проведено 9 запусков программы, при которых в качестве значений переменных вводились следующие пары чисел (s, t): (13, 2); (11, 12); (-12, 12); (2, -2); (-10, -10); (6, -5); (2, 8); (9, 10); (1, 13). Укажите
наименьшее
целое значение параметра А, при котором для входных данных программа напечатает «YES»
четыре раза
Задание 15
6
5
7
4
var s,t: integer;
begin
readln(s);readln(t);
readln(A);
if (s > A) or (t > 12)
then
writeln(“YES”)
else
writeln(“NO”)
end.
1.
Открытые варианты ОГЭ досрочного периода 2020 года
2.
Демонстрационная версия ОГЭ по информатике 2021 года
3. Задачи собственного сочинения
Источники:
Изображения:
Фон 1 слайда Фон на остальных слайдах
Кнопка «Домой» Кнопка «Выход»
Источник
Инфоурок
› Информатика ›Презентации›Презентация по информатике на тему “Анализ программы, содержащей циклы и ветвления”
Описание презентации по отдельным слайдам:
1 слайд
Описание слайда:
Анализ программы, содержащей циклы и ветвления Задание 20 ЕГЭ, Повышенный уровень, 5 минут
2 слайд
Описание слайда:
Что нужно знать алгоритмические конструкции системы счисления операции: div – целая часть от деления mod – остаток от деления
3 слайд
Описание слайда:
Получив на вход натуральное число x, алгоритм печатает два числа a и b. Укажите минимальное натуральное число, при вводе которого алгоритм напечатает сначала 7, а потом 12 var x, a, b: longint; begin readln (x); a:=0; b:=1; while x>0 do begin if x mod 2 > 0 then a:=a+x mod 12 else b:=b* (x mod 12); x:=x div 12; end; writeln (a); writeln (b); end. Задание 8 Определяем систему счисления Анализируем переменные, которые выводятся Анализируем условия, при которых изменяются эти переменные Находим цифры, из которых состоит число Выстраиваем цифры в нужном порядке 367
4 слайд
Описание слайда:
var x, a, b: longint; begin readln (x); a:=0; b:=1; while x>0 do begin if x mod 2 > 0 then a:=a+x mod 12 else b:=b* (x mod 12); x:=x div 12; end; writeln (a); writeln (b); end. Задание 8 12 сс: 0 – B 12 = 1*2*6 7 = 0+7 min: 26712 = 36710 Ответ: 367 a b 0 1 7 12 367
5 слайд
Описание слайда:
Получив на вход число x, эта программа печатает два числа, a и b. Укажите наименьшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 7 var x, a, b : longint; begin readln(x); a := 0; b := 1; while x > 0 do begin a := a + 1; b := b * (x mod 10); x := x div 10; end; writeln(a); write(b); end. 7 = 1*1*7 количество цифр в числе min: 11710 Ответ: 117 10 сс: 0 – 9 a b 0 1 3 7 117
6 слайд
Описание слайда:
Получив на вход число x, эта программа печатает два числа, L и M. Укажите наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 4 var x, L, M: longint; begin readln(x); L:=0; M:=9; while x > 5 do begin L:= L + 1; if M > (x mod 10) then M:= x mod 10; x:= x div 10; end; writeln(L); write(M); end. последняя цифра 4 количество цифр в числе + 5!!! max: 599410 Ответ: 5994 10 сс: 0 – 9 L M 0 9 3 4 5994
7 слайд
Описание слайда:
Получив на вход число , эта программа печатает два числа, a и b. Укажите наибольшее из чисел , при вводе которых алгоритм печатает сначала 2, а потом 8 var x, a, b: longint; begin readln(x); a:=0; b:=1; while x > 0 do begin a:= a + 1; b:= b * (x mod 100); x:= x div 100; end; writeln(a); write(b); end. Xmod100<>0 Xmod100=8 Xmod100=1 количество циклов max: 80110 Ответ: 801 10 сс: 0 – 9 a b 0 1 2 8 801
8 слайд
Описание слайда:
Получив на вход натуральное число x, этот алгоритм печатает два числа: a и b. Сколько существует таких чисел x, при вводе которых алгоритм печатает сначала 4, а потом 5? var x, a, b: longint; begin readln(x); a := 0; while x > 0 do begin a := a+1; b := x mod 6; x := x div 6; end; writeln(a); write(b); end. x mod 6 = 5 количество циклов = цифр 5???6 ; 6*6*6=216 6сс: 0 – 5 Ответ: 216 a b 0 0 4 5 216
9 слайд
Описание слайда:
Получив на вход натуральное число x, этот алгоритм печатает два числа: a и b. Укажите наибольшее натуральное число, при вводе которого алгоритм печатает сначала 13, а потом 3 var x, a, b: longint; begin readln(x); a := 0; b := 0; while x > 0 do begin x := x div 9; if x mod 2 > 0 then a := a + x mod 9; b := b + 1; end; writeln(a); writeln(b); end. 13=6+7 количество циклов max: 7689=62910 Ответ: 629 9сс: 0 – 8 a b 0 0 13 3 629
Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.
Пожаловаться на материал
Курс повышения квалификации
Курс профессиональной переподготовки
Учитель математики и информатики
Курс профессиональной переподготовки
Учитель информатики
Найдите материал к любому уроку,
указав свой предмет (категорию), класс, учебник и тему:
также Вы можете выбрать тип материала:
Проверен экспертом
Общая информация
Номер материала: ДБ-1429163
Вам будут интересны эти курсы:
Источник
Работа добавлена на сайт samzan.ru: 2016-03-13
Тема: Анализ программы, содержащей подпрограммы, циклы и ветвления.
Что нужно знать:
- операции целочисленного деления (div) и взятия остатка (mod)
- как работают операторы присваивания, циклы и условные операторы в языке программирования
Пример задания:
Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 7.
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.
Решение:
- для решения задачи необходимо понять, что делает эта программа
- если это не видно сразу, можно выполнить ручную прокрутку для какого-то простого числа, например, для числа 251:
оператор | условие | x | L | M |
readln(x); | 251 | ? | ? | |
L:=0; M:=0; | ||||
while x > 0 do… | 251 > 0? да | |||
L:=L+1; | 1 | |||
if M<(x mod 10) then… | M <(251 mod 10)? да | |||
M:=x mod 10; | 1 | |||
x:=x div 10; | 25 | |||
while x > 0 do… | 25 > 0? да | |||
L:=L+1; | 2 | |||
if M<(x mod 10) then… | M <(25 mod 10)? да | |||
M:=x mod 10; | 5 | |||
x:=x div 10; | 2 | |||
while x > 0 do… | 2 > 0? да | |||
L:=L+1; | 3 | |||
if M<(x mod 10) then… | M <(2 mod 10)? нет | |||
x:=x div 10; | ||||
while x > 0 do… | 0 > 0? нет | |||
writeln(L); write(M); | 3 | 5 |
- можно догадаться, что в результате работы программы в переменной L окажется число цифр числа, а в переменной M – наибольшая цифра, но это предположение нужно постараться доказать
- нужно вспомнить (и запомнить), что для целого числа остаток от деления на 10 (x mod 10) – это последняя цифра в десятичной записи числа, а целочисленное деление (x div 10) отсекает последнюю цифру, то есть из 123 получается 12
- рассмотрим цикл, число шагов которого зависит от изменения переменной x:
while x > 0 do begin
…
x:= x div 10; { отсечение последней цифры }
end;
здесь оставлены только те операторы, которые влияют на значение x
- из приведенного цикла видно, что на каждом шаге от десятичной записи x отсекается последняя цифра до тех пор, пока все цифры не будут отсечены, то есть x не станет равно 0; поэтому цикл выполняется столько раз, сколько цифр в десятичной записи введенного числа
- на каждом шаге цикла переменная L увеличивается на 1:
L:=L+1;
других операторов, меняющих значение L, в программе нет; поэтому после завершения цикла в переменной L действительно находится количество цифр
- теперь разберемся с переменной M, которая сначала равна 0; оператор, в котором она меняется, выглядит так:
if M < (x mod 10) then begin
M:=x mod 10;
end;
учитывая, что x mod 10 – это последняя цифра десятичной записи числа, получается что если эта цифра больше, чем значение M, она записывается в переменную M;
- этот оператор выполняется в цикле, причем выражение x mod 10 по очереди принимает значения всех цифр исходного числа; поэтому после завершения циклам в переменной M окажется наибольшая из всех цифр, то есть наша догадка подтверждается
- итак, по условию задачи фактически требуется найти наибольшее трехзначное число со старшей цифрой 7; очевидно, что это 777.
- ответ: 777.
Возможные ловушки и проблемы:
|
Ещё пример задания:
Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 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.
Решение:
- для решения задачи необходимо понять, что делает эта программа; повторяя рассуждения из предыдущего примера, выясняем, что
- переменная L с каждым шагом цикла увеличивается на 1
- переменная x на каждом шаге цикла делится на 8 и остаток отбрасывается
поэтому можно сделать вывод, что в конце цикла переменная L будет равна количеству цифр введенного числа, записанного в восьмеричной системе счисления; таким образом, восьмеричная запись числа содержит ровно 3 цифры
- выражение x mod 8 – это последняя цифра восьмеричной записи числа; на каждом шаге цикла переменная M умножается на эту величину, поэтому в результате в M будет записано произведение всех цифр восьмеричной записи введенного числа
- по условию это произведение равно 120, то есть , где a, b и с – числа от 0 до 7 (которые в восьмеричной системе счисления записываются одной цифрой)
- поскольку нам нужно наибольшее число, перебираем делители числа 120, начиная со старшей цифры – 7; видим, что 120 на 7 не делится, поэтому такой цифры в восьмеричной записи числа нет
- но 120 делится на 6, поэтому старшей цифрой может быть 6 – только в том случае, когда второй сомножитель можно представить в виде произведения двух чисел в интервале 1..6
- делим 120 на 6, получаем 20; это число представляется как произведение 5 и 4, каждое из этих чисел записывается в виде одной восьмеричной цифры, то есть, они нам подходят
- вспомним, что нас интересует максимальное число, поэтому цифры нужно выстроить в порядке убывания: 6548
- заметим, что мы получили число в восьмеричной системе, а ответ нужно дать в десятичной; переводим: 6548 = 6·82 + 5·81 + 4·80 = 428.
- ответ: 428.
Возможные ловушки и проблемы:
|
Задачи для тренировки:
- Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 7.
var x, L, M: integer;
begin
readln(x);
L:=0; M:=0;
while x > 0 do begin
L:= L + 1;
M:= M + x mod 10;
x:= x div 10;
end;
writeln(L); write(M);
end.
- Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 8.
var x, L, M: integer;
begin
readln(x);
L:=0; M:=0;
while x > 0 do begin
L:= L + 1;
if x mod 2 = 0 then
M:= M + x mod 10;
x:= x div 10;
end;
writeln(L); write(M);
end.
- Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 0.
var x, L, M: integer;
begin
readln(x);
L:=0; M:=0;
while x > 0 do begin
L:= L + 1;
if x mod 2 = 0 then
M:= M + x mod 10;
x:= x div 10;
end;
writeln(L); write(M);
end.
- Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 8.
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
M:= M + x mod 10;
x:= x div 10;
end;
writeln(L); write(M);
end.
- Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 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 = 0 then
M:= M + (x mod 10) div 2;
x:= x div 10;
end;
writeln(L); write(M);
end.
- Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 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
M:= M + (x mod 10) div 2;
x:= x div 10;
end;
writeln(L); write(M);
end.
- Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 7.
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 10;
end;
x:= x div 10;
end;
writeln(L); write(M);
end.
- Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 8.
var x, L, M: integer;
begin
readln(x);
L:=0; M:=0;
while x > 0 do begin
L:=L+1;
if (M < x) and (x mod 2 = 0) then begin
M:=x mod 10;
end;
x:= x div 10;
end;
writeln(L); write(M);
end.
- Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 10.
var x, L, M: integer;
begin
readln(x);
L:=0; M:=0;
while x > 0 do begin
L:=L+1;
if (M < x) and (x mod 2 = 1) then begin
M:= (x mod 10) * 2;
end;
x:= x div 10;
end;
writeln(L); write(M);
end.
- Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 10.
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 10) * 2;
end;
x:= x div 10;
end;
writeln(L); write(M);
end.
- Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 2, а потом 72.
var x, a, b: integer;
begin
readln(x);
a:=0; b:=1;
while x>0 do begin
a:=a+1;
b:=b*(x mod 10);
x:= x div 10;
end;
writeln(a); write(b);
end.
- Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 2, а потом 14.
var x, a, b : integer;
begin
readln(x);
a := 0; b := 1;
while x > 0 do begin
a := a + 1;
b := b * (x mod 10);
x := x div 10;
end;
writeln(a); write(b);
end.
- Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 7.
var x, a, b : integer;
begin
readln(x);
a := 0; b := 1;
while x > 0 do begin
a := a + 1;
b := b * (x mod 10);
x := x div 10;
end;
writeln(a); write(b);
end.
- Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 0.
var x, a, b : integer;
begin
readln(x);
a := 0; b := 1;
while x > 0 do begin
a := a + 1;
b := b * (x mod 10);
x := x div 10;
end;
writeln(a); write(b);
end.
- Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наименьшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 7.
var x, L, M: integer;
begin
readln(x);
L:=0; M:=0;
while x > 0 do begin
L:= L + 1;
M:= M + x mod 10;
x:= x div 10;
end;
writeln(L); write(M);
end.
- Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наименьшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 8.
var x, L, M: integer;
begin
readln(x);
L:=0; M:=0;
while x > 0 do begin
L:= L + 1;
if x mod 2 = 0 then
M:= M + x mod 10;
x:= x div 10;
end;
writeln(L); write(M);
end.
- Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наименьшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 0.
var x, L, M: integer;
begin
readln(x);
L:=0; M:=0;
while x > 0 do begin
L:= L + 1;
if x mod 2 = 0 then
M:= M + x mod 10;
x:= x div 10;
end;
writeln(L); write(M);
end.
- Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наименьшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 8.
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
M:= M + x mod 10;
x:= x div 10;
end;
writeln(L); write(M);
end.
- Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наименьшее из таких чисел , при вводе которых алгоритм печатает сначала 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 = 0 then
M:= M + (x mod 10) div 2;
x:= x div 10;
end;
writeln(L); write(M);
end.
- Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наименьшее из таких чисел , при вводе которых алгоритм печатает сначала 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
M:= M + (x mod 10) div 2;
x:= x div 10;
end;
writeln(L); write(M);
end.
- Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наименьшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 7.
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 10;
end;
x:= x div 10;
end;
writeln(L); write(M);
end.
- Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наименьшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 8.
var x, L, M: integer;
begin
readln(x);
L:=0; M:=0;
while x > 0 do begin
L:=L+1;
if (M < x) and (x mod 2 = 0) then begin
M:=x mod 10;
end;
x:= x div 10;
end;
writeln(L); write(M);
end.
- Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наименьшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 10.
var x, L, M: integer;
begin
readln(x);
L:=0; M:=0;
while x > 0 do begin
L:=L+1;
if (M < x) and (x mod 2 = 1) then begin
M:= (x mod 10) * 2;
end;
x:= x div 10;
end;
writeln(L); write(M);
end.
- Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наименьшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 28.
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:= M + (x mod 10) * 2;
end;
x:= x div 10;
end;
writeln(L); write(M);
end.
- Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наименьшее из таких чисел , при вводе которых алгоритм печатает сначала 2, а потом 72.
var x, a, b: integer;
begin
readln(x);
a:=0; b:=1;
while x>0 do begin
a:=a+1;
b:=b*(x mod 10);
x:= x div 10;
end;
writeln(a); write(b);
end.
- Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наименьшее из таких чисел , при вводе которых алгоритм печатает сначала 2, а потом 14.
var x, a, b : integer;
begin
readln(x);
a := 0; b := 1;
while x > 0 do begin
a := a + 1;
b := b * (x mod 10);
x := x div 10;
end;
writeln(a); write(b);
end.
- Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наименьшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 7.
var x, a, b : integer;
begin
readln(x);
a := 0; b := 1;
while x > 0 do begin
a := a + 1;
b := b * (x mod 10);
x := x div 10;
end;
writeln(a); write(b);
end.
- Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наименьшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 36.
var x, a, b : integer;
begin
readln(x);
a := 0; b := 1;
while x > 0 do begin
a := a + 1;
b := b * (x mod 10);
x := x div 10;
end;
writeln(a); write(b);
end.
- (Д.Ю. Мельникова, г. Саратов) Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите набольшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 24.
var x, a, b : integer;
begin
readln(x);
a := 0; b := 1;
while x > 0 do begin
a := a + 1;
b := b * (x mod 8);
x := x div 8;
end;
writeln(a); write(b);
end.
- (Д.Ю. Мельникова, г. Саратов) Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наименьшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 10.
var x, a, b : integer;
begin
readln(x);
a := 0; b := 1;
while x > 0 do begin
a := a + 1;
b := b * (x mod 8);
x := x div 8;
end;
writeln(a); write(b);
end.
- (Д.Ю. Мельникова, г. Саратов) Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наименьшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 6.
var x, a, b : integer;
begin
readln(x);
a := 0; b := 1;
while x > 0 do begin
a := a + 1;
b := b * (x mod 6);
x := x div 6;
end;
writeln(a); write(b);
end.
- (Д.Ю. Мельникова, г. Саратов) Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 9.
var x, a, b : integer;
begin
readln(x);
a := 0; b := 1;
while x > 0 do begin
a := a + 1;
b := b * (x mod 5);
x := x div 5;
end;
writeln(a); write(b);
end.
- Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наименьшее из таких чисел , при вводе которых алгоритм печатает сначала 2, а потом 21.
var x, a, b: integer;
begin
readln(x);
a:=0; b:=1;
while x>0 do begin
a:=a+1;
b:=b*(x mod 10);
x:= x div 10
end;
writeln(a); write(b);
end.
- Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наименьшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 35.
var x, a, b: integer;
begin
readln(x);
a:=0; b:=1;
while x>0 do begin
a:=a+1;
b:=b*(x mod 10);
x:= x div 10
end;
writeln(a); write(b);
end.
- Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 4.
var x, L, M: integer;
begin
readln(x);
L:=0; M:=9;
while x > 5 do begin
L:= L + 1;
if M > (x mod 10) then M:= x mod 10;
x:= x div 10;
end;
writeln(L); write(M);
end.
- Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наименьшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 7.
var x, L, M: integer;
begin
readln(x);
L:=0; M:=0;
while x > 5 do begin
L:= L + 1;
if M < (x mod 10) then M:= x mod 10;
x:= x div 10;
end;
writeln(L); write(M);
end.
Источники заданий:
Авторские разработки.
Тренировочные и диагностические работы МИОО.
Путимцева Ю.С. Информатика. Диагностические работы в формате ЕГЭ 2012. М.: МЦНМО, 2012.
Источник