Егэ по информатике с решениями и пояснениями. Пояснения к оцениванию заданий

25.01.2020

Единый государственный экзамен по информатике состоит из 27 заданий. Каждое задание посвящено одной из тем, изучаемых в рамках школьной программы. Информатика является профильным предметом, поэтому ее сдают только те школьники, которым он пригодится в дальнейшем. Здесь вы можете узнать, как решать задания ЕГЭ по информатике, а также изучить примеры и способы решения на основе подробно разобранных заданий.

Все задания ЕГЭ все задания (107) ЕГЭ задание 1 (19) ЕГЭ задание 3 (2) ЕГЭ задание 4 (11) ЕГЭ задание 5 (10) ЕГЭ задание 6 (7) ЕГЭ задание 7 (3) ЕГЭ задание 9 (5) ЕГЭ задание 10 (7) ЕГЭ задание 11 (1) ЕГЭ задание 12 (3) ЕГЭ задание 13 (7) ЕГЭ задание 16 (19) ЕГЭ задание 17 (4) ЕГЭ без номера (9)

У исполнителя Квадратор две команды: прибавь 3 и возведи в квадрат

У исполнителя Квадратор две команды, которым присвоены номера: 1 - прибавь 3; 2 - возведи в квадрат. Первая из них увеличивает число на экране на 3, вторая возводит его во вторую степень. Исполнитель работает только с натуральными числами. Составьте алгоритм получения из числа A числа B, содержащий не более K команд. В ответе запишите только номера команд. Если таких алгоритмов более одного, то запишите любой из них.

Вася составляет слова, в которых встречаются только буквы

Вася составляет N-буквенные слова, в которых встречаются только буквы A, B, C, причём буква A появляется ровно 1 раз. Каждая из других допустимых букв может встречаться в слове любое количество раз или не встречаться совсем. Словом считается любая допустимая последовательность букв, не обязательно осмысленная. Сколько существует таких слов, которые может написать Вася?

Игорь составляет таблицу кодовых слов для передачи сообщений

Игорь составляет таблицу кодовых слов для передачи сообщений, каждому сообщению соответствует своё кодовое слово. В качестве кодовых слов Игорь использует N-буквенные слова, в которых есть только буквы A, B, C, причём буква A появляется ровно 1 раз. Каждая из других допустимых букв может встречаться в кодовом слове любое количество раз или не встречаться совсем. Сколько различных кодовых слов может использовать Игорь?

Задание входит в ЕГЭ по информатике для 11 класса под номером 10.

Алгоритм вычисления значения функции F(n)

Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями. Чему равно значение функции F(K)? В ответе запишите только натуральное число.

Задание входит в ЕГЭ по информатике для 11 класса под номером 11.

Сколько секунд потребуется модему, передающему сообщения

Сколько секунд потребуется модему, передающему сообщения со скоростью N бит/с, чтобы передать цветное растровое изображение размером AхB пикселей, при условии, что цвет каждого пикселя кодируется K битами? (Впишите в бланк только число.)

Задание входит в ЕГЭ по информатике для 11 класса под номером 9.

Дешифровщику необходимо восстановить поврежденный фрагмент сообщения

Дешифровщику необходимо восстановить поврежденный фрагмент сообщения, состоящий из 4-х символов. Имеется достоверная информация, что использовано не более пяти букв (A, B, C, D, E), причем на третьем месте стоит один из символов... На четвертом месте – одна из букв... На первом месте – одна из букв... На втором – ... Появилась дополнительная информация, что возможен один из четырех вариантов. Какой?

Задание входит в ЕГЭ по информатике для 11 класса под номером 6.

Метеорологическая станция ведет наблюдение за влажностью воздуха

Метеорологическая станция ведет наблюдение за влажностью воздуха. Результатом одного измерения является целое число от 0 до 100 процентов, которое записывается при помощи минимально возможного количества бит. Станция сделала N измерений. Определите информационный объем результатов наблюдений.

Какой вид приобретет формула, после того как ячейку скопируют

В ячейке записана формула. Какой вид приобретет формула, после того как ячейку X скопируют в ячейку Y? Примечание: знак $ используется для обозначения абсолютной адресации.

Задание входит в ЕГЭ по информатике для 11 класса под номером 7.

Находясь в корневом каталоге только что отформатированного диска

Находясь в корневом каталоге только что отформатированного диска, ученик создал K каталогов. Затем в каждом из созданных каталогов он создал еще по N каталогов. Сколько всего оказалось на диске каталогов, включая корневой?

Задание входит в ЕГЭ по информатике для 11 класса.

На месте преступления были обнаружены четыре обрывка бумаги

На месте преступления были обнаружены четыре обрывка бумаги. Следствие установило, что на них записаны фрагменты одного IP-адреса. Криминалисты обозначили эти фрагменты буквами А, Б, В и Г. Восстановите IP-адрес. В ответе укажите последовательность букв, обозначающих фрагменты, в порядке, соответствующем IP-адресу.

Петя записал IP-адрес школьного сервера на листке бумаги

Петя записал IP-адрес школьного сервера на листке бумаги и положил его в карман куртки. Петина мама случайно постирала куртку вместе с запиской. После стирки Петя обнаружил в кармане четыре обрывка с фрагментами IP-адреса. Эти фрагменты обозначены буквами А, Б, В и Г. Восстановите IP-адрес. В ответе укажите последовательность букв, обозначающих фрагменты, в порядке, соответствующем IP-адресу.

Задание входит в ЕГЭ по информатике для 11 класса под номером 12.

При регистрации в компьютерной системе каждому пользователю выдаётся пароль

При регистрации в компьютерной системе каждому пользователю выдаётся пароль, состоящий из 15 символов и содержащий цифры и заглавные буквы. Таким образом, используется K различных символов. Каждый такой пароль в компьютерной системе записывается минимально возможным и одинаковым целым количеством байт (при этом используют посимвольное кодирование и все символы кодируются одинаковым и минимально возможным количеством бит). Определите объём памяти, отводимый этой системой для записи N паролей.

Задание входит в ЕГЭ по информатике для 11 класса под номером 13.

В некоторой стране автомобильный номер составляют из заглавных букв

В некоторой стране автомобильный номер длиной K символов составляют из заглавных букв (используется M различных букв) и любых десятичных цифр. Буквы с цифрами могут следовать в любом порядке. Каждый такой номер в компьютерной программе записывается минимально возможным и одинаковым целым количеством байт (при этом используют посимвольное кодирование и все символы кодируются одинаковым и минимально возможным количеством бит). Определите объём памяти, отводимый этой программой для записи N номеров.

Задание входит в ЕГЭ по информатике для 11 класса под номером 13.

Для эффективной подготовки по информатике для каждого задания дан краткий теоретический материал для выполнения задачи. Подобрано свыше 10 тренировочных заданий с разбором и ответами, разработанные на основе демоверсии прошлых лет.

Изменений в КИМ ЕГЭ 2019 г. по информатике и ИКТ нет.

Направления, по которым будет проведена проверка знаний:

  • Программирование;
  • Алгоритмизация;
  • Средства ИКТ;
  • Информационная деятельность;
  • Информационные процессы.

Необходимые действия при подготовке :

  • Повторение теоретического курса;
  • Решение тестов по информатике онлайн ;
  • Знание языков программирования;
  • Подтянуть математику и математическую логику;
  • Использовать более широкий спектр литературы – школьной программы для успеха на ЕГЭ недостаточно.

Структура экзамена

Длительность экзамена – 3 часа 55 минут (255 минут), полтора часа из которых рекомендовано уделить выполнению заданий первой части КИМов.

Задания в билетах разделены на блоки:

  • Часть 1 - 23 задания с кратким ответом.
  • Часть 2 - 4 задачи с развернутым ответом.

Из предложенных 23 заданий первой части экзаменационной работы 12 относятся к базовому уровню проверки знаний, 10 – повышенной сложности, 1 – высокому уровню сложности. Три задачи второй части высокого уровня сложности, одна – повышенного.

При решении обязательна запись развернутого ответа (произвольная форма).
В некоторых заданиях текст условия подан сразу на пяти языках программирования – для удобства учеников.

Баллы за задания по информатике

1 балл - за 1-23 задания
2 балла - 25.
З балла - 24, 26.
4 балла - 27.
Всего: 35 баллов.

Для поступления в технический вуз среднего уровня, необходимо набрать не менее 62 баллов. Чтобы поступить в столичный университет, количество баллов должно соответствовать 85-95.

Для успешного написания экзаменационной работы необходимо четкое владение теорией и постоянная практика в решении задач.

Твоя формула успеха

Труд + работа над ошибками + внимательно читать вопрос от начала и до конца, чтобы избежать ошибок = максимальный балл на ЕГЭ по информатике.

ЕГЭ по информатике не является обязательным испытанием для всех выпускников школ, но требуется для поступления в ряд технических ВУЗов. Данный экзамен сдается редко, поскольку высших учебных заведений, где он требуется, немного. Распространенный случай при поступлении на ряд специальностей в политехнических ВУЗах – возможность выбрать между физикой и информатикой. В такой ситуации, многие выбирают второе, поскольку физика обоснованно считается дисциплиной более сложной. Знание информатики пригодится не только для поступления, но и в процессе освоения специальности в высшем учебном заведении.


Главная особенность школьного предмета «Информатика» - небольшой объем, поэтому для качественной подготовки нужно меньше времени, чем для других предметов. Подготовиться «с нуля» возможно! Чтобы компенсировать небольшой объем материала, авторы вопросов и заданий предлагают испытуемым сложные задачи, задания, которые провоцируют ошибки, требуют качественного владения информацией и грамотного ее использования. В содержании экзамена присутствует значительное количество заданий, которые вплотную подходят к знанию математики, логики. Значительную часть составляет блок заданий на алгоритмизацию, задачи, программирование. Ознакомьтесь с
Все задания можно разделить на 2 блока – тестирование (задания на знания теории, требуется краткий ответ), развернутые задания. На первую часть рекомендуется тратить около полутора часов, на вторую – более двух. Выделите время на проверку ошибок и внесение ответов в бланк.
Чтобы научиться без проблем преодолевать преграды в виде сложных заданий, воспользуйтесь ресурсом «Решу ЕГЭ». Это отличная возможность проверить себя, закрепить знания, проанализировать собственные ошибки. Регулярное тестирование в онлайн режиме избавит от тревог и волнения по поводу нехватки времени. Задания тут, преимущественно, сложнее, чем на экзамене.


  • Рекомендуется внимательно ознакомиться с программой подготовки к ЕГЭ – это позволит сделать процесс повторения систематическим, и структурировано усваивать теорию.
  • На сегодняшний день разработано множество пособий для подготовки – используйте их для тренировки и изучения материала.
  • Научитесь решать задачи разных типов – это легче сделать при помощи репетитора. При наличии высокого уровня знаний, можно справиться и самостоятельно.
  • Решайте на время, когда вы освоили нужные данные и научились решению задач. В этом поможет онлайн-тестирование.
Что делать, если исходные знания – слабые?
  • Важно не упускать возможности для подготовки: курсы, школьное обучение, дистанционные курсы, репетиторство, самообразование. Очертите круг проблем, которые вызывают наибольшее число вопросов и трудностей.
  • Тренируйтесь в решении заданий – чем больше, тем лучше.
  • Правильно распределяйте время на работу с заданиями разного уровня сложности.
  • Найдите профессионального репетитора, который поможет заполнить проблемы в знаниях.

Вариант № 3490088

При выполнении заданий с кратким ответом впишите в поле для ответа цифру, которая соответствует номеру правильного ответа, или число, слово, последовательность букв (слов) или цифр. Ответ следует записывать без пробелов и каких-либо дополнительных символов. Дробную часть отделяйте от целой десятичной запятой. Единицы измерений писать не нужно.


Если вариант задан учителем, вы можете вписать или загрузить в систему ответы к заданиям с развернутым ответом. Учитель увидит результаты выполнения заданий с кратким ответом и сможет оценить загруженные ответы к заданиям с развернутым ответом. Выставленные учителем баллы отобразятся в вашей статистике.


Версия для печати и копирования в MS Word

Укажите наименьшее четырёхзначное шестнадцатеричное число, двоичная запись которого содержит ровно 5 нулей. В ответе запишите только само шестнадцатеричное число, основание системы счисления указывать не нужно.

Ответ:

Дан фрагмент таблицы истинности выражения F:

x1 x2 x3 x4 x5 x6 x7 x8 F
1 0 1 0 1 1 1 0 0
0 1 0 1 1 0 0 1 0
1 0 0 1 0 1 0 1 1

Каким из приведённых ниже выражений может быть F?

1) (x2→x1) ∧ ¬x3 ∧ x4 ∧ ¬x5 ∧ x6 ∧ ¬x7 ∧ x8

2) (x2→x1) ∨ ¬x3 ∨ x4 ∨ ¬x5 ∨ x6 ∨ ¬x7 ∨ x8

3) ¬(x2→x1) ∨ x3 ∨ ¬x4 ∨ x5 ∨ ¬x6 ∨ x7 ∨ ¬x8

4) (x2→x1) ∧ x3 ∧ ¬x4 ∧ x5 ∧ ¬x6 ∧ x7 ∧ ¬x8

Ответ:

Между населёнными пунктами A, B, C, D, E, F построены дороги, протяжённость которых приведена в таблице. Отсутствие числа в таблице значает, что прямой дороги между пунктами нет.

A B C D E F
A 2 4 8 16
B 2 3
C 4 3
D 8 3 3 5 3
E 5 5
F 16 3 5

Определите длину кратчайшего пути между пунктами A и F, проходящего через пункт E и не проходящего через пункт B. Передвигаться можно только по указанным дорогам.

Ответ:

Для групповых операций с файлами используются маски имён файлов. Маска представляет собой последовательность букв, цифр и прочих допустимых в именах файлов символов, в которых также могут встречаться следующие символы:

символ «?» () вопросительный знак означает ровно один произвольный символ.

символ«*» (звездочка) означает любую последовательность символов произвольной длины, в том числе «*» может задавать и пустую последовательность.

В каталоге находится 6 файлов:

Определите, по какой маске из каталога будет отобрана указанная группа файлов:

Ответ:

Для передачи данных по каналу связи используется 5-битовый код. Сообщение содержит только буквы А, Б и В, которые кодируются следующими кодовыми словами:

A – 11111, Б – 00011, В – 00100.

При передаче возможны помехи. Однако некоторые ошибки можно попытаться исправить. Любые два из этих трёх кодовых слов отличаются друг от друга не менее чем в трёх позициях. Поэтому если при передаче слова произошла ошибка не более чем в одной позиции, то можно сделать обоснованное предположение о том, какая буква передавалась. (Говорят, что «код исправляет одну ошибку».) Например, если получено кодовое слово 10111, считается, что передавалась буква А. (Отличие от кодового слова для А только в одной позиции, для остальных кодовых слов отличий больше.) Если принятое кодовое слово отличается от кодовых слов для букв А, Б, В более чем в одной позиции, то считается, что произошла ошибка (она обозначается «x»).

Ответ:

Автомат получает на вход четырёхзначное число (число не может начинаться с нуля). По этому числу строится новое число по следующим правилам.

1. Складываются отдельно первая и вторая, вторая и третья, третья и четвёртая цифры заданного числа.

2. Наименьшая из полученных трёх сумм удаляется.

3. Оставшиеся две суммы записываются друг за другом в порядке неубывания без разделителей.

Пример. Исходное число: 1984. Суммы: 1 + 9 = 10, 9 + 8 = 17, 8 + 4 = 12.

Удаляется 10. Результат: 1217.

Укажите наименьшее число, при обработке которого автомат выдаёт результат 613.

Ответ:

Дан фрагмент электронной таблицы.

A B C D E F
1
2 1 10 100 1000
3 2 20 200 2000
4 3 30 300 3000
5 4 40 400 4000
6 5 50 500 5000

В ячейке B2 записали формулу =D$4 + $F3. После этого ячейку B2 скопировали в ячейку A3. Какое число будет показано в ячейке A3?

Примечание : знак $ используется для обозначения абсолютной адресации.

Ответ:

Запишите число, которое будет напечатано в результате выполнения следующей программы. Для Вашего удобства программа представлена на пяти языках программирования.

Ответ:

Производится четырёхканальная (квадро) звукозапись с частотой дискретизации 32 кГц и 32-битным разрешением. Запись длится 3 минуты, её результаты записываются в файл, сжатие данных не производится. Определите приблизительно размер полученного файла (в Мбайт). В качестве ответа укажите ближайшее к размеру файла целое число, кратное пяти.

Ответ:

Шифр кодового замка представляет собой последовательность из пяти символов, каждый из которых является цифрой от 1 до 5. Сколько различных вариантов шифра можно задать, если известно, что цифра 1 встречается ровно три раза, а каждая из других допустимых цифр может встречаться в шифре любое количество раз или не встречаться совсем?

Ответ:

Ниже на пяти языках программирования записан рекурсивный алгоритм F .

В качестве ответа укажите последовательность цифр, которая будет напечатана на экране в результате вызова F(5).

Ответ:

В терминологии сетей TCP/IP маской подсети называется 32-разрядное двоичное число, определяющее, какие именно разряды IP-адреса компьютера являются общими для всей подсети – в этих разрядах маски стоит 1. Обычно маски записываются в виде четверки десятичных чисел – по тем же правилам, что и IP-адреса. Для некоторой подсети используется маска 255.255.248.0. Сколько различных адресов компьютеров допускает эта маска?

Примечание. На практике для адресации компьютеров не используются два адреса: адрес сети и широковещательный адрес.

Ответ:

Автомобильный номер состоит из нескольких букв (количество букв одинаковое во всех номерах), за которыми следуют 4 цифры. При этом используются 10 цифр и только 5 букв: Р, О, М, А, Н. Нужно иметь не менее 1 000 000 различных номеров. Какое наименьшее количество букв должно быть в автомобильном номере?

Ответ:

Исполнитель МАШИНКА «живет» в ограниченном прямоугольном лабиринте на клетчатой плоскости, изображенном на рисунке. Серые клетки - возведенные стены, светлые - свободные клетки, по которым МАШИНКА может свободно передвигаться. По краю поля лабиринта также стоит возведенная стенка с нанесенными номерами и буквами для идентификации клеток в лабиринте.

Система команд исполнителя МАШИНКА:

При выполнении любой из этих команд МАШИНКА перемещается на одну клетку соответственно (по отношению к наблюдателю): вверх , вниз ↓, влево ←, вправо →.

Четыре команды проверяют истинность условия отсутствия стены у каждой стороны той клетки, где находится МАШИНКА (также по отношению к наблюдателю):

ПОКА <условие> команда

выполняется, пока условие истинно, иначе происходит переход на следующую строку.

При попытке передвижения на любую серую клетку МАШИНКА разбивается о стенку.

Сколько клеток приведенного лабиринта соответствуют требованию, что, стартовав в ней и выполнив предложенную ниже программу, МАШИНКА не разобьется?

ПОКА <снизу свободно> вниз

ПОКА <слева свободно> влево

Ответ:

На рисунке – схема дорог, связывающих города А, Б, В, Г, Д, Е, К, Л, М, Н, П, Р, Т. По каждой дороге можно двигаться только в одном направлении, указанном стрелкой.

Сколько существует различных путей из города А в город Т?

Ответ:

В системе счисления с основанием N запись числа 87 10 оканчивается на 2 и содержит не более двух цифр. Перечислите через запятую в порядке возрастания все подходящие значения N .

Ответ:

В языке запросов поискового сервера для обозначения логической операции «ИЛИ» используется символ «|», а для логической операции «И» - символ «&».

В таблице приведены запросы и количество найденных по ним страниц некоторого сегмента сети Интернет.

Запрос Найдено страниц (в тысячах)
Франция & Германия 274
Германия & (Франция | Австрия) 467
Франция & Германия & Австрия 104

Какое количество страниц (в тысячах) будет найдено по запросу Германия & Австрия ?

Считается, что все запросы выполнялись практически одновременно, так что набор страниц, содержащих все искомые слова, не изменялся за время выполнения запросов.

Ответ:

Обозначим через m&n поразрядную конъюнкцию неотрицательных целых чисел m и n .

Так, например, 14&5 = 1110 2 &0101 2 = 0100 2 = 4.

Для какого наименьшего неотрицательного целого числа А формула

x &51 = 0 ∨ (x &41 = 0 → x &А = 0)

тождественно истинна (т. е. принимает значение 1 при любом неотрицательном целом значении переменной x )?

Ответ:

Ниже представлен записанный на разных языках программирования фрагмент одной и той же программы. В программе описан одномерный целочисленный массив A; в представленном фрагменте обрабатываются элементы массива с индексами от 1 до 10.

Перед началом выполнения программы эти элементы массива имели значения 0, 1, 2, 3, 4, 5, 4, 3, 2, 1 (то есть A = 0; A = 1; …; A = 1).

Значение какого из этих элементов массива будет наибольшим после выполнения фрагмента программы? В ответе укажите индекс элемента – число от 1 до 10.

Ответ:

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

Ответ:

Напишите в ответе наибольшее значение входной переменной k , при котором программа выдаёт тот же ответ, что и при входном значении k = 20. Для Вашего удобства программа приведена на пяти языках программирования.

Ответ:

У исполнителя Калькулятор две команды:

1. прибавь 4,

2. вычти 2.

Первая из них увеличивает число на экране на 4, вторая – уменьшает его на 2. Если в ходе вычислений появляется отрицательное число, он выходит из строя и стирает написанное на экране. Программа для Калькулятора – это последовательность команд. Сколько различных чисел можно получить из числа 8 с помощью программы, которая содержит ровно 16 команд?

Ответ:

Сколько существует различных наборов значений логических переменных x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, которые удовлетворяют всем перечисленным ниже условиям:

((x1 → x2) → (x3 → x4)) ∧ ((x3 → x4) → (x5 → x6)) = 1;

((x5 → x6) → (x7 → x8)) ∧ ((x7 → x8) → (x9 → x10)) = 1;

x1∧x3∧x5∧x7∧x9 = 1.

В ответе не нужно перечислять все различные наборы значений переменных x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, при которых выполнена данная система равенств. В качестве ответа Вам нужно указать количество таких наборов.

Ответ:

Требовалось написать программу, которая вводит с клавиатуры координаты точки на плоскости (х, у - действительные числа) и определяет принадлежность точки заштрихованной области. Программист торопился и написал программу неправильно.

Последовательно выполните следующее:

1. Перерисуйте и заполните таблицу, которая показывает, как работает программа при аргументах, принадлежащих различным областям (A, B, C, D, E, F, G и H).

Точки, лежащие на границах областей, отдельно не рассматривать. В столбцах условий укажите "да", если условие выполнится, "нет", если условие не выполнится, "-" (прочерк), если условие не будет проверяться, "не изв.", если программа ведет себя по-разному для разных значений, принадлежащих данной области. В столбце "Программа выведет" укажите, что программа выведет на экран. Если программа ничего не выводит, напишите "-" (прочерк). Если для разных значений, принадлежащих области, будут выведены разные тексты, напишите "не изв". В последнем столбце укажите "да" или "нет".

2. Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, достаточно указать любой способ доработки исходной программы.)

Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в кучу один или три камня или увеличить количество камней в куче в два раза. Например, имея кучу из 15 камней, за один ход можно получить кучу из 16, 18 или 30 камней. У каждого игрока, чтобы делать ходы, есть неограниченное количество камней. Игра завершается в тот момент, когда количество камней в куче становится не менее 35. Победителем считается игрок, сделавший последний ход, т.е. первым получивший кучу, в которой будет 35 или больше камней. В начальный момент в куче было S камней; 1 ≤ S ≤ 34. Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Описать стратегию игрока - значит описать, какой ход он должен сделать в любой ситуации, которая ему может встретиться при различной игре противника.

Выполните следующие задания. Во всех случаях обосновывайте свой ответ.

Задание 1

а) Укажите все такие значения числа S, при которых Петя может выиграть в один ход. Обоснуйте, что найдены все нужные значения S, и укажите выигрывающие ходы.

б) Укажите такое значение S, при котором Петя не может выиграть за один ход, но при любом ходе Пети Ваня может выиграть своим первым ходом. Опишите выигрышную стратегию Вани.

Задание 2

Укажите два таких значения S, при которых у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:

− Петя не может выиграть за один ход;

− может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.

Для каждого указанного значения S опишите выигрышную стратегию Пети.

Задание 3

Укажите значение S, при котором одновременно выполняются два условия:

− у Вани есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети;

Районный методист решила, что оценку «отлично» должны получить 20% участников (целое число, с отбрасыванием дробной части).

Для этого она должна определить, какой балл должен был набрать ученик, чтобы получить «отлично».

Если невозможно определить такой балл, чтобы «отлично» получили ровно 20% участников, «отлично» должно получить меньше участников, чем 20%.

Если таких участников не окажется (наибольший балл набрали больше 20% участников) - эти и только эти ученики должны получить «отлично».

Напишите эффективную, в том числе и по используемой памяти, программу (укажите используемую версию языка программирования, например Borland Pascal 7.0), которая должна вывести на экран наименьший балл, который набра¬ли участники, получившие «отлично». Известно, что информатику сдавало больше 5-ти учеников. Также известно, что есть такое количество баллов, которое не получил ни один участник.

На вход программе сначала подаётся число учеников, сда-вавших экзамен. В каждой из следующих N строк находится информация об учениках в формате:

где - строка, состоящая не более чем из 30 символов без пробелов,

Строка, состоящая не более чем из 20 символов без пробелов,

Целое число в диапазоне от 1 до 99,

Целое число в диапазоне от 1 до 100. Эти данные записаны через пробел, причём ровно один между каждой парой (то есть всего по три пробела в каждой строке).

Пример входной строки:

Иванов Иван 50 87

Пример выходных данных:

Решения заданий с развернутым ответом не проверяются автоматически.
На следующей странице вам будет предложено проверить их самостоятельно.

Завершить тестирование, свериться с ответами, увидеть решения.



Область Условие 1

(у >= −х*х)

Условие 2

(у >= −х−2)

Условие 3 Программа выведет

Решение ЕГЭ информатика

1. Задание. Сколько единиц в двоичной записи шеснадцатеричного числа 12F0 16 ?

Пояснение.

Переведем число 12F0 16 в двоичную систему счисления: 12F0 16 = 1001011110000 2 .

Подсчитаем количество единиц: их 6.

Ответ: 6.

2. Задание Логическая функция F задаётся выражением (¬ z ) ∧ x ∨ x ∧ y . Определите, какому столбцу таблицы истинности функции F соответствует каждая из переменных x, y, z.

Перем. 1

Перем. 2

Перем. 3

Функция

В ответе напишите буквы x, y, z в том порядке, в котором идут соответствующие им столбцы (сначала – буква, соответствующая 1-му столбцу; затем – буква, соответствующая 2-му столбцу; затем – буква, соответствующая 3-му столбцу). Буквы в ответе пишите подряд, никаких разделителей между буквами ставить не нужно. Пример. Пусть задано выражение x → y , зависящее от двух переменных x и y , и таблица истинности:

Перем. 1

Перем. 2

Функция

Тогда 1-му столбцу соответствует переменная y , а 2-му столбцу соответствует переменная x . В ответе нужно написать: yx .

Пояснение.

Данное выражение является дизъюнкцией двух конъюнкций. Можем заметить, что в обоих слагаемых есть множитель x . Т. е. при x = 0 сумма будет равна 0. Так, для переменной x подходит только третий столбец.

В восьмой строке таблицы x = 1, а значение функции равно 0. Такое возможно только при z = 1, у = 0, т. е. переменная1 − z , а переменная2 − y .

Ответ: zyx .

3. Задание На рисунке справа схема дорог Н-ского района изображена в виде графа, в таблице содержатся сведения о длинах этих дорог (в километрах).

Так как таблицу и схему рисовали независимо друг от друга, то нумерация населённых пунктов в таблице никак не связана с буквенными обозначениями на графе. Определите, какова длина дороги из пункта В в пункт Е. В ответе запишите целое число – так, как оно указано в таблице.

Пояснение.

Пункт В − единственный пункт с пятью дорогами, значит ему соответствует П6, а пункт Е − единственный с четырьмя дорогами, значит ему соответствует П4.

Длина дороги из П6 в П4 равна 20.

Ответ: 20.

4. Задание В фрагменте базы данных представлены сведения о родственных отношениях. На основании приведённых данных определите, сколько прямых потомков (т.е. детей и внуков) Павленко А.К. упомянуты в таблице 1.

Таблица 1

Фамилия_И.О.

Пол

2146

Кривич Л. П.

2155

Павленко А. К.

2431

Хитрук П. А.

2480

Кривич А. А.

2302

Павленко Е. А.

2500

Сокол Н. А.

3002

Павленко И. А.

2523

Павленко Т. Х.

2529

Хитрук А. П.

2570

Павленко П. И.

2586

Павленко Т. И.

2933

Симонян А. А.

2511

Сокол В. А.

3193

Биба С. А.

Таблица 2

ID_Родителя

ID_Ребенка

2146

2302

2146

3002

2155

2302

2155

3002

2302

2431

2302

2511

2302

3193

3002

2586

3002

2570

2523

2586

2523

2570

2529

2431

2529

2511

2529

3193

ИЛИ

Для групповых операций с файлами используются маски имён файлов. Маска представляет собой последовательность букв, цифр и прочих допустимых в именах файлов символов, в которых также могут встречаться следующие символы:

Символ «?» (вопросительный знак) означает ровно один произвольный символ.

Символ «*» (звездочка) означает любую последовательность символов произвольной длины, в том числе «*» может задавать и пустую последовательность.

В каталоге находится 6 файлов:

maveric.map

maveric.mp3

taverna.mp4

revolver.mp4

vera.mp3

zveri.mp3

Ниже представлено восемь масок. Сколько из них таких, которым соответствуют ровно четыре файла из данного каталога?

*ver*.mp*

*?ver?*.mp?

?*ver*.mp?*

*v*r*?.m?p*

???*???.mp*

???*???.m*

*a*.*a*

*a*.*p*

Пояснение.

Из таблицы 2 видим, что у Павленко А. К.(ID 2155) два ребенка, их ID: 2302 и 3002.

У Павленко Е. А.(ID 2302) трое детей, а у Павленко И. А.(ID 3002) двое.

Таким образом, у Павленко А. К. семеро прямых потомков: два ребенка и пять внуков.

Ответ: 7.

ИЛИ

Рассмотрим каждую маску:

1. По маске *ver*.mp* будет отобрано пять файлов:

maveric.mp3

taverna.mp4

revolver.mp4

vera.mp3

zveri.mp3

2. По маске *?ver?*.mp? будет отобрано три файла:

maveric.mp3

taverna.mp4

zveri.mp3

3. По маске?*ver*.mp?* будет отобрано четыре файла:

maveric.mp3

taverna.mp4

revolver.mp4

zveri.mp3

4. По маске *v*r*?.m?p* будет отобран один файл:

maveric.map

5. По маске???*???.mp* будет отобрано три файла:

maveric.mp3

taverna.mp4

revolver.mp4

6. По маске???*???.m* будет отобрано четыре файла:

maveric.map

maveric.mp3

taverna.mp4

revolver.mp4

7. По маске *a*.*a* будет отобран один файл:

maveric.map

8. По маске *a*.*p* будет отобрано четыре файла:

maveric.map

maveric.mp3

taverna.mp4

vera.mp3

То есть три маски, которым соответствуют ровно четыре файла из данного каталога.

Ответ: 3.

Ответ: 7|3

5. Задание По каналу связи передаются сообщения, содержащие только четыре буквы: П, О, С, Т; для передачи используется двоичный код, допускающий однозначное декодирование. Для букв Т, О, П используются такие кодовые слова: Т: 111, О: 0, П: 100.

Укажите кратчайшее кодовое слово для буквы С, при котором код будет допускать однозначное декодирование. Если таких кодов несколько, укажите код с наименьшим числовым значением.

Пояснение.

Буква С не может кодироваться как 0, так как 0 уже занят.

Буква С не может кодироваться как 1, так как кодирование буквы Т начинается с 1.

Буква С не может кодироваться как 10, так как кодирование буквы П начинается с 10.

Буква С не может кодироваться как 11, так как кодирование буквы Т начинается с 11.

Буква С может кодироваться как 101 − это наименьшее возможное значение.

Ответ: 101.

6. Задание На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.

1. Строится двоичная запись числа N.

2. К этой записи дописываются справа ещё два разряда по следующему правилу:

А) складываются все цифры двоичной записи, и остаток от деления суммы на 2 дописывается в конец числа (справа). Например, запись 11100 преобразуется в запись 111001;

Б) над этой записью производятся те же действия – справа дописывается остаток от деления суммы цифр на 2.

Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N) является двоичной записью искомого числа R.

Укажите такое наименьшее число N, для которого результат работы алгоритма больше 125. В ответе это число запишите в десятичной системе счисления.

ИЛИ

У исполнителя Калькулятор две команды, которым присвоены номера:

1. прибавь 2,

2. умножь на 5.

Выполняя первую из них, Калькулятор прибавляет к числу на экране 2, а выполняя вторую, умножает его на 5.

Например, программа 2121 – это программа

умножь на 5,

прибавь 2,

умножь на 5,

прибавь 2,

которая преобразует число 1 в число 37.

Запишите порядок команд в программе, которая преобразует число 2 в число 24 и содержит не более четырёх команд. Указывайте лишь номера команд.

Пояснение.

Данный алгоритм приписывает в конце числа или 10, если изначально в его двоичной записи было нечетное количество единиц, или 00 если четное.

126 10 = 1111110 2 может получиться в результате работы алгоритма из числа 11111 2 .

11111 2 = 31 10 .

Ответ: 31.

ИЛИ

Решим задачу от обратного, а потом запишем полученные команды справа налево.

Если число не делится на 5, тогда получено через команду 1, если делится, то через команду 2.

22 + 2 = 24(команда 1)

20 + 2 = 22(команда 1)

4 * 5 = 20(команда 2)

2 + 2 = 4(команда 1)

Ответ: 1211.

Ответ: 31|1211

7. Задание. Дан фрагмент электронной таблицы. Из ячейки E4 в ячейку D3 была скопирована формула. При копировании адреса ячеек в формуле автоматически изменились. Каким стало числовое значение формулы в ячейке D3?

=$B2 * C$3

Примечание: знак $ обозначает абсолютную адресацию.

ИЛИ

Дан фрагмент электронной таблицы.

=(A1-3)/(B1-1)

=(A1-3)/(C1-5)

C1/(A1 – 3)

Какое целое число должно быть записано в ячейке A1, чтобы диаграмма, построенная по значениям ячеек диапазона A2:С2, соответствовала рисунку? Известно, что все значения ячеек из рассматриваемого диапазона неотрицательны.

Пояснение.

Формула, при копировании в ячейку D3 изменилась на =$B1 * B$3.

B1 * B3 = 4 * 2 = 8.

Ответ: 8.

ИЛИ

Подставим значения B1 и C1 в формулы A2:C2:

A2 = (A1-3)/5

B2 = (A1-3)/5

C2 = 10/(A1-3)

Так как A2 = B2, то С2 = 2 * A2 = 2 * B2

Подставим:

10/(A1-3) = 2*(A1-3)/5

A1 - 3 = 5

A1 = 8.

Ответ: 8.

8. Задание Запишите число, которое будет напечатано в результате выполнения следующей программы. Для Вашего удобства программа представлена на пяти языках программирования.

Бейсик

Python

DIM S, N AS INTEGER

S = 0

N = 0

WHILE S

S = S + 8

N = N + 2

WEND

PRINT N

s = 0

n = 0

while s

s = s + 8

n = n + 2

print(n)

Алгоритмический язык

Паскаль

алг

нач

цел n, s

n:= 0

s:= 0

нц пока s

s:= s + 8

n:= n + 2

кц

вывод n

кон

var s, n: integer;

begin

s:= 0;

n:= 0;

while s

begin

s:= s + 8;

n:= n + 2

end;

writeln(n)

end.

Си

#include

int main()

{ int s = 0, n = 0;

while (s

printf("%d\n", n);

return 0;

Пояснение.

Цикл while выполняется до тех пор, пока истинно условие s

Ответ: 28.

9. Задание. Какой минимальный объём памяти (в Кбайт) нужно зарезервировать, чтобы можно было сохранить любое растровое изображение размером 64×64 пикселов при условии, что в изображении могут использоваться 256 различных цветов? В ответе запишите только целое число, единицу измерения писать не нужно.

ИЛИ

Музыкальный фрагмент был записан в формате моно, оцифрован и сохранён в виде файла без использования сжатия данных. Размер полученного файла – 24 Мбайт. Затем тот же музыкальный фрагмент был записан повторно в формате стерео (двухканальная запись) и оцифрован с разрешением в 4 раза выше и частотой дискретизации в 1,5 раза меньше, чем в первый раз. Сжатие данных не производилось. Укажите размер файла в Мбайт, полученного при повторной записи. В ответе запишите только целое число, единицу измерения писать не нужно.

Пояснение.

Один пиксель кодируется 8 битами памяти.

Всего 64 * 64 = 2 12 пикселей.

Объем памяти, занимаемый изображением 2 12 * 8 = 2 15 бит = 2 12 байт = 4 Кбайт.

Ответ: 4.

ИЛИ

При записи того же файла в стерео формате его объем увеличивается в 2 раза. 24 * 2 = 48

При увеличении его разрешения в 4 раза его объем также увеличивается в 4 раза. 48 * 4 = 192

При уменьшении частоты дискретизации в 1,5 раза его объем уменьшается в 1,5 раза. 192 / 1,5 = 128.

Ответ: 128.

Ответ: 4|128

10. Задание Игорь составляет таблицу кодовых слов для передачи сообщений, каждому сообщению соответствует своё кодовое слово. В качестве кодовых слов Игорь использует 5-буквенные слова, в которых есть только буквы П, И, Р, причём буква П появляется ровно 1 раз. Каждая из других допустимых букв может встречаться в кодовом слове любое количество раз или не встречаться совсем. Сколько различных кодовых слов может использовать Игорь?

Пояснение.

Игорь может составить 2 4 слов поставив букву П на первое место. Аналогично можно поставить ее на второе, третье, четвертое и пятое место. Получим 5 * 2 4 = 80 слов.

Ответ: 80.

11. Задание Ниже на пяти языках программирования записаны две рекурсивные функции (процедуры): F и G.

Бейсик

Python

DECLARE SUB F(n)

DECLARE SUB G(n)

SUB F(n)

IF n > 0 THEN G(n - 1)

END SUB

SUB G(n)

PRINT "*"

IF n > 1 THEN F(n - 3)

END SUB

def F(n):

If n > 0:

G(n - 1)

def G(n):

Print("*")

If n > 1:

F(n - 3)

Алгоритмический язык

Паскаль

алг F(цел n)

нач

Если n > 0 то

G(n - 1)

Все

кон

алг G(цел n)

нач

Вывод "*"

Если n > 1 то

F(n - 3)

Все

кон

procedure F(n: integer); forward;

procedure G(n: integer); forward;

procedure F(n: integer);

begin

If n > 0 then

G(n - 1);

end;

procedure G(n: integer);

begin

Writeln("*");

If n > 1 then

F(n - 3);

end;

Си

void F(int n);

void G(int n);

void F(int n){

If (n > 0)

G(n - 1);

void G(int n){

Printf("*");

If (n > 1)

F(n - 3);

Сколько символов «звёздочка» будет напечатано на экране при выполнении вызова F(11)?

Пояснение.

Промоделируем работу программы:

F(11)

G(10): *

F(7)

G(6): *

F(3)

G(2): *

F(-1)

Ответ: 3.

12. Задание В терминологии сетей TCP/IP маской сети называется двоичное число, определяющее, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу самого узла в этой сети. Обычно маска записывается по тем же правилам, что и IP-адрес, – в виде четырёх байтов, причём каждый байт записывается в виде десятичного числа. При этом в маске сначала (в старших разрядах) стоят единицы, а затем с некоторого разряда – нули. Адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу узла и маске.

Например, если IP-адрес узла равен 231.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 231.32.240.0.

Для узла с IP-адресом 111.81.208.27 адрес сети равен 111.81.192.0. Чему равно наименьшее возможное значение третьего слева байта маски? Ответ запишите в виде десятичного числа.

Пояснение.

Запишем третий байт IP-адреса и адреса сети в двоичной системе счисления:

208 10 = 11010000 2

192 10 = 11000000 2

Видим, что два первых слева бита маски − единицы, значит, чтобы значение было наименьшим, остальные биты должны быть нулями. Получаем, что третий слева байт маски равен 11000000 2 = 192 10

Ответ: 192.

13. Задание При регистрации в компьютерной системе каждому пользователю выдаётся пароль, состоящий из 15 символов и содержащий только символы из 12-символьного набора: А, В, C, D, Е, F, G, H, K, L, M, N. В базе данных для хранения сведений о каждом пользователе отведено одинаковое и минимально возможное целое число байт. При этом используют посимвольное кодирование паролей, все символы кодируют одинаковым и минимально возможным количеством бит. Кроме собственно пароля, для каждого пользователя в системе хранятся дополнительные сведения, для чего выделено целое число байт; это число одно и то же для всех пользователей. Для хранения сведений о 20 пользователях потребовалось 400 байт. Сколько байт выделено для хранения дополнительных сведений об одном пользователе? В ответе запишите только целое число – количество байт.

Пояснение.

Согласно условию, в номере могут быть использованы 12 букв. Известно, что с помощью N бит можно закодировать 2N различных вариантов. Поскольку 2 3 4 , то для записи каждого из 12 символов необходимо 4 бита.

Для хранения всех 15 символов пароля нужно 4 · 15 = 60 бит, а т. к. для записи используется целое число байт, то берём ближайшее не меньшее значение, кратное восьми, это число 64 = 8 · 8 бит (8 байт).

Пусть количество памяти, отведенное под дополнительные седения равно x , тогда:

20 * (8+ x ) = 400

x = 12

Ответ: 12.

14. Задание Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.

А) заменить (v, w).

Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды

заменить (111, 27)

преобразует строку 05111150 в строку 0527150. Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку.

Б) нашлось (v).

Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка

исполнителя при этом не изменяется.

Цикл

ПОКА условие

Последовательность команд

КОНЕЦ ПОКА

Выполняется, пока условие истинно.

В конструкции

ЕСЛИ условие

ТО команда1

ИНАЧЕ команда2

КОНЕЦ ЕСЛИ

Выполняется команда1 (если условие истинно) или команда2 (если условие ложно).

Какая строка получится в результате применения приведённой ниже

программы к строке, состоящей из 68 идущих подряд цифр 8? В ответе

запишите полученную строку.

НАЧАЛО

ПОКА нашлось (222) ИЛИ нашлось (888)

ЕСЛИ нашлось (222)

ТО заменить (222, 8)

ИНАЧЕ заменить (888, 2)

КОНЕЦ ЕСЛИ

КОНЕЦ ПОКА

КОНЕЦ

Пояснение.

В 68 идущих подряд цифрах 8 22 группы по три восьмерки, которые заменятся на 22 двойки и останутся две восьмерки.

68(8) = 22(2) + 2(8)

22(2) + 2(8) = 1(2) + 9(8)

1(2) + 9(8) = 4(2)

4(2) = 1(2) + 1(8) = 28

Ответ: 28.

15. Задание рисунке представлена схема дорог, связывающих города А, Б, В, Г, Д, Е, Ж, З, И, К, Л, М.

По каждой дороге можно двигаться только в одном направлении, указанном стрелкой.

Сколько существует различных путей из города А в город М?

Пояснение.

Начнем считать количество путей с конца маршрута - с города М. Пусть N X - количество различных путей из города А в город X, N - общее число путей. В город М можно приехать из Л или K, поэтому N = N М = N Л + N К . (*)

Аналогично:

N К = N И ;

N Л = N И ;

N И = N Е + N Ж + N З

N К = N Е = 1.

Добавим еще вершины:

N Б = N A = 1;

N В = N Б + N А + N Г = 1 + 1 + 1 = 3;

N Е = N Г = 1;

N Г = N A = 1.

Подставим в формулу (*): N = N M = 4 + 4 + 4 + 1 = 13.

Ответ: 13.

Ответ: 56

16. Задание Значение арифметического выражения: 9 8 + 3 5 – 9 – записали в систем счисления с основанием 3. Сколько цифр «2» содержится в этой записи?

Пояснение.

Преобразуем выражение:

(3 2 ) 8 + 3 5 - 3 2

3 16 + 3 5 - 3 2

3 16 + 3 5 = 100...00100000

100...00100000 - 3 2 = 100...00022200

В полученном числе три двойки.

Ответ: 3

17. Задание В языке запросов поискового сервера для обозначения логической операции «ИЛИ» используется символ «|», а для обозначения логической операции «И» – символ «&». В таблице приведены запросы и количество найденных по ним страниц некоторого сегмента сети Интернет.

Какое количество страниц (в тысячах) будет найдено по запросу Гомер & Одиссея & Илиада? Считается, что все запросы выполнялись практически одновременно, так что набор страниц, содержащих все искомые слова, не изменялся за время

выполнения запросов.

Пояснение.

Количество запросов в данной области будем обозначать Ni. Наша цель - N5.

Тогда из таблицы находим, что:

N5 + N6 = 355,

N4 + N5 = 200,

N4 + N5 + N6 = 470.

Из первого и второго уравнения: N4 + 2N5 + N6 = 555.

Из последнего уравнения: N5 = 85.

Ответ: 85

18. Задание Обозначим через m&n поразрядную конъюнкцию неотрицательных целых чисел m и n . Так, например, 14&5 = 1110 2 &0101 2 = 0100 2 = 4.

Для какого наименьшего неотрицательного целого числа А формула

x&25 ≠ 0 → (x&17 = 0 → x&А ≠ 0)

тождественно истинна (т.е. принимает значение 1 при любом неотрицательном целом значении переменной х )?

Пояснение.

Введем обозначения:

(x ∈ А) ≡ A; (x ∈ P) ≡ P; (x ∈ Q) ≡ Q.

Преобразовав, получаем:

¬P ∨ ¬(Q ∧ ¬A) ∨ ¬P = ¬P ∨ ¬Q ∨ A.

Логическое ИЛИ истинно, если истинно хотя бы одно утверждение. Условию ¬P ∨ ¬Q = 1 удовлетворяют лучи (−∞, 40) и (60, ∞). Поскольку выражение ¬P ∨ ¬Q ∨ A должно быть тождественно истинным, выражение A должно быть истинно на отрезке . Его длина равна 20.

Ответ: 20.

Ответ: 8

19. Задание В программе используется одномерный целочисленный массив A с индексами от 0 до 9. Значения элементов равны 4, 7, 3, 8, 5, 0, 1, 2, 9, 6 соответственно, т.е. A = 4, A = 7 и т.д.

Определите значение переменной c после выполнения следующего фрагмента этой программы (записанного ниже на пяти языках программирования) .

Бейсик

Python

C = 0

FOR i = 1 TO 9

IF A(i)

C = c + 1

T = A(i)

A(i) = A(0)

A(0) = t

ENDIF

NEXT i

C = 0

For i in range(1,10):

If A[i]

C = c + 1

t = A[i]

A[i] = A

A = t

Алгоритмический язык

Паскаль

c:= 0

нц для i от 1 до 9

если A[i]

c:= c + 1

t:= A[i]

A[i] := A

A := t

все

кц

c:= 0;

for i:= 1 to 9 do

if A[i]

begin

c:= c + 1;

t:= A[i];

A[i] := A;

A := t;

end;

Си

c = 0;

for (i = 1;i

if (A[i]

{

c++;

t = A[i];

A[i] = A;

A = t;

}

Пояснение.

Если A[i] элемент массива меньше A, то программа меняет их местами и увеличивает значение переменной c на 1. Программа выполнится дважды, первый раз поменяв местами A и A, так как 3 с станет равно 2.

Ответ: 2.

20. Задание Ниже на пяти языках программирования записан алгоритм. Получив на вход число x , этот алгоритм печатает число M . Известно, что x > 100. Укажите наименьшее такое (т.е. большее 100) число x , при вводе которого алгоритм печатает 26.

Бейсик

Python

DIM X, L, M AS INTEGER

INPUT X

L = X

M = 65

IF L MOD 2 = 0 THEN

M = 52

ENDIF

WHILE L M

IF L > M THEN

L = L – M

ELSE

M = M – L

ENDIF

WEND

PRINT M

x = int(input())

L = x

M = 65

if L % 2 == 0:

M = 52

while L != M:

if L > M:

L = L - M

else:

M = M - L

print(M)

Алгоритмический язык

Паскаль

алг

нач

цел x, L, M

ввод x

L:= x

M:= 65

если mod(L,2)=0

то

M:= 52

все

нц пока L M

если L > M

то

L:= L – M

иначе

M:= M – L

все

кц

вывод M

кон

var x, L, M: integer;

begin

readln(x);

L:= x;

M:= 65;

if L mod 2 = 0 then

M:= 52;

while L M do

if L > M then

L:= L - M

else

M:= M – L;

writeln(M);

end.

Си

#include

void main()

{

int x, L, M;

scanf("%d", &x);

L = x;

M = 65;

if (L % 2 == 0)

M = 52;

while (L != M){

if(L > M)

L = L - M;

else

M = M - L;

}

printf("%d", M);

}

Пояснение.

В теле цикла числа M и L уменьшаются, пока не станут равными. Чтобы в итоге было напечатано 26, оба числа в какой-то момент должны быть равны 26. Пойдем от конца к началу: на предыдущем шаге одно число было 26, а другое 26 + 26 = 52. Еще на шаг раньше 52 + 26 = 78 и 52. До того 78 + 52 = 130 и 52. То есть наименьшее возможное число 130. А поскольку найденное число четное, то M будет присвоено значение 52, что и приведет к необходимому результату.

Ответ: 130.

21. Задание Напишите в ответе наименьшее значение входной переменной k , при котором программа выдаёт тот же ответ, что и при входном значении k = 10. Для Вашего удобства программа приведена на пяти языках программирования.

Бейсик

Python

DIM K, I AS LONG

INPUT K

I = 1

WHILE F(I)

I = I + 1

WEND

PRINT I

FUNCTION F(N)

F = N * N * N

END FUNCTION

FUNCTION G(N)

G = 2*N + 3

END FUNCTION

def f(n):

return n*n*n

def g(n):

return 2*n+3

k = int(input())

i = 1

while f(i)

i+=1

print (i)

Алгоритмический язык

Паскаль

алг

нач

цел i, k

ввод k

i:= 1

нц пока f(i)

i:= i + 1

кц

вывод i

кон

алг цел f(цел n)

нач

знач:= n * n * n

кон

алг цел g(цел n)

нач

знач:= 2*n + 3

кон

var

k, i: longint;

function f(n: longint): longint;

begin

f:= n * n * n;

end;

function g(n: longint): longint;

begin

g:= 2*n + 3;

end;

begin

readln(k);

i:= 1;

while f(i)

i:= i+1;

writeln(i)

end.

Си

#include

long f(long n) {

return n * n * n;

}

long g(long n) {

return 2*n + 3;

}

int main()

{

long k, i;

scanf("%ld", &k);

i = 1;

while(f(i)

i++;

printf("%ld", i);

return 0;

}

Пояснение.

Данная программа сравнивает и и прибавляет к i единицу до тех пор, пока . И выводит первое значение переменной i при котором

При k = 10, программа выведет число 3.

Запишем неравенство: отсюда получим, что наименьшее значение k = 3.

Ответ: 3.

22. Задание Исполнитель Май15 преобразует число на экране. У исполнителя есть две команды, которым присвоены номера:

1. Прибавить 1

2. Умножить на 2

Первая команда увеличивает число на экране на 1, вторая умножает его на 2. Программа для исполнителя Май15 – это последовательность команд. Сколько существует программ, для которых при исходном числе 2 результатом является число 29 и при этом траектория вычислений содержит число 14 и не содержит числа 25?

Траектория вычислений программы – это последовательность результатов

выполнения всех команд программы. Например, для программы 121 при исходном числе 7 траектория будет состоять из чисел 8, 16, 17.

Пояснение.

Для сложения справедлив переместительный (коммутативный) закон, значит, порядок команд в программе не имеет значения для результата.

Все команды увеличивают исходное число, поэтому количество команд не может превосходить (30 − 21) = 9. При этом минимальное количество команд - 3.

Таким образом, команд может быть 3, 4, 5, 6, 7, 8 или 9. Поэтому порядок команд не имеет значения, каждому числу команд соответствует один набор команд, которые можно расположить в любом порядке.

Рассмотрим все возможные наборы и вычислим количество вариантов рассположения команд в них. Набор 133 имеет 3 возможных вариантов расположения. Набор 1223 - 12 возможных вариантов расположения: это число перестановок с повторениями (1+2+1)!/(1! · 2! · 1!)). Набор 12222 - 5 вариантов. Набор 111222 - 20 возможных вариантов. Набор 11123 - 20 вариантов. Набор 111113 - 6 вариантов, набор 1111122 - 21 вариант, набор 11111112 - 8 вариантов, набор 111111111 - один вариант.

Всего имеем 3 + 12 + 5 + 20 + 20 + 6 + 21 + 8 + 1 = 96 программ.

Ответ: 96.

Ответ: 96.

Ответ: 13

23. Задание Сколько существует различных наборов значений логических переменных x 1 , x 2 , ... x 9 , y 1 , y 2 , ... y 9 , которые удовлетворяют всем перечисленным ниже условиям?

(¬ (x 1 y 1 )) ≡ (x 2 y 2 )

(¬ (x 2 y 2 )) ≡ (x 3 y 3 )

(¬ (x 8 y 8 )) ≡ (x 9 y 9 )

В ответе не нужно перечислять все различные наборы значений переменных x 1 , x 2 , ... x 9 , y 1 , y 2 , ... y 9 , при которых выполнена данная система равенств. В качестве ответа Вам нужно указать количество таких наборов.

Пояснение.

Из последнего уравнения находим, что возможны три варианта значений x8 и y8: 01, 00, 11. Построим древо вариантов для первой и второй пар значений.

Таким образом, имеем 16 наборов переменных.

Дерево вариантов для пары значений 11:

Получаем 45 вариантов. Таким образом, система будет иметь 45 + 16 = 61 различных наборов решений.

Ответ: 61.

Ответ: 1024

24. Задание На обработку поступает положительное целое число, не превышающее 10 9 . Нужно написать программу, которая выводит на экран сумму цифр этого числа, меньших 7. Если в числе нет цифр, меньших 7, требуется на экран вывести 0. Программист написал программу неправильно. Ниже эта программа для Вашего удобства приведена на пяти языках программирования.

Бейсик

Python

DIM N, DIGIT, SUM AS LONG

INPUT N

SUM = 0

WHILE N > 0

DIGIT = N MOD 10

IF DIGIT

SUM = SUM + 1

END IF

N = N \ 10

WEND

PRINT DIGIT

N = int(input())

sum = 0

while N > 0:

digit = N % 10

if digit

sum = sum + 1

N = N // 10

print(digit)

Алгоритмический язык

Паскаль

алг

нач

цел N, digit, sum

ввод N

sum:= 0

нц пока N > 0

digit:= mod(N,10)

если digit

sum:= sum + 1

все

N:= div(N,10)

кц

вывод digit

кон

var N, digit, sum: longint;

begin

readln(N);

sum:= 0;

while N > 0 do

begin

digit:= N mod 10;

if digit

sum:= sum + 1;

N:= N div 10;

end;

writeln(digit)

end.

Си

#include

int main()

{

int N, digit, sum;

scanf("%d", &N);

sum = 0;

while (N > 0)

{

digit = N % 10;

if (digit

sum = sum + 1;

N = N / 10;

}

printf("%d",digit);

return0;

}

Последовательно выполните следующее.

1. Напишите, что выведет эта программа при вводе числа 456.

2. Приведите пример такого трёхзначного числа, при вводе которого программа выдаёт верный ответ.

3. Найдите все ошибки в этой программе (их может быть одна или несколько). Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк. Для каждой ошибки:

1) выпишите строку, в которой сделана ошибка;

2) укажите, как исправить ошибку, т.е. приведите правильный вариант строки.

Достаточно указать ошибки и способ их исправления для одного языка программирования. Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.

Пояснение.

Решение использует запись программы на Паскале. Допускается использование программы на любом из четырёх других языков.

1. Программа выведет число 4.

2. Пример числа, при вводе которого программа выдаёт верный ответ: 835.

Замечание для проверяющего. Программа работает неправильно из-за неверной выводимой на экран переменной и неверного увеличения суммы. Соответственно, программа будет работать верно, если в числе старшая цифра (крайняя левая) равна сумме цифр, меньших 7.

3. В программе есть две ошибки.

Первая ошибка. Неверное увеличение суммы.

Строка с ошибкой:

sum:= sum + 1;

Верное исправление:

sum:= sum + digit;

Вторая ошибка. Неверный вывод ответа на экран.

Строка с ошибкой:

writeln(digit)

Верное исправление:

writeln(sum)

25. Задание Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения от –10 000 до 10 000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести количество пар элементов массива, в которых хотя бы одно число делится на 3. В данной задаче под парой подразумевается два подряд идущих элемента массива. Например, для массива из пяти элементов: 6; 2; 9; –3; 6 – ответ: 4.

Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования и естественного языка. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.

Бейсик

Python

CONST N AS INTEGER = 20

DIM A (1 TO N) AS INTEGER

DIM I AS INTEGER,

J AS INTEGER,

K AS INTEGER

FOR I = 1 TO N

INPUT A(I)

NEXT I

...

END

# допускается также

# использовать две

# целочисленные переменные j и k

a =

n = 20

for i in range(0, n):

a.append(int(input()))

...

Алгоритмический язык

Паскаль

алг

нач

цел N = 20

целтаб a

цел i, j, k

нц для i от 1 до N

ввод a[i]

кц

...

кон

const

N = 20;

var

a: array of integer;

i, j, k: integer;

begin

for i:= 1 to N do

readln(a[i]);

...

end.

Си

Естественный язык

#include

#define N 20

int main() {

int a[N];

int i, j, k;

for (i = 0; i

scanf("%d", &a[i]);

...

return 0;

}

Объявляем массив A из 20 элементов.

Объявляем целочисленные переменные I, J, K.

В цикле от 1 до 20 вводим элементы массива A с 1-го по 20-й.

В качестве ответа Вам необходимо привести фрагмент программы (или описание алгоритма на естественном языке), который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например Free Pascal 2.6) или в виде блок-схемы. В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии (например, в образце, записанном на естественном языке).

k:= k+1

все

кц

вывод k

Паскаль

k:= 0;

for i:= 1 to N-1 do

if (a[i] mod 3=0) or (a mod 3=0) then

inc(k);

writeln(k);

Си

k = 0;

for (i = 0; i

if (a[i]%3 == 0 || a%3 == 0)

k++;

printf("%d", k);

Естественный язык

Записываем в переменную K начальное значение, равное 0. В цикле от первого элемента до предпоследнего находим остаток от деления текущего и следующего элемента массива на 3. Если первый или второй из полученных остатков равен 0, увеличиваем переменную K на единицу. После завершения цикла выводим значение переменной K

26. Задание Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежат две кучи камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в одну из куч (по своему выбору) один камень или увеличить количество камней в куче в два раза. Например, пусть в одной куче 10 камней, а в другой 7 камней; такую позицию в игре будем обозначать (10, 7). Тогда за один ход можно получить любую из четырёх позиций: (11, 7), (20, 7), (10, 8), (10, 14). Для того чтобы делать ходы, у каждого игрока есть неограниченное количество камней.

Игра завершается в тот момент, когда суммарное количество камней в кучах становится не менее 73. Победителем считается игрок, сделавший последний ход, т.е. первым получивший такую позицию, что в кучах всего будет 73 камня или больше.

Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Описать стратегию игрока – значит описать, какой ход он должен сделать в любой ситуации, которая ему может встретиться при различной игре противника. Например, при начальных позициях (6, 34), (7, 33), (9, 32) выигрышная стратегия есть у Пети. Чтобы выиграть, ему достаточно удвоить количество камней во второй куче.

Задание 1. Для каждой из начальных позиций (6, 33), (8, 32) укажите, кто из игроков имеет выигрышную стратегию. В каждом случае опишите выигрышную стратегию; объясните, почему эта стратегия ведёт к выигрышу, и укажите, какое наибольшее количество ходов может потребоваться победителю для выигрыша при этой стратегии.

Задание 2. Для каждой из начальных позиций (6, 32), (7, 32), (8, 31) укажите, кто из игроков имеет выигрышную стратегию. В каждом случае опишите выигрышную стратегию; объясните, почему эта стратегия ведёт к выигрышу, и укажите, какое наибольшее количество ходов может потребоваться победителю для выигрыша при этой стратегии.

Задание 3. Для начальной позиции (7, 31) укажите, кто из игроков имеет выигрышную стратегию. Опишите выигрышную стратегию; объясните, почему эта стратегия ведёт к выигрышу, и укажите, какое наибольшее количество ходов может потребоваться победителю для выигрыша при этой стратегии. Постройте дерево всех партий, возможных при указанной Вами выигрышной стратегии. Представьте дерево в виде рисунка или таблицы.

(7,31)

Всего 38

(7,31+1)=(7,32)

Всего 39

(7+1,32)=(8,32)

Всего 40

(8+1,32)=(9,32)

Всего 41

(9,32*2)=(9,64)

Всего 73

(8,32+1)=(8,33)

Всего 41

(8,33*2)=(8,66)

Всего 74

(8*2,32)=(16,32)

Всего 48

(16,32*2)=(16,64)

Всего80

(8,32*2)=(8,64)

Всего 72

(8,64*2)=(8,128)

Всего 136

(7+1,31)=(8,31)

Всего 39

(8,31+1)=(8,32)

Всего 40

(8+1,32)=(9,32)

Всего 41

(9,32*2)=(9,64)

Всего 73

(8,32+1)=(8,33)

Всего41

(8,33*2)=(8,66)

Всего 74

(8*2,32)=(16,32)

Всего 48

(16,32*2)=(16,64)

Всего 80

(8,32*2)=(8,64)

Всего 72

(8,64*2)=(8,128)

Всего 136

(7*2,31)=(14,31)

Всего 45

(14,31*2)=(14,62)

Всего 76

(7,31*2)=(7,62)

Всего 69

(7,62*2)=(7,124)

Всего 131

Задание 1. В начальных позициях (6, 33), (8, 32) выигрышная стратегия есть у Вани. При начальной позиции (6, 33) после первого хода Пети может получиться одна из следующих четырёх позиций: (7, 33), (12, 33), (6, 34), (6, 66). Каждая из этих позиций содержит менее 73 камней. При этом из любой из этих позиций Ваня может получить позицию, содержащую не менее 73 камней, удвоив количество камней во второй куче. Для позиции (8, 32) после первого хода Пети может получиться одна из следующих четырёх позиций: (9, 32), (16, 32), (8, 33), (8, 64). Каждая из этих позиций содержит менее 73 камней. При этом из любой из этих позиций Ваня может получить позицию, содержащую не менее 73 камней, удвоив количество камней во второй куче. Таким образом, Ваня при любом ходе Пети

выигрывает своим первым ходом.

Задание 2. В начальных позициях (6, 32), (7, 32) и (8, 31) выигрышная стратегия есть у Пети. При начальной позиции (6, 32) он должен первым ходом получить позицию (6, 33), из начальных позиций (7, 32) и (8, 31). Петя после первого хода должен получить позицию (8, 32). Позиции (6, 33) и (8, 32) рассмотрены при разборе задания 1. В этих позициях выигрышная стратегия есть у игрока, который будет ходить вторым (теперь это Петя). Эта стратегия описана при разборе задания 1. Таким образом, Петя при любой игре Вани выигрывает своим вторым ходом.

Задание 3. В начальной позиции (7, 31) выигрышная стратегия есть у Вани. После первого хода Пети может возникнуть одна из четырёх позиций: (8, 31), (7, 32), (14, 31) и (7, 62). В позициях (14, 31) и (7, 62) Ваня может выиграть одним ходом, удвоив количество камней во второй куче. Позиции (8, 31) и (7, 32) были рассмотрены при разборе задания 2. В этих позициях у игрока, который должен сделать ход (теперь это Ваня), есть выигрышная стратегия. Эта стратегия описана при разборе задания 2. Таким образом, в зависимости от игры Пети Ваня выигрывает на первом или втором ходу.

27. Задание В физической лаборатории проводится долговременный эксперимент по изучению гравитационного поля Земли. По каналу связи каждую минуту в лабораторию передаётся положительное целое число – текущее показание прибора «Сигма 2015». Количество передаваемых чисел в серии известно и не превышает 10 000. Все числа не превышают 1000. Временем, в течение которого происходит передача, можно пренебречь.

Необходимо вычислить «бета-значение» серии показаний прибора – минимальное чётное произведение двух показаний, между моментами передачи которых прошло не менее 6 минут. Если получить такое произведение не удаётся, ответ считается равным –1.

Вам предлагается два задания, связанных с этой задачей: задание А и задание Б. Вы можете решать оба задания или одно из них по своему выбору. Итоговая оценка выставляется как максимальная из оценок за задания А и Б. Если решение одного из заданий не представлено, то считается, что оценка за это задание – 0 баллов. Задание Б является усложнённым вариантом задания А, оно содержит дополнительные требования к программе.

А. Напишите на любом языке программирования программу для решения поставленной задачи, в которой входные данные будут запоминаться в массиве, после чего будут проверены все возможные пары элементов. Перед программой укажите версию языка программирования.

ОБЯЗАТЕЛЬНО укажите, что программа является решением ЗАДАНИЯ А.

Максимальная оценка за выполнение задания А – 2 балла.

Б. Напишите программу для решения поставленной задачи, которая будет эффективна как по времени, так и по памяти (или хотя бы по одной из этих характеристик).

Программа считается эффективной по времени, если время работы

программы пропорционально количеству полученных показаний прибора N, т.е. при увеличении N в k раз время работы программы должно увеличиваться не более чем в k раз.

Программа считается эффективной по памяти, если размер памяти, использованной в программе для хранения данных, не зависит от числа N и не превышает 1 килобайта.

Перед программой укажите версию языка программирования и кратко опишите использованный алгоритм.

ОБЯЗАТЕЛЬНО укажите, что программа является решением ЗАДАНИЯ Б.

Максимальная оценка за правильную программу, эффективную по времени и по памяти, – 4 балла.

Максимальная оценка за правильную программу, эффективную по времени, но неэффективную по памяти, – 3 балла. НАПОМИНАЕМ! Не забудьте указать, к какому заданию относится каждая из представленных Вами программ.

Входные данные представлены следующим образом. В первой строке задаётся число N – общее количество показаний прибора. Гарантируется, что N > 6. В каждой из следующих N строк задаётся одно положительное целое число – очередное показание прибора.

Пример входных данных:

11

12

45

5

3

17

23

21

20

19

18

17

Программа должна вывести одно число – описанное в условии произведение либо –1, если получить такое произведение не удаётся.

Пример выходных данных для приведённого выше примера входных данных:

54

Пояснение.

Задание Б (решение для задания А приведено ниже, см. программу 4). Чтобы произведение было чётным, хотя бы один сомножитель должен быть чётным, поэтому при поиске подходящих произведений чётные показания прибора можно рассматривать в паре с любыми другими, а нечётные – только с чётными.

Для каждого показания с номером k, начиная с k = 7, рассмотрим все допустимые по условиям задачи пары, в которых данное показание получено вторым. Минимальное произведение из всех этих пар будет получено, если первым в паре будет взято минимальное подходящее показание среди всех, полученных от начала приёма и до показания с номером k – 6. Если очередное показание чётное, минимальное среди предыдущих может быть любым, если нечётное – только чётным.

Для получения эффективного по времени решения нужно по мере ввода данных помнить абсолютное минимальное и минимальное чётное показание на каждый момент времени, каждое вновь полученное показание умножать на соответствующий ему минимум, имевшийся на 6 элементов ранее, и выбрать минимальное из всех таких произведений.

Поскольку каждое текущее минимальное показание используется после ввода ещё 6 элементов и после этого становится ненужным, достаточно хранить только 6 последних минимумов. Для этого можно использовать массив из 6 элементов и циклически заполнять его по мере ввода данных. Размер этого массива не зависит от общего количества введённых показаний, поэтому такое решение будет эффективным не только по времени, но и по памяти. Чтобы хранить абсолютный и чётный минимумы, нужно использовать два таких массива. Ниже приводится пример такой программы, написанной на алгоритмическом языке.

Пример 1. Пример правильной программы на алгоритмическом языке. Программа эффективна и по времени, и по памяти.

алг

нач

цел s = 6 | требуемое расстояние между показаниями

цел amax = 1001 | больше максимально возможного показания

цел N

ввод N

цел a | очередное показание прибора

целтаб мини | текущие минимумы последних s элементов

целтаб миничет | чётные минимумы последних s элементов

цел i

| вводим первые s показаний, фиксируем минимумы

цел ма; ма:= amax | минимальное показание

цел мчет; мчет:= amax | минимальное чётное показание

нц для i от 1 до s

ввод а

ма:= imin(ма, a)

мини := ма

миничет := мчет

кц

цел мп = amax*amax | минимальное значение произведения

цел п

нц для i от s+1 до N

ввод а

если mod(a,2)=0

то п:= a * мини

иначе если мчет

то п:= a * миничет

иначе п:= amax*amax;

все

все

мп:= imin(мп, п)

ма:= imin(ма, a)

если mod(a,2) = 0 то мчет:= imin(мчет,a) все

мини := ма

миничет := мчет

кц

если мп = amax*amax то мп:=-1 все

вывод мп

кон

Возможны и другие реализации. Например, вместо циклического заполнения массива можно каждый раз сдвигать его элементы. В приведённом ниже примере хранятся и сдвигаются не минимумы, а исходные значения. Это требует чуть меньше памяти (достаточно одного массива вместо двух), но по времени решение со сдвигами менее эффективно, чем с циклическим заполнением. Однако время работы остаётся пропорциональным N, поэтому максимальная оценка за такое решение тоже составляет 4 балла.

Программа 2. Пример правильной программы на языке Паскаль.

Программа использует сдвиги, но эффективна по времени и по памяти

var

N: integer;

a: array of integer; {хранение s показаний прибора}

a_: integer; {ввод очередного показания}

p: integer;

i, j: integer;

begin

readln(N);

{Ввод первых s чисел}

for i:=1 to s do readln(a[i]);

{Ввод остальных значений, поиск минимального произведения}

ma:= amax; me:= amax;

mp:=amax*amax;

for i:= s + 1 to N do begin

readln(a_);

if a

if (a mod 2 = 0) and (a

if a_ mod 2 = 0 then p:= a_ * ma

else if me

else p:= amax* amax;

if (p

{сдвигаем элементы вспомогательного массива влево}

for j:= 1 to s - 1 do

a[j] := a;

a[s] := a_

end;

if mp = amax*amax then mp:=-1;

writeln(mp)

end.

Если вместо небольшого массива фиксированного размера (циклического или со сдвигами) хранятся все исходные данные (или все текущие минимумы), программа сохраняет эффективность по времени, но становится неэффективной по памяти, так как требуемая память растёт пропорционально N. Ниже приводится пример такой программы на языке Паскаль. Подобные (и аналогичные по сути) программы оцениваются не выше 3 баллов.

Программа 3. Пример правильной программы на языке Паскаль. Программа эффективна по времени, но неэффективна по памяти

const s = 6; {требуемое расстояние между показаниями}

amax = 1001; {больше максимально возможного показания}

var

N, p, i: integer;

ma: integer; {минимальное число без s последних}

me: integer; {минимальное чётное число без s последних}

mp: integer; {минимальное значение произведения}

begin

readln(N);

{Ввод всех показаний прибора}

for i:=1 to N do readln(a[i]);

ma:= amax;

me:= amax;

mp:= amax*amax;

for i:= s + 1 to N do

begin

if a

if (a mod 2 = 0) and (a

me:= a;

if a[i] mod 2 = 0 then p:= a[i] * ma

else if me

else p:= amax * amax;

if (p

end;

if mp = amax*amax then mp:= -1;

writeln(mp)

end.

Возможно также переборное решение, в котором находятся произведения всех возможных пар и из них выбирается минимальное. Ниже (см. программу 4) приведён пример подобного решения. Это (и аналогичные ему) решение неэффективно ни по времени, ни по памяти. Оно является решением задания А, но не является решением задания Б. Оценка за такое решение – 2 балла.

Программа 4. Пример правильной программы на языке Паскаль. Программа неэффективна ни по времени, ни по памяти

const s = 6; {требуемое расстояние между показаниями}

var

N: integer;

a: array of integer; {все показания прибора}

mp: integer; {минимальное значение произведения}

i, j: integer;

begin

readln(N);

{Ввод значений прибора}

for i:=1 to N do

readln(a[i]);

mp:= 1000 * 1000 + 1;

for i:= 1 to N-s do begin

for j:= i+s to N do begin

if (a[i]*a[j] mod 2 = 0) and (a[i]*a[j]

then mp:= a[i]*a[j]

end;

end;

if mp = 1000 * 1000 + 1 then mp:= -1;

writeln(mp)

Похожие статьи