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

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

Задание 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

Тема: Анализ программы, содержащей подпрограммы, циклы и ветвления.

Что нужно знать:

  1. операции целочисленного деления (div) и взятия остатка (mod)
  2. как работают операторы присваивания, циклы и условные операторы в языке программирования

Пример задания:

Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 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.

Решение:

  1. для решения задачи необходимо понять, что делает эта программа
  2. если это не видно сразу, можно выполнить ручную прокрутку для какого-то простого числа, например, для числа 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

  1. можно догадаться, что в результате работы программы в переменной L окажется число цифр числа, а в переменной M – наибольшая цифра, но это предположение нужно постараться доказать
  2. нужно вспомнить (и запомнить), что для целого числа остаток от деления на 10 (x mod 10) – это последняя цифра в десятичной записи числа, а целочисленное деление (x div 10) отсекает последнюю цифру, то есть из 123 получается 12
  3. рассмотрим цикл, число шагов которого зависит от изменения переменной x:

while x > 0 do begin

x:= x div 10; { отсечение последней цифры }

end;

здесь оставлены только те операторы, которые влияют на значение x

  1. из приведенного цикла видно, что на каждом шаге от десятичной записи x отсекается последняя цифра до тех пор, пока все цифры не будут отсечены, то есть x не станет равно 0; поэтому цикл выполняется столько раз, сколько цифр в десятичной записи введенного числа
  2. на каждом шаге цикла переменная L увеличивается на 1:

L:=L+1;

других операторов, меняющих значение L, в программе нет; поэтому после завершения цикла в переменной L действительно находится количество цифр

  1. теперь разберемся с переменной M, которая сначала равна 0; оператор, в котором она меняется, выглядит так:

if M < (x mod 10) then begin

M:=x mod 10;

end;

учитывая, что x mod 10 – это последняя цифра десятичной записи числа, получается что если эта цифра больше, чем значение M, она записывается в переменную M;

  1. этот оператор выполняется в цикле, причем выражение x mod 10 по очереди принимает значения всех цифр исходного числа; поэтому после завершения циклам в переменной M окажется наибольшая из всех цифр, то есть наша догадка подтверждается
  2. итак, по условию задачи фактически требуется найти наибольшее трехзначное число со старшей цифрой 7; очевидно, что это 777.
  3. ответ: 777.

Возможные ловушки и проблемы:

  1. это очень неплохая задача на понимание, тут достаточно сложно «вызубрить» метод решения, можно только освоить последовательность (системность) анализа
  2. ручной прокрутки в такой задаче недостаточно, по её результатам можно угадать алгоритм, но можно и не угадать; в критическом случае можно сделать ручную прокрутку для нескольких чисел им попытаться понять закономерность

Ещё пример задания:

Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 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.

Решение:

  1. для решения задачи необходимо понять, что делает эта программа; повторяя рассуждения из предыдущего примера, выясняем, что
  2. переменная L с каждым шагом цикла увеличивается на 1
  3. переменная x на каждом шаге цикла делится на 8 и остаток отбрасывается

поэтому можно сделать вывод, что в конце цикла переменная L будет равна количеству цифр введенного числа, записанного в восьмеричной системе счисления; таким образом, восьмеричная запись числа содержит ровно 3 цифры

  1. выражение x mod 8 – это последняя цифра восьмеричной записи числа; на каждом шаге цикла переменная M умножается на эту величину, поэтому в результате в M будет записано произведение всех цифр восьмеричной записи введенного числа
  2. по условию это произведение равно 120, то есть , где a, b и с – числа от 0 до 7 (которые в восьмеричной системе счисления записываются одной цифрой)
  3. поскольку нам нужно наибольшее число, перебираем делители числа 120, начиная со старшей цифры – 7; видим, что 120 на 7 не делится, поэтому такой цифры в восьмеричной записи числа нет
  4. но 120 делится на 6, поэтому старшей цифрой может быть 6 – только в том случае, когда второй сомножитель можно представить в виде произведения двух чисел в интервале 1..6
  5. делим 120 на 6, получаем 20; это число представляется как произведение 5 и 4, каждое из этих чисел записывается в виде одной восьмеричной цифры, то есть, они нам подходят
  6. вспомним, что нас интересует максимальное число, поэтому цифры нужно выстроить в порядке убывания: 6548
  7. заметим, что мы получили число в восьмеричной системе, а ответ нужно дать в десятичной; переводим: 6548 = 6·82 + 5·81 + 4·80 = 428.
  8. ответ: 428.

Возможные ловушки и проблемы:

  1. поскольку в цикле идет деление на 8, мы получаем цифры числа в восьмеричной системе; каждая из них должна быть в интервале 0..7 (не может быть 8 и 9)
  2. на последнем шаге нужно не забыть перевести число из восьмеричной системы в десятичную

Задачи для тренировки:

  1. Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 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.

  1. Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 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.

  1. Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 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.

  1. Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 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.

  1. Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 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.

  1. Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 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.

  1. Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 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.

  1. Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 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.

  1. Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 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.

  1. Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 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.

  1. Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 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.

  1. Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 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.

  1. Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 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.

  1. Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 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.

  1. Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наименьшее из таких чисел , при вводе которых алгоритм печатает сначала 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.

  1. Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наименьшее из таких чисел , при вводе которых алгоритм печатает сначала 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.

  1. Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наименьшее из таких чисел , при вводе которых алгоритм печатает сначала 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.

  1. Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наименьшее из таких чисел , при вводе которых алгоритм печатает сначала 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.

  1. Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наименьшее из таких чисел , при вводе которых алгоритм печатает сначала 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.

  1. Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наименьшее из таких чисел , при вводе которых алгоритм печатает сначала 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.

  1. Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наименьшее из таких чисел , при вводе которых алгоритм печатает сначала 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.

  1. Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наименьшее из таких чисел , при вводе которых алгоритм печатает сначала 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.

  1. Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наименьшее из таких чисел , при вводе которых алгоритм печатает сначала 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.

  1. Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наименьшее из таких чисел , при вводе которых алгоритм печатает сначала 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.

  1. Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наименьшее из таких чисел , при вводе которых алгоритм печатает сначала 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.

  1. Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наименьшее из таких чисел , при вводе которых алгоритм печатает сначала 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.

  1. Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наименьшее из таких чисел , при вводе которых алгоритм печатает сначала 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.

  1. Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наименьшее из таких чисел , при вводе которых алгоритм печатает сначала 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.

  1. (Д.Ю. Мельникова, г. Саратов) Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите набольшее из таких чисел , при вводе которых алгоритм печатает сначала 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.

  1. (Д.Ю. Мельникова, г. Саратов) Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наименьшее из таких чисел , при вводе которых алгоритм печатает сначала 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.

  1. (Д.Ю. Мельникова, г. Саратов) Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наименьшее из таких чисел , при вводе которых алгоритм печатает сначала 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.

  1. (Д.Ю. Мельникова, г. Саратов) Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 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.

  1. Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наименьшее из таких чисел , при вводе которых алгоритм печатает сначала 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.

  1. Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наименьшее из таких чисел , при вводе которых алгоритм печатает сначала 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.

  1. Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 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.

  1. Ниже записана программа. Получив на вход число , эта программа печатает два числа, и . Укажите наименьшее из таких чисел , при вводе которых алгоритм печатает сначала 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.

Источник