22 июля 2022
В закладки
Обсудить
Жалоба
Вариант с ЕГЭ по информатике от 20.06.2022.
Вариант: stepik.org/lesson/748682/step/1
Файлы к заданиям: drive.google.com/drive…
Таймкоды
00:00 Вступление
00:11 Номер 1 (ответ:66)
06:33 Номер 2 (ответ:wzyx)
11:36 Номер 3 (ответ:1610)
20:38 Номер 4 (ответ:14)
30:32 Номер 5 (ответ:8)
40:32 Номер 6 (ответ:81)
46:23 Номер 7 (ответ:2048)
53:05 Номер 8 (ответ:2961)
01:05:58 Номер 9 (ответ:104)
01:13:19 Номер 10 (ответ:26)
01:14:13 Номер 11 (ответ:1388)
01:19:57 Номер 12 (ответ:299)
01:22:31 Номер 13 (ответ:21)
01:27:19 Номер 14 (ответ:1891)
01:28:53 Номер 15 (ответ:74)
01:39:40 Номер 16 (ответ:578)
01:47:32 Номер 17 (ответ:175 173738)
01:54:34 Номер 18 (ответ:2628 1659)
02:05:52 Номер 19-21 ответ:19)61 20)112 120 21)111
02:33:09 Номер 22 (ответ:71)
02:41:22 Номер 23 (ответ:376)
02:48:55 Номер 24 (ответ:174)
02:59:20 Номер 25
03:09:01 Номер 26 (ответ:2767 51)
03:20:13 Номер 27 (ответ:51063 5634689219329)
Рубрика «Разбор ЕГЭ»
Разбор варианта дальнего востока ЕГЭ 2022 | Касперский из Вебиума
Разбор варианта дальнего востока ЕГЭ 2022 | Касперский из Вебиума
Читать далее
РАЗБОР СЛИВОВ с ДАЛЬНЕГО ВОСТОКА на ЕГЭ 2022
РАЗБОР СЛИВОВ с ДАЛЬНЕГО ВОСТОКА на ЕГЭ 2022! | Подготовка к ЕГЭ 2022 по ИНФОРМАТИКЕ
Читать далее
РАЗБОР ДАЛЬНЕГО ВОСТОКА ИНФОРМАТИКА 2022
РАЗБОР ДАЛЬНЕГО ВОСТОКА ИНФОРМАТИКА 2022.
Читать далее
Разбор варианта 15062022 КЕГЭ по информатике 2022 Evgenij Jobs
Разбор варианта 15062022 КЕГЭ по информатике 2022 Evgenij Jobs
Читать далее
Разбор открытого пробника 06.2022 ЕГЭ по информатике 2022
Разбор открытого пробника 06.2022 ЕГЭ по информатике 2022. Разбираем открытый пробник 06.2022
Читать далее
Информатика ЕГЭ 2022 СДАЕМ ЕГЭ ЗА ПОЛЧАСА на 60+!! Решаем вариантик Крылова.
Информатика ЕГЭ 2022 СДАЕМ ЕГЭ ЗА ПОЛЧАСА на 60+!! Решаем вариантик Крылова.
Читать далее
№12,15,19-21,24-27 из ЕГЭ 2022 по информатике за 12 часов. Все программирование и алгебра логики
№12,15,19-21,24-27 из ЕГЭ 2022 по информатике за 12 часов. Все программирование и алгебра логики
Читать далее
Разбор варианта Статград от 27.04.2022 ЕГЭ по информатике 2022
Разбор варианта Статград от 27.04.2022 ЕГЭ по информатике 2022. Пробные варианты ЕГЭ по информатике 2022. Решаем II вариант Статград от 27.04
Читать далее
Разбор апробации 27.04.2022 ЕГЭ по информатике 2022
Разбор апробации 27.04.2022 ЕГЭ по информатике 2022. Пробные варианты ЕГЭ по информатике 2022. Разбираем всероссийскую апробацию от 27.04.2022
Читать далее
Разбор пробного КЕГЭ по информатике от 27 апреля 2022
Разбор пробного КЕГЭ по информатике от 27 апреля 2022. Разбор всероссийского пробника 27.08.2022 ЕГЭ (КЕГЭ) по Информатике
Читать далее
Эта статья посвящена задачам из реального экзамена ЕГЭ по информатике 2022, которые были в этом году.
Посмотрим на сколько новый видеокурс по подготовке к ЕГЭ по информатике покрывает задачи из реального экзамена, а так же соответсвует последним веяньям моды.
Все задачи взяты с сайта: https://kompege.ru/variant?kim=25012688
Разбор задач с 19 по 27 задание.
Задание 1
На рисунке схема дорог Н-ского района изображена в виде графа, в таблице содержатся сведения о протяжённости каждой из этих дорог (в километрах).
Так как таблицу и схему рисовали независимо друг от друга, то нумерация населённых пунктов в таблице никак не связана с буквенными обозначениями на графе. Определите, какова сумма протяжённостей дорог из пункта A в пункт D и из пункта G в пункта С. В ответе запишите целое число.
Решение:
Легко найти пункты G и С. Это две двойные точки и они связаны друг с другом. Получаем номера 4 и 5 (Здесь порядок может быть наооборот). Значит, мы знаем расстояние между G и С, оно равно 53.
Найдём точку В, она тройная и связана с тремя тройными точками. Это точка 2. От этой точки пойдём и найдём две тройные, связанные между собой. Это точки 6 и 7. Значит, это буквы A и Б (порядок может быть другим). Посмотрим, кто из них связан с точкой 4 или 5. Это точка 6. Значит точка 6 — это F. Точка 7 — это A. Седьмая точка связана с двойной точкой D. Точка D получается 1. Расстояние между семёркой и единицей равно 13.
Ответ получается 53 + 13 = 66.
Ответ: 66
Задание 2
Миша заполнял таблицу истинности логической функции F
¬(w → z) ∨ (x → y) ∨ ¬x
но успел заполнить лишь фрагмент из трёх различных её строк, даже не указав, какому столбцу таблицы соответствует каждая из переменных w, x, y, z.
Определите, какому столбцу таблицы соответствует каждая из переменных w, x, y, z. В ответе напишите буквы w, x, y, z в том порядке, в котором идут соответствующие им столбцы (сначала буква, соответствующая первому столбцу; затем буква, соответствующая второму столбцу, и т.д.) Буквы в ответе пишите подряд, никаких разделителей между буквами ставить не нужно.
Пример. Функция F задана выражением ¬x / y, зависящим от двух переменных, а фрагмент таблицы имеет следующий вид.
В этом случае первому столбцу соответствует переменная y, а второму
столбцу – переменная x. В ответе следует написать: yx.
Решение:
Напишем шаблон, о котором было рассказано в видеокурсе по подготовке к ЕГЭ по информатике.
print('x', 'y', 'z', 'w') for x in range(0, 2): for y in range(0, 2): for w in range(0, 2): for z in range(0, 2): if not( not((not(w) or z)) or (not(x) or y) or not(x) ): print(x, y, z, w)
Получается такая таблица истинности:
x y z w
1 0 0 0
1 0 1 0
1 0 1 1
Каждый столбец имеет хотя бы один ноль, кроме последнего, поэтому последний столбец уходит переменной x, там все единицы.
Тогда все нули идут в предпоследний столбец, там будет переменная y.
У нас есть срочка с тремя нулями и одной единицей. Это может быть только последняя строчка, т.к. в первых двух строчках уже по две единицы. Значит, в первом столбце в последней ячейке ставим ноль. Получается w идёт в первый столбец, а переменная z во второй.
Ответ: wzyx
Задание 3
В файле приведён фрагмент базы данных «Продукты» о поставках товаров
в магазины районов города. База данных состоит из трёх таблиц.
Таблица «Движение товаров» содержит записи о поставках товаров в
магазины в течение первой декады июня 2021 г., а также информацию
о проданных товарах. Поле Тип операции содержит значение Поступление
или Продажа, а в соответствующее поле Количество упаковок, шт.
занесена информация о том, сколько упаковок товара поступило в магазин
или было продано в течение дня. Заголовок таблицы имеет следующий вид.
ID операции |
Дата | ID магазина |
Артикул | Тип операции |
Количество упаковок, шт. |
Цена, руб./шт. |
Таблица «Товар» содержит информацию об основных характеристиках
каждого товара. Заголовок таблицы имеет следующий вид.
Артикул | Отдел | Наименование | Ед. изм. |
Количество в упаковке |
Поставщик |
Таблица «Магазин» содержит информацию о местонахождении магазинов.
Заголовок таблицы имеет следующий вид.
На рисунке приведена схема указанной базы данных.
Используя информацию из приведённой базы данных, опредилите, на сколько увеличилось количество упаковок всех видов макарон производителя «Макаронная фабрика», имеющихся в наличии в магазинах Первомайского района, за период с 1 по 8 июня включительно.
В ответе запишите только число.
Решение:
Найдём артиклы всех макаронных изделий «Макаронной фабрики».
Открываем вкладку «Товар», кликаем в ячейку F1, выбираем кнопку на вкалдке «Главная» -> Сортировка и фильтр -> Фильтр.
Кнопка Фильтр может находится и на главной панеле. Теперь можно отфильровать товары только «Макаронной фабрики».
Получаются номера артиклов: 24, 25, 26, 27.
Аналогично отфильтровываем магазины Первомайского района. Получаются номера ID: M2, M4, M7, M8, M12, M13, M16.
После этого, переходим на вкладку «Движение товаров». Так же включаем фильтры и оставляем только нужные артиклы макаронных изделий и нужные ID магазинов.
Если мы ещё отфильтруем товары по типу «поступления», мы узнаем сколько макаронных изделий пришло в нужные нам магазины. После фильтрации остаётся только первое июня, значит, про дату пока не нужно думать.
Выделяем ячейки столбца Количество упаковок и внизу смотрим сумму этих ячеек. Получается 4970 упаковок.
Здесь нельзя пользоваться стандартной функцией СУММ, потому что она суммируем ещё и скрытые ячейки. А так мы получаем сумму выделенных ячеек.
Аналогично находим, сколько товаров было продано. В столбце «Тип операции» отфильтровываем по типу «Продажа».
Дата опять осталась только одна (1 июня). Получается, продали 3360 упаковок.
Следовательно, увеличилось на 4970 — 3360 = 1610 упаковок всех макаронных изделий в указанных магазинах за период с 1 по 8 июня включительно.
Ответ: 1610
Задание 4
По каналу связи передаются сообщения, содержащие только буквы из набора: А, З, К, Н, Ч. Для передачи используется двоичный код, удовлетворяющий условию Фано. Это условие обеспечивает возможность однозначной расшифровки закодированных сообщений. Кодовые слова для некоторых букв известны: Н — 1111, З — 110. Для трёх оставшихся букв А, К и Ч кодовые слова неизвестны. Какое количество двоичных знаков постребуется для кодирования слова КАЗАЧКА, если известно, что оно закодировано минимально возможным количеством двоичных знаков.
Решение:
Расположим уже известные буквы на дереве Фано.
У нас остались три свободных места, если не продливать дерево: 0, 10, 1110.
Буква А встречается в слове КАЗАЧКА аж 3 раза. Значит, букве А присвоим код 0. Буква К встречается один раз, значит, ей код присвоим чуть побольше 10. Букве Ч достаётся код 1110. Это самый оптимальный способ распределить коды между оставшимися буквами.
Всего минимальная длина закодированного слова будет: 2 (К) + 1 (А) + 3 (З) + 1 (А) + 4 (Ч) + 2 (К) + 1 (А) = 14.
Ответ: 14
Задание 5
На вход алгоритма подаётся натуральное число N.
Алгоритм строит по нему новое число R следующим образом.
1. Строится двоичная запись числа N.
2. Далее эта запись обрабатывается по следующему правилу:
a) если сумма цифр в двоичной записи числа чётная, то к этой записи справа дописывается 0, а затем два левых разряда заменяются на 10;
б) если сумма цифр в двоичной записи числа нечётная, то к этой записи справа дописывается 1, а затем два левых разряда заменяются на 11.
Полученная таким образом запись является двоичной записью искомого числа R.
Например, для исходного числа 610 = 1102 результатом является число 10002 = 810, а для исходного числа 410 = 1002 результатом является число 11012 = 1310. Укажите минимальное число N, после обработки которого с помощью этого алгоритма получается число R, не меньшее, чем 16.
В ответе запишите это число в десятичной системе счисления.
Решение:
for n in range(1, 1000): s=format(n, 'b') if s.count('1')%2==0: s = s + '0' s = '10' + s[2:] else: s = s + '1' s = '11' + s[2:] r=int(s, 2) if r>=16: print(n)
Здесь мы пишем программу, как было написано в уроке видеокурса ЕГЭ по информатике. Но, действительно, встречается и новый приём. Нужно изменить левые символы нашей строки s. Это можно сделать с помощью такой конструкции s[2:]. Таким образом, мы берём всю строку, кроме двух первых символов. Например, s=’football’, то s[2:] будет обозначать ‘otball’.
Повторим основные идеи такого подхода при решении пятого задания из ЕГЭ по информатике с помощью программирования. Перебираем числа от 1 до 999 с помощью цикла for. В этом диапазоне надеямся найти наш ответ. С помощью команды format() превращаем число в строку уже в двоичной системе. Сумма цифр в строке зависит только от количества единиц. Нули ничего не дают в сумму. Поэтому применяем функцию .count. Дальше всё делаем, как написано в условии задачи. Команда int(s, 2) превращает строку в двоичной системе в число опять в десятичной системе счисления.
Ответ: 8
Задание 6
Определите, при каком наименьшем введённом значении переменной s программа выведет число 8. Для Вашего удобства программа представлена на четырёх языках.
*На данном сайте программа будет приведена на двух языках.
Решение:
Решать будем привычным способом — перебором. Здесь не нужно задействовать дополнительных особенных приёмов.
for i in range(-1000, 1000): s=i s = (s - 21) // 10 n = 1 while s>= 0: n = n * 2 s = s - n if n==8: print(i)
Ответ: 81
Задание 7
Для хранения сжатого произвольного растрового изображения размером 640 на 256 пикселей отведено 170 Кб памяти без учёта размера заголовка файла. Файл оригинального изображения больше сжатого на 35%. Для кодирования цвета каждого пикселя используется одинаковое количество бит, коды пикселей записываются в файл один за другим без промежутков. Какое максимальное количество цветов можно использовать в изображении ?
Решение:
Пусть i — это количество бит в одном пикселе. Тогда i * 640 * 256 = 170Кб * 1,35. Находим i.
i = 170Кб * 1,35 / (640 * 256) = 11,475 бит.
Здесь округляем в меньшую сторону, потому что, если округлим в большую сторону не уместимся в 170 кб. Далее действуем по формуле:
N = 2 i = 2 11 = 2048 цветов.
Ответ: 2048
Задание 8
Определите количество пятизначных чисел, записанных в восьмеричной системе счисления, в записи которых ровно одна цифра 6, при этом никакая нечётная цифра не стоит рядом с цифрой 6.
Решение:
Решим с помощью программы. Об этом мы говорили в видеокурсе ЕГЭ по информатике.
k=0 for x1 in '1234567': for x2 in '01234567': for x3 in '01234567': for x4 in '01234567': for x5 in '01234567': s = x1 + x2 + x3 + x4 + x5 if s.count('6')==1: if s.count('16')==0 and s.count('61')==0 and s.count('36')==0 and s.count('63')==0 and s.count('56')==0 and s.count('65')==0 and s.count('76')==0 and s.count('67')==0: k=k+1 print(k)
Ответ: 2961
Задание 9
Откройте файл электронной таблицы, содержащей в каждой строке четыре натуральных числа.
Определите количество строк таблицы, содержащих числа, для которых выполнены два условия:
— наибольшее из четырёх чисел меньше суммы трёх других;
— четыре числа можно разбить на две пары чисел с равными суммами.
В ответе запишите только число.
Решение:
В столбцах E, F, G, H мы хотим видеть отсортированные числа из нашей строки. Для этого воспользуемся функцией НАИМЕНЬШИЙ().
В ячейку E1 напишем формулу =НАИМЕНЬШИЙ(A1:D1; 1). В начале пишем диапазон, где мы рассматриваем числа, второй аргумент говорит, что мы хотим выбрать самый маленький элемент. Для ячейки F1 пишем =НАИМЕНЬШИЙ(A1:D1; 2). Т.e. выбираем второй по минимальности элемент. И так далее делаем для четырёх чисел.
Распространяем новые столбцы на всё пространство (как это делать, можете посмотреть в видеоуроке по 9 заданию в видеокурсе). Так же можно подсветить каким-нибудь цветом новые столбцы.
Здесь достаточно проверить одну комбинацию: максимальное число + минимальное число = сумма двух средних чисел. По другому нельзя получить одинаковые суммы пар чисел, если все числа не одинаковые в четвёрке. Но у нас нет такой строчки, где все четыре числа одинаковых (это можно отдельно проверить с помощью команды ЕСЛИ).
В столбце I расставим единицы напротив тех строчек, которые подходят под условие задачи, иначе, поставим 0. В ячейке I1 напишем формулу:
=ЕСЛИ(И(H1 < E1 + F1 + G1; E1 + H1 = F1 + G1); 1; 0)
Затем распространяем эту формулу на весь столбец и подсчитаем количество единиц в этом столбце.
Получается 104 строчки.
Ответ: 104
Задание 10
Текст произведения Льва Николаевича Толстого «Севастопольские рассказы» представлен в виде файлов различных форматов. Откройте один из файлов и определите, сколько раз встречается в тексте отдельное слово «солдаты» со строчной буквы. Другие формы этого слова учитывать не следует. В ответе запишите только число.
Решение:
Открываем соответствующий файл в программе Word. На вкладке «Главная» находится кнопка «Найти«. Кликаем по чёрному треугольнику возле этой кнопки и выбираем «Расширенный поиск«.
На вкладке «Главная» находится кнопка «Найти«. Кликаем по чёрному треугольнику возле этой кнопки и выбираем «Расширенный поиск«.
Далее, нажимаем кнопку «Больше>>«.
Теперь у нас есть все инструменты, чтобы решить 10 задание из ЕГЭ по информатике 2022.
В поле «Найти» пишем наше слово «солдаты«. Галочку «Учитывать регистр» ставим, т.к. слово может быть только с маленькой буквы. Ставим галочку «Только слово целом«.
Нажимаем Найти в -> «Основной документ».
Получаем ответ 1.
Ответы: 26
Задание 11
При регистрации в компьютерной системе каждому объекту присваиватся идентификатор, состоящий из 252 символов и содержащий только десятичные цифры и символы из 1700-символьного специального алфавита. В базе данных для хранения каждого индетификатора отведено одинаковое и минимально возможное целое число байт. При этом используется посимвольное кодирование идентификаторов, все символы кодируются одинаковым и минимально возможным количеством бит.
Определите объём памяти (в Кбайт), необходимый для хранения 4096 идентификаторов. В ответе запишите только целое число — количество Кбайт.
Решение:
Воспользуемся формулой для 11-ого задания из ЕГЭ по информатике.
Вместо N подставляем число 1700 + 10 = 1710 (1700 символов плюс 10 цифр). Тогда
1710 < 211
Т.е. 11 бит точно хватит, чтобы закодировать 1710 символов.
В идетификаторе всего 252 ячейки. Найдём сколько будет «весить» один идетификатор: 252 * 11 = 2772 бит. Узнаем, сколько байт потребуется для одного идентификатора 2772 / 8 = 347 байт (округлили в большую сторону, чтобы точно хватило).
У нас всего 4096 идетификаторов. Тогда нам потребуется 4096 * 347 = 1421312 байт. Переведём в Кб: 1421312 / 1024 = 1388 Кб.
Ответ: 1388
Задание 12
Исполнитель Редактор получает на вход строку цифр и преобразовывает её.
Редактор может выполнять две команды, в обеих командах v и w обозначают
цепочки цифр.
А) заменить (v, w).
Эта команда заменяет в строке первое слева вхождение цепочки v на
цепочку w. Например, выполнение команды
заменить (111, 27)
преобразует строку 05111150 в строку 0527150.
заменить (v, w) не меняет эту строку.
Б) нашлось (v).
Эта команда проверяет, встречается ли цепочка v в строке исполнителя
Редактор. Если она встречается, то команда возвращает логическое значение
«истина», в противном случае возвращает значение «ложь». Строка
исполнителя при этом не изменяется.
Цикл
ПОКА условие последовательность команд КОНЕЦ ПОКА
выполняется, пока условие истинно.
В конструкции
ЕСЛИ условие ТО команда1 ИНАЧЕ команда2 КОНЕЦ ЕСЛИ
выполняется команда1 (если условие истинно) или команда2 (если условие
ложно).
Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 96 идущих подряд цифр 9? В ответе запишите полученную строку.
НАЧАЛО ПОКА нашлось(22222) ИЛИ нашлось(9999) ЕСЛИ нашлось(22222) ТО заменить(22222, 99) ИНАЧЕ заменить(9999, 2) КОНЕЦ ЕСЛИ КОЕНЦ ПОКА КОНЕЦ
Решение:
Решать будем, как было показано в видеокурсе.
s='9'*96 while '22222' in s or '9999' in s: if '22222' in s: s = s.replace('22222', '99', 1) else: s = s.replace('9999', '2', 1) print(s)
Ответ: 299
Задание 13
На рисунке представлена схема дороог, связывающих города А, Б, В, Г, Д, Е, Ж, И, К, Л. По каждой дороге можно двигаться только в одном направлении, указанном стрелкой.
Определите количество различных путей ненулевой длины, которые начинаются и заканчиваются в городе Е, не содержат этот город в качестве промежуточного пункта и проходят через промежуточные города не более одного раза.
Решение:
Решать будем примерно так же, как и классическую задачу. Основные идеи ни чем не отличаются.
В город Е входят города с числами: 16, 2 и 3. Значит, ответ получается 16 + 2 + 3 = 21.
Ответ: 21
Задание 14
Значение арифметического выражения
4*6251920 + 4*1251930 — 4*251940 — 3*51950 — 1960
записали в системе счисления с основанием 5. Определите количество значащих нулей в записи этого числа.
Решение:
Решаем классическим способом с помощью программирования.
f=4*625**1920 + 4*125**1930 - 4*25**1940 - 3*5**1950 - 1960 s='' while f>0: s = s + str(f%5) f = f // 5 print(s.count('0'))
Ответ: 1891
Задание 15
Обозначим через ДЕЛ(n, m) утверждение «натуральное число n делится без остатка на натуральное число m». Для какого наименьшего натурального числа А формула
(ДЕЛ(x, 2) → ¬ДЕЛ(x, 3)) ∨ (x + A >= 80)
тождественно истинна (т.е. принимает значение 1) при любом натуральном значении переменной x ?
Решение:
Применим шаблон из видокурса ЕГЭ по информатике.
def D(n, m): if n%m==0: return True else: return False for A in range(1, 1000): k=0 for x in range(1, 10000): if (not(D(x, 2)) or not(D(x, 3))) or (x + A >= 80): k=k+1 if k==9999: print(A)
Здесь в начале пишем функцию D, которая олицетворяет функцию ДЕЛ. Потом перебираем различные натуральные значения A. Если функция для какого-то значения сработает 9999 раз, то будем считать, что такое значение A нам подходит.
Самое маленькое значение получается 74.
Ответ: 74
Задание 16
Алгоритм вычисления значения функции F(n), где n — натуральное число, задан следующими соотношениями:
F(n) = 1 при n < 3;
F(n) = F(n — 1) + n — 1, если n>2 и при этом n чётное;
F(n) = F(n — 2) + 2n — 2, если n>2 и при этом n нечётное.
Чему равно значение функции F(34) ?
Решение:
Здесь достаточно просто запрограммировать этот алгоритм.
def F(n): if n<3: return 1 if n>2 and n%2==0: return F(n-1) + n - 1 if n>2 and n%2!=0: return F(n-2) + 2*n - 2 print(F(34))
Ответ: 578
Задание 17
В файле содержится последовательность натуральных чисел. Элементы последовательности могут принимать целые значения от 1 до 100 000 включительно. Определите количество пар последовательности, в которых остаток от деления хотя бы одного из элементов на 117 равен минимальному элементу последовательности. В ответе запишите количество найденных пар, затем максимальную из сумм элементов таких пар. В данной задаче под парой подразумивается два идущих подряд элемента последовательности.
Решение:
В начале найдём самый маленький элемент последовательности.
f=open('17.txt') mn=10**9 for s in f.readlines(): x = int(s) mn=min(mn, x) print(mn)
Получается минимальное число равно 8.
f=open('17.txt') k=0 mx=0 n1=int(f.readline()) for s in f.readlines(): n2=int(s) if n1%117==8 or n2%117==8: k=k+1 mx = max(mx, n1+n2) n1=n2 print(k, mx)
Ответ:
Задание 18
Квадрат разлинован на N × N клеток (1 < N < 30). Исполнитель Робот может
перемещаться по клеткам, выполняя за одно перемещение одну из двух
команд: вправо или вниз. По команде вправо Робот перемещается
в соседнюю правую клетку, по команде вниз – в соседнюю нижнюю.
Квадрат ограничен внешними стенами. Между соседними клетками квадрата
также могут быть внутренние стены. Сквозь стену Робот пройти не может.
Перед каждым запуском Робота в каждой клетке квадрата лежит монета
достоинством от 1 до 100. Посетив клетку, Робот забирает монету с собой;
это также относится к начальной и конечной клеткам маршрута Робота.
Определите максимальную и минимальную денежные суммы, которые
может собрать Робот, пройдя из левой верхней клетки в правую нижнюю.
В ответе укажите два числа – сначала максимальную сумму, затем
минимальную.
Исходные данные представляют собой электронную таблицу размером
N × N, каждая ячейка которой соответствует клетке квадрата. Внутренние
и внешние стены обозначены утолщенными линиями.
Пример входных данных:
1 | 8 | 8 | 4 |
10 | 1 | 1 | 3 |
1 | 3 | 12 | 2 |
2 | 3 | 5 | 6 |
Для указанных входных данных ответом должна быть пара чисел
Решение:
Открываем файл в программе Excel.
Выделим все ячейки с числами, нажмём «вырезать», используя контекстное меню. Вставим данные на 1 столбец вправо. Это делаем потому, что будем использовать для решения формулу, которая будет обращаться к ячейке слева.
Мысленно представим пространство на 1 строчку ниже, чем область, где находятся числа. Это пространство будет таким же по размерам, как и область с числами. В этом пространстве и будет наше решение.
Отметим особым цветом те ячейки, которые «спрятаны» от движения Робота стенками.
Для этих ячеек будем составлять другие формулы, в отличии от обычных ячеек.
Цвет ячейки можно поменять, нажав на кнопку «Цвет заливки» на главной вкладке программы.
Т.к. Робот направляется из левой верхней ячейки, то мы сначала и напишем формулу для этой ячейки. Пишем для ячейки B22:
=МАКС(B21;A22)+B1
Робот в любую ячейку может прийти либо сверху, либо слева. Для подсчёта максимального количества монет, мы должны выбрать максимальное предыдущее значение. Это и делаем формула. Плюс Робот должен взять монеты с текущей клетки.
Распространим формулу на всё пространство, не трогая закрашенные клетки.
Получается такая картина:
В ячейки для первой закрашенной области, Робот может попасть только сверху! Поэтому пишем формулу для ячейки H25:
=H24+H4
Распространяем формулу по всему закрашенному столбцу.
В ячейки для второй закрашенной области, Робот может попасть только слева! Поэтому пишем формулу для ячейки М39:
=L39+M18
Распространяем формулу по всей закрашенной строчке.
В ячейке U23 напишем формулу:
=U22+U2
И тоже распространим формулу на закрашенную часть.
В правом нижнем углу нашего рабочего пространства получается максимальное количество монет, которое может собрать Робот. В ячейке U41 получается число 2628.
Чтобы получить минимальную возможную сумму, в главной формуле функцию МАКС нужно заменить на МИН!
Удобно воспользоваться автоматической заменой через Ctrl+F.
Минимальная сумма равна 1659.
Ответ:
Разбор задач с 19 по 27 задание.
1.
1 задание. Досрочный ЕГЭ 2022 информатика, ФИПИ:
На рисунке схема дорог Н-ского района изображена в виде графа, в таблице содержатся сведения о протяжённости каждой из этих дорог (в километрах).
П1 | П2 | П3 | П4 | П5 | П6 | П7 | |
---|---|---|---|---|---|---|---|
1 | — | 11 | 10 | 7 | |||
2 | — | 10 | 8 | ||||
3 | 11 | 10 | — | 13 | |||
4 | — | 13 | 3 | ||||
5 | 10 | 13 | — | 5 | |||
6 | 7 | 8 | 13 | — | |||
7 | 3 | 5 | — |
Так как таблицу и схему рисовали независимо друг от друга, то нумерация населённых пунктов в таблице никак не связана с буквенными обозначениями на графе.
В таблице в левом столбце указаны номера пунктов, откуда совершается движение, в первой строке – куда.
Определите сумму длин дорог между пунктом А и пунктом Б, и между пунктом Е и пунктом К.
Ответ: 16
✍ Решение:
- Рядом с каждой вершиной напишем количество ребер для данной вершины и в скобках — количество ребер у соседних вершин:
- Проще всего определить вершины Е и К, так как это единственные вершины с двумя ребрами, соседствующие друг с другом:
Е = П7
, на пересечении с ней находится П4, у которой также 2 ребра.К = П4
. - Вторым соседом Е является вершина Б. Значит
Б = П5
. - Вторым соседом К является вершина Д. Значит
Д = П6
. - Одним из соседей Д является вершина Г, у которой два ребра. На пересечении с Д есть пункт П2, в котором два значения. Значит,
Г = П2
. - По заданию нам необходимо найти длину дорог между А и Б, и длину дорог между Е и К. Найдем значения и их сумму:
Вторым соседом Г является вершина А. Т.е., А = П3
.
13 + 3 = 16
Ответ: 16
2.
2 задание. Досрочный вариант ЕГЭ по информатике 2022, ФИПИ:
Логическая функция F задаётся выражением
¬(x → z) ∨ (y ≡ w) ∨ ¬y
На
рисунке приведён частично заполненный фрагмент таблицы истинности
функции F, содержащий неповторяющиеся строки.
переменных x, y, z, w.
Определите, какому столбцу таблицы истинности функции F соответствует каждая из.
В ответе напишите буквы x, y, z, w в том порядке, в котором идут соответствующие им столбцы. Буквы в ответе пишите подряд, никаких разделителей между буквами ставить не нужно.
??? | ??? | ??? | ??? | F |
0 | 0 | 0 | ||
0 | 0 | |||
1 | 1 | 0 | 0 |
В ответе запишите буквы в том порядке, в котором идут соответствующие им столбцы (сначала буква, соответствующая первому столбцу; затем буква, соответствующая второму столбцу, и т.д.).
-
✎ Способ 1. Программирование:
- Для
y
имеем все значенияtrue
, что может соответствовать только 3-му столбцу. - Для
w
имеем все значенияfalse
, что может соответствовать только 4-му столбцу. - Для поиска
z
иx
рассмотрим вторую строку — в ней их значения различны. Значениеfalse
— у переменнойx
, что соответствует первому столбцу. - Соответственно
z
будет во втором столбце.
Язык PascalAbc.net:
begin writeln('x':7, 'y':7, 'z':7,'w':7); for var x:=false to true do for var y:=false to true do for var z:=false to true do for var w:=false to true do if not((not (x <= y)) or (y=w) or (not y)) then writeln(x:7, y:7, z:7,w:7); end.
Сопоставим полученный результат с исходной таблицей:
x y z w False True False False False True True False True True False False True True True False |
|
Ответ: xzyw
3.
3 задание. Досрочный вариант ЕГЭ по информатике 2022, ФИПИ:
Задание выполняется с использованием прилагаемых файлов
В файле приведён фрагмент базы данных «Продукты» о поставках товаров в магазины районов города. База данных состоит из трёх таблиц.
Таблица «Движение товаров» содержит записи о поставках товаров в магазины в течение первой декады июня 2021 г., а также информацию о проданных товарах. Поле Тип операции содержит значение Поступление или Продажа, а в
соответствующее поле Количество упаковок, шт. занесена информация о том, сколько упаковок товара поступило в магазин или было продано в течение дня.
Заголовок таблицы имеет следующий вид.
ID операции | Дата | ID магазина | Артикул | Тип операции | Количество упаковок, шт. | Цена, руб./шт. |
Таблица «Товар» содержит информацию об основных характеристиках каждого товара. Заголовок таблицы имеет следующий вид.
Артикул | Отдел | Наименование | Ед. изм. | Количество в упаковке | Поставщик |
Таблица «Магазин» содержит информацию о местонахождении магазинов. Заголовок таблицы имеет следующий вид.
На рисунке приведена схема указанной базы данных.
Используя информацию из приведённой базы данных, определите на сколько увеличилось количество упаковок яиц диетических, имеющихся в наличии в магазинах Заречного района, за период с 1 по 8 июня включительно.
В ответе запишите только число.
Ответ: 956
✍ Решение:
- В таблице
Товар
находим наименование товара — Яйцо диетическое (можно использовать фильтр). Запоминаем его артикул —15
. - В таблице
Магазин
ищем магазины Заречного района, выписываем их ID:M3
,M9
,M11
,M14
. - В таблице
Движение товаров
выделяем первую строку и ставим фильтр на всю строку. - В столбце
ID Магазина
отмечаем только ID из предыдущего пункта. В столбцеАртикул
— выбираем15
.
Проверяем даты — все они входят в указанный диапазон дат.
Выбираем Тип операции
— Поступление. выделяем значение столбца и смотрим сумму в столбце Количество упаковок — 1420. Затем выбираем Продажа; количество упаковок — 454.
1420 - 454 = 956
Ответ: 956
4.
4 задание. Досрочный вариант ЕГЭ по информатике 2022, ФИПИ:
Для кодирования некоторой последовательности, состоящей из букв О, Н, Г, К, Р, решили использовать неравномерный двоичный код, гарантирующий однозначное декодирование. Для букв К и Р использовали соответственно кодовые слова 00, 011.
Найдите наименьшую возможную длину кодовой последовательности для слова КОНОГОН.
Ответ: 15
✍ Решение:
- Размещаем буквы так, чтобы наиболее часто встречаемые в слове
коногон
буквы имели наиболее короткий код.
К = 2 О = 3*2 = 6 Н = 2*2 = 4 Г = 3 --- итого: 15
Ответ: 15
5.
5 задание. Демоверсия варианта ЕГЭ по информатике 2022, ФИПИ:
Автомат обрабатывает натуральное число N
по следующему алгоритму:
1. Строится двоичная запись числа N
.
2. К полученной записи дописываются разряды. Если число четное справа дописывается 10, если число нечетное – слева дописывается 1 и справа 01.
3. Результат переводится в десятичную систему и выводится на экран.
Пример. Дано число N = 13. Алгоритм работает следующим образом:
1. Двоичная запись числа N: 1101.
2. Число нечетное, следовательно слева дописываем 1, справа 01 – 1+1101+01 = 1110101.
3. На экран выводится число 117.
В результате работы автомата на экране появилось число, большее 516. Для какого наименьшего значения N
данная ситуация возможна?
✎ Решение с использованием программирования:
PascalAbc.NET:
uses school; begin var n_ := 1; while True do begin var n := n_; var binN := bin(n); if n mod 2 = 0 then binN := binN + '10' // добавили 10, строковое значение в 2-й с.с. else binN := '1' + binN + '01';// добавили слева 1, права 01 n := dec(binN, 2); // перевод из двоичной в 10-ю с.с. if n > 516 then begin println(n_); break end; n_ += 1; end; end. |
Python: |
Ответ: 65
6.
6 задание. Досрочный вариант ЕГЭ по информатике 2022, ФИПИ:
Найдите минимальное значение переменной s
, подаваемое на вход программе, для которого в результате работы программы на экран будет выведено значение 8? Для Вашего удобства программа представлена на четырёх языках программирования.
Паскаль:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
var n, s: integer; begin readln(s); s := (s - 10) div 7; n := 1; while s > 0 do begin n := n * 2; s := s - n; end; write(n) end. |
Алгоритмический язык:
алг нач цел s, n ввод s s = div(s-10, 7) n := 1 нц пока s > 0 n := n * 2 s := s - n кц вывод n кон |
Python:
s = int(input()) s = (s - 10) // 7 n = 1 while s > 0: n = n*2 s = s – n print(n) |
С++:
#include <iostream> using namespace std; int main() { int n, s; cin >> s; n = 1; s = (s – 10) / 7; while(s > 0) { n = n * 2; s = s - n; } cout << n; return 0; } |
Ответ: 59
✍ Решение:
-
✎ Способ 1 (программный):
- Поскольку условие цикла
s > 0
, а по условию задания следует найти наименьшее значениеs
, то можно начать примерно сs=500
. Во внешнем цикле необходимо постоянно уменьшать значениеs
на единицу. - Важно для внешнего цикла использовать другую переменную, т.к. во внутреннем цикле переменная
s
меняется, а нам следует каждый шаг внешнего цикла сохранить предыдущее значениеs
, уменьшив его всего на 1. Используем переменнуюs_
для этих целей. - Из полученных выведенных значений выбираем последнее — наименьшее (
59
).
Pascalabc.net:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
begin var s_ := 500; while s_ > -10 do begin var s := s_; s := (s - 10) div 7; var n := 1; while s > 0 do begin n := n * 2; s := s - n; end; if n = 8 then writeln(s_); s_ := s_ - 1; end; end. |
Пояснение:
Ответ: 59
7.
7 задание. Досрочный вариант ЕГЭ по информатике 2022, ФИПИ:
Для хранения произвольного растрового изображения размером 486×720 пикселей отведено 80 Кбайт памяти без учёта размера заголовка файла. Для кодирования цвета каждого пикселя используется одинаковое количество бит, коды пикселей записываются в файл один за другим без промежутков. После сохранения информации о пискселях изображение сжимается. Размер итогового файла после сжатия на 15% меньше исходного. Какое максимальное количество цветов можно использовать в изображении?
Ответ: 4
✍ Решение:
-
✎ Способ 1 (программный):
Pascalabc.net:
## // I = n * m * i -> // -> i = I / (n * m) var I:=80.0; I:=80*1024*8; // в биты I:=I/0.85; // с учетом сжатия var nm:=486*720; var ipix:= (I / nm).Floor; // отсекаем дробную часть var maxColor:=power(2,ipix); print(maxColor)
8.
8 задание. Досрочный вариант ЕГЭ по информатике 2022, ФИПИ:
Петя составляет слова из слова ПАРУС и записывает их в алфавитном
порядке в список. Вот начало списка:
1. ААААА 2. ААААП 3. ААААР 4. ААААС 5. ААААУ 6. АААПА …
Укажите номер первого слова в списке, начинающегося на У, в котором две буквы А не стоят рядом?
Ответ: 2527
✍ Решение:
✎ Решение с использованием программирования:
PascalABC.net (использование LINQ, быстрое решение): Способ 1:
Cartesian(5) — метод расширения последовательности, возвращающий декартову степень множества символов, т.е. в нашем случае перебор 5-знаковых слов из заданных символов * LINQ (Language Integrated Query) — язык интегрированных запросов |
||
PascalABC.net (приближенный к традиционному, долгое решение): Способ 2:
|
||
Python: | ||
С++: |
9.
9 задание. Досрочный вариант ЕГЭ по информатике 2022, ФИПИ:
Задание выполняется с использованием прилагаемых файлов
Откройте файл электронной таблицы, содержащей в каждой строке пять натуральных чисел. Определите количество строк таблицы, в которых квадрат суммы максимального и минимального чисел в строке больше суммы квадратов трёх оставшихся.
Ответ: 2640
✍ Решение:
- Добавляем сверху строку для подписей:
- В ячейку
F2
вводим формулу для поиска квадрата суммы максимального и минимального значения:
=(МАКС(A2:E2)+МИН(A2:E2))^2
G2
вводим формулу для поиска квадратов минимального и максимального значений (она нам пригодится дальше):=(МАКС(A2:E2)^2+МИН(A2:E2)^2)
H2
вводим формулу для поиска квадратов всех значений по строке минус квадрат суммы максимального и минимального значения:=A2^2+B2^2+C2^2+D2^2+E2^2-G2
I2
выводим единицу, если значение в ячейке F2
больше значение в ячейке H2
, т.е. отвечаем на вопрос задания:=ЕСЛИ(F2>H2;1;0)
I
— ответ 2640.Ответ: 2640
10.
10 задание. Досрочный вариант ЕГЭ по информатике 2022, ФИПИ:
Задание выполняется с использованием прилагаемых файлов
С помощью текстового редактора определите, сколько отдельных слов «счастие» в тексте романа Л.Н.Толстого «Анна Каренина». При подсчете учитывать регистр слова.
Ответ: 7
✍ Решение:
- Откройте файл в Miscrosoft Word.
- Включите расширенный поиск.
- Отметьте галочкой пункты Учитывать регистр и Только слово целиком.
- Выберите пункт Выделение при чтении — Выделить всё.
Ответ: 7
11.
11 задание. Досрочный варианта ЕГЭ по информатике 2022, ФИПИ:
При регистрации в компьютерной системе каждому объекту присваивается идентификатор, состоящий из 250 символов. Идентификатор может содержать десятичные цифры и символы из специального набора из 1560 символов. В базе данных для хранения сведений о каждом идентификаторе отведено одинаковое и минимально возможное целое число байт. При этом используют посимвольное кодирование идентификаторов, все символы кодируют одинаковым и минимально возможным количеством бит.
Определите минимальный объем памяти в Кбайт, который необходимо выделить для хранения идентификаторов для 32768 пользователей.
Ответ: 11008
✍ Решение:
- Количество бит на один идентификатор:
10 (цифр) + 1560 = 1570 1570 <= 211 11 бит на хранение одного символа 250*11 = 2750 бит на хранение целого идентификатора 2750 / 8 <= 344 байт
344*32768/1024 = 11008
Ответ: 11008
12.
12 задание. Досрочный вариант ЕГЭ по информатике 2022, ФИПИ:
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.
А) заменить (v, w)
Б) нашлось (v)
Первая команда заменяет в строке первое слева вхождение цепочки v
на цепочку w
. Если цепочки v
в строке нет, эта команда не изменяет строку. Вторая команда проверяет, встречается ли цепочка v
в строке исполнителя Редактор.
На выполнение Редактору дана следующая программа:
ПОКА нашлось(1111) или нашлось(8888) ЕСЛИ нашлось(1111) ТО заменить(1111, 8) ИНАЧЕ заменить(8888, 11) КОНЕЦ ПОКА
На вход программе подана строка из 86 подряд идущих символов 8. Какая строка будет получена в результате работы алгоритма.
Ответ: 88
✍ Решение:
✎ Решение с использованием программирования:
PascalABC.NET:
Вариант 1:
1 2 3 4 5 6 7 8 9 10 11 |
begin var s := '8'*86; while ('1111' in s) or ('8888' in s) do begin if '111' in s then s := s.Replace('1111', '8', 1) else s := s.Replace('8888', '11', 1); end; print(s); end. |
Питон:
1 2 3 4 5 6 7 |
s = 86 * '8' while "1111" in s or "8888" in s: if "111" in s: s = s.replace( "1111", "8", 1 ) else: s = s.replace( "8888", "11", 1 ) print(s) |
13.
13 задание. Досрочный вариант ЕГЭ по информатике 2022, ФИПИ:
На рисунке представлена схема дорог, связывающих города А, Б, В, Г, Д, Е, Ж, З, И, К, Л, М. По каждой дороге можно двигаться только в одном направлении, указанном стрелкой.
Какова длина самого длинного пути из города А в город М?
Ответ: 8
14.
14 задание. Досрочный вариант ЕГЭ по информатике 2022, ФИПИ:
Результат выражения:
3 ∙ 162018 - 2 ∙ 81028 - 3 ∙ 41100 - 21050 - 2022
записали в 4-ричной системе счисления. Сколько троек в полученной записи?
Ответ: 4027
✍ Решение:
✎ Решение с использованием программирования:
PascalABC.NET:
uses school; begin var numb: Biginteger; numb := 3*Biginteger.Pow(16,2018) - 2* Biginteger.Pow(8,1028)-3*Biginteger.Pow(4,1100)-Biginteger.Pow(2,1050)-2022; var n:=numb.ToBase(4).CountOf('3'); print(n) end. |
Python: |
С++: |
Ответ: 4027
15.
15 задание. Досрочный вариант ЕГЭ по информатике 2022, ФИПИ:
Обозначим через ДЕЛ(n, m)
утверждение «натуральное число n
делится без остатка на натуральное число m
».
Для какого наименьшего натурального числа А
формула
(ДЕЛ(x, 3) → ¬ДЕЛ(x, 5)) ∨ (x + A ≥ 70)
истинна (т.е. принимает значение 1) при любом целом натуральном значении переменной х
.
Ответ: 55
✍ Решение:
✎ Решение с использованием программирования:
PascalABC.NET:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
begin for var A := 1 to 500 do begin var ok := 1; for var x := 1 to 1000 do begin if ((x mod 3 = 0) <= (x mod 5 > 0)) or (x + A >= 70) = false then begin ok := 0; break; end; end; if (ok = 1) then begin print(A); break; end; end; end. |
Питон:
C++:
16.
16 задание. Досрочный вариант ЕГЭ по информатике 2021, ФИПИ:
Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями:
F(n) = 2, при n < 3 F(n) = F(n–1) + F(n-2) - n, при n > 2 и n - четно F(n) = F(n-2) - F(n-1) + 2n, при n > 2 и n - нечетно
Чему равно значение функции F(30)?
Ответ: 58
✍ Решение:
✎ Решение с использованием программирования:
PascalABC.NET:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
function F(n: integer): integer; begin if n < 3 then F := 2; if (n mod 2 = 0) and (n > 2) then F := F(n - 1)+F(n - 2) - n; if (n > 2) and (n mod 2 <> 0) then F := F(n - 2) - F(n - 1) + 2*n end; begin print(F(30)) end. |
Питон:
C++:
Ответ: 58
17.
17 задание. Досрочный вариант ЕГЭ по информатике 2022, ФИПИ:
Задание выполняется с использованием прилагаемых файлов
В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые — значения от 1 до 10 000 включительно. Определите количество пар последовательности, в которых хотя бы одно число кратно минимальному числу в последовательности, кратному 17. В ответе запишите количество найденных пар, затем максимальную из сумм элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
Ответ: 24 17613
✍ Решение:
✎ Решение с использованием программирования:
PascalABC.NET:
1 2 3 4 5 6 7 8 |
## var data := ReadLines('107_17.txt').Select(t -> t.ToInteger).ToArray; var minData17:=data.Where(w->w.Divs(17)).min; // минимальный var twins := data.NWise(2).Select(ar->ar.Order.ToArray) .Where(ar->(ar[0].Divs(minData17)) or (ar[1].Divs(minData17))); twins.Count.Print; var sums:=twins.Select(t->t[0]+t[1]); // массив сумм sums.max.print; |
Питон:
C++:
✎ Решение в Excel:
- Запустите программу Excel.
- В меню Файл выберите пункт Открыть и щелкните Обзор.
- Рядом с полем Имя файла выберите в списке Все файлы
(*|*)
. Откройте файл задания (107_17.txt
— Далее, Далее, Готово). - В столбце
B
найдем числа кратные 17 – в ячейку будем выводить само число, иначе, если число не кратно 17, — будем выводить какое-то большое число, например,100000
(так как будем потом искать минимум).
B1
=ЕСЛИ(ОСТАТ(A1;17)=0;A1;100000)
C1
добавим формулу для поиска минимального из найденных значений:С1
=МИН(B:B)
ответ: 1003
D
будем искать подходящие пары: если одно число из пары кратно значению ячейки С1
, то будем выводить сумму рассматриваемой пары, а иначе – выводить пустое значение («»
)D1
=ЕСЛИ(ИЛИ(ОСТАТ(A1;C$1)=0;ОСТАТ(A2;C$1)=0);A1+A2;"")
D
до конца и сотрите значение в самой последней ячейке (D10000
), если оно там есть (сравнение идет со следующей пустой ячейкой)!!!Е1
найдем максимальное значение из найденного ряда (максимальную сумму пары):Е1
=МАКС(D:D)
17613
F1
введем формулу для поиска количества подходящих пар:F1
=СЧЁТ(D:D)
24
18.
18 задание. Досрочный вариант ЕГЭ по информатике 2022, ФИПИ:
Задание выполняется с использованием прилагаемых файлов
Квадрат разлинован на N×N клеток (1 < N < 30
). Исполнитель Робот может перемещаться по клеткам, выполняя за одно перемещение одну из двух команд: вправо или вниз. По команде вправо Робот перемещается в соседнюю правую клетку, по команде вниз – в соседнюю нижнюю.
Квадрат ограничен внешними стенами. Между соседними клетками квадрата также могут быть внутренние стены. Сквозь стену Робот пройти не может.
Перед каждым запуском Робота в каждой клетке квадрата лежит монета достоинством от 1 до 100. Посетив клетку, Робот забирает монету с собой; это также относится к начальной и конечной клетке маршрута Робота.
Определите максимальную и минимальную денежную сумму, которую может собрать Робот, пройдя из левой верхней клетки в правую нижнюю.
В ответе укажите два числа – сначала максимальную сумму, затем минимальную.
Исходные данные представляют собой электронную таблицу размером N×N, каждая ячейка которой соответствует клетке квадрата.
Пример входных данных:
Для указанных входных данных ответом должна быть пара чисел:
38 22
Ответ: 2174 1145
✍ Решение:
-
✎ Электронные таблицы:
- Для решения будем использовать метод динамического программирования — решать будет с конца к началу.
- Откройте файл электронной таблицы. Скопируем таблицу и вставим ее ниже — это будет шаблон для результирующей таблицы, полученной после решения задачи.
- Выделите ячейки скопированной таблицы каким-либо цветом, для обозначения ее границ. Теперь удалите все значения в результирующей таблице:
- Так как задание решается с конца, то выделим последнюю ячейку, в которой окажется Робот — нижняя правая ячейка
O31
результирующей таблицы. Робот просто соберет монету, которая находится в этой ячейке исходной таблицы —O15
. Поэтому для ячейки возьмем значение из исходной таблицы. Введите формулу:
формула для O31: =O15
Попасть в данную ячейку O15
Робот мог, либо двигаясь из ячейки N15
, либо из O14
.
N31
. В ней Робот собирает монету, значение которой возьмем из исходной таблицы (ячейка N15
). Ну и поскольку дальше он попадет только в ячейку O31
, то необходимо прибавить значение этой ячейки.формула для N31: =N15+O31
N31
будет такой же и для всех оставшихся ячеек строки. Скопируйте формулу на всю строку.O30
. В ней Робот собирает монету, значение которой возьмем из исходной таблицы (ячейка O14
). Ну и поскольку дальше он попадет только в ячейку O31
, то необходимо прибавить значение этой ячейки.формула для O30: =O14+O31
O
таблицы мы можем утверждать следующее: из любой ячейки Робот может двигаться только в соседнюю ячейку снизу. То есть Робот будет собирать монету с текущей ячейки и при это необходимо прибавлять значение соседней ячейки снизу. То есть формула, которую мы ввели в ячейку O30
будет такой же и для всех оставшихся ячеек столбца. Скопируйте формулу.
В ячейке N30
Робот собирает монету из текущей ячейки (берем значение из исходной таблицы — N14
), и затем у него альтернатива движения: либо в ячейку N31
, либо в O30
. В задании необходимо найти, как максимальную, так и минимальную сумму монет. Найдем сначала максимальную. Для этого введите формулу в N30
:
=N14+МАКС(N31;O30)
N30
, использовав маркер копирования, во все оставшиеся ячейки таблицы. Стены мы учтем позже.Заполним формулы для стен. Для ячеек со стеной диапазона C24:F24
значение формул будут такими же, как у соответствующих им ячеек нижней строки — C31:F31
. Скопируйте формулы у этих ячеек и вставьте их для диапазона C24:F24
.
J21:K21
— для них нужна скопированная формула ячеек J31:K31
.K22:K28
будут соответствовать ячейкам диапазона O22:O28
. Так же скопируйте их. МАКС
на МИН
. И скопируйте снова данную формулу во всю оставшуюся таблицу.Ответ: 2174 1145
19.
19 задание. Досрочный вариант ЕГЭ по информатике 2022, ФИПИ:
Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежат две кучи камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в одну из куч (по своему выбору) 1 камень или увеличить количество камней в куче в два раза.
Например, пусть в одной куче 10 камней, а в другой 5 камней, такую позицию в игре будем обозначать (10, 5). Тогда за один ход можно получить любую из четырёх позиций: (11, 5), (10, 6), (20, 10) и (10, 10).
Для того чтобы делать ходы, у каждого игрока есть неограниченное количество камней. Игра завершается в тот момент, когда суммарное количество камней в кучах становится не менее 223. В начальный момент в первой куче было 17 камней, во второй куче – S
камней, 1 ≤ S ≤ 205
.
Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника.
Известно, что Ваня выиграл своим первым ходом после неудачного хода Пети. При каком минимальном значении S
такое возможно?
Ответ: 52
🎦 Решение подобного задания:
20.
20 задание. Досрочный вариант ЕГЭ по информатике 2022, ФИПИ:
Известно, что Петя имеет выигрышную стратегию. Укажите два значения при которых:
Найденные значения запишите в ответе в порядке возрастания.
Ответ: 94 102
21.
21 задание. Досрочный вариант ЕГЭ по информатике 2022, ФИПИ:
Известно, что Ваня имеет выигрышную стратегию за один или два хода, при этом не имеет выигрышной стратегии в один ход. Найдите минимальное значение S
, при котором это возможно.
Ответ: 93
22.
22 задание. Досрочный вариант ЕГЭ по информатике 2022, ФИПИ:
Ниже записана программа. Получив на вход число s
, эта программа печатает два числа. При каком наименьшем значении s
после выполнения программы на экран будет выведено сначала число 10, затем 19.
Паскаль:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
var s, P, Q, K1, K2: longint; begin readln(s); P := 10; Q := 8; K1 := 0; K2 := 0; while s <= 100 do begin s := s + P; K1 := K1 + 1; end; while s >= Q do begin s := s - Q; K2 := K2 + 1; end; K2 := K2 + s; K1 := K1 + s; writeln(K1); write(K2); end. |
Алгоритмический язык:
алг нач цел s, P, Q, K1, K2 P := 10 Q := 8 K1 := 0 K2 := 0 нц пока s <= 100 s := s + P K1 := K1 + 1 кц нц пока s >= Q s := s - Q K2 := K2 + 1 кц K1 := K1 + s K2 := K2 + s вывод K1 вывод K2 кон |
Python:
s = int(input()) P = 10 Q = 8 K1 = 0 K2 = 0 while s <= 100: s = s + P K1 = K1 + 1 while s >= Q: s = s – Q K2 = K2 + 1 K1 += s K2 += s print(K1, K2) |
С++:
#include <iostream> using namespace std; int main(){ int P = 10, Q = 8, s; int K1 = 0, K2 = 0; cin >> s; while (s <= 100) { s = s + P; K1 = K1 + 1; } while (s >= Q) { s = s - Q; K2 = K2 + 1; } K1 = K1 + s; K2 = K2 + s; cout << K1 << endl << K2; return 0; } |
Ответ: 70
✍ Решение:
-
✎ Способ 1. Программирование:
Язык Pascal:
var s, s_, P, Q, K1, K2: longint; begin s_ := -100; while true do begin s := s_; P := 10; Q := 8; K1 := 0; K2 := 0; while s <= 100 do begin s := s + P; K1 := K1 + 1; end; while s >= Q do begin s := s - Q; K2 := K2 + 1; end; K2 := K2 + s; K1 := K1 + s; if (k1 = 10) and (k2 = 19) then begin print(s_); break; end; s_ := s_ + 1; end; end.
Ответ: 70
23.
23 задание. Досрочный вариант ЕГЭ по информатике 2022, ФИПИ:
Исполнитель преобразует число на экране.
У исполнителя есть две команды, которым присвоены номера:
1. Прибавить 2
2. Умножить на 2
Первая команда увеличивает число на экране на 2, вторая – вдвое. Программа для исполнителя – это последовательность команд.
Сколько существует таких программ, которые исходное число 1 преобразуют в число 52 и при этом траектория вычислений программы содержит число 16?
Траектория вычислений программы – это последовательность результатов выполнения всех команд программы.
Например, для программы 121 при исходном числе 7 траектория будет состоять из чисел 8, 16, 17.
Ответ: 105
✍ Решение:
- Сначала найдём количество программ для перехода от числа 1 к числу 16, а затем от числа 16 к 52.
- Напишем программу, реализующую алгоритм поиска результата, вычисления по рекуррентным формулам организуем с помощью рекурсии.
- Рекурсивная функция, которая возвращает количество программ для преобразования числа
start
в числоx
:
Паскаль: решение №1 (траектория от 1 к 52)
function f(start, x: integer): integer; begin var k: integer; if start > x then result := 0 else if start = x then result := 1 else begin // обязательные операторные скобки k := k + f(start + 2, x) + f(start *2, x); result := k; end; end; begin writeln(f(1, 16)*f(16, 52)); end.
Паскаль: решение №2 (траектория от 52 к 1)
function func( start, x: integer ): integer; var k: integer; begin if x < start then func := 0 // если число x меньше нач. значения, кол-во программ равно 0 else if x = start then func := 1 // если число x = нач. значению, кол-во программ равно 1 else begin k := func( start, x-2 ); //учитываем кол-во программ предыдущего числа // если число чётное, нужно добавить ещё кол-во программ для числа x//2: if x mod 2 = 0 then k := k + func( start, x div 2 ); func := k; end; end; begin writeln( func(1,16) * func(10,52) ); end.
Ответ: 105
24.
24 задание. Досрочный вариант ЕГЭ по информатике 2022, ФИПИ:
Задание выполняется с использованием прилагаемых файлов
Текстовый файл состоит из символов A, B и C.
Определите максимальное количество идущих подряд пар символов AB или CB в прилагаемом файле.
Искомая подпоследовательность должна состоять только из пар AB, или только из пар CB, или только из пар AB и CB в произвольном порядке следования этих пар.
Для выполнения этого задания следует написать программу.
Ответ: 65
✍ Решение:
-
Паскаль:
Решение 1:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
begin assign(input, '107_24.txt'); var s := readstring; var maxLen := 0; var i := 1; var k := 0; while i <= Length(s) - 1 do begin if (s[i] = 'A') and (s[i + 1] = 'B') or (s[i] = 'C') and (s[i + 1] = 'B') then begin k := k + 1; i := i + 2; if k > maxLen then maxLen := k; end else begin k := 0; i += 1; end; end; println(maxLen); end. |
Решение 2:
1 2 3 4 5 6 7 8 9 10 11 |
begin assign(input, '107_24.txt'); var s := readstring; var maxLen := 0; s := s.Replace('CB', 'AB'); for var i := 1 to 100 do if s.Contains('AB' * i) then begin //1 шаг: AB 2 шаг: ABAB ... maxLen := i; end; println(maxLen); end. |
Python:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
f= open("107_24.txt") s = f.read() k=0 m=0 i=0 while i<=len(s)-1: if (s[i]=='A' and s[i+1]=='B') or (s[i]=='C' and s[i+1]=='B'): k+=1 i+=2 if k>m: m=k else: k=0 i+=1 print(m) |
25.
25 задание. Досрочный вариант ЕГЭ по информатике 2022, ФИПИ:
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
— символ «?
» означает ровно одну произвольную цифру;
— символ «*
» означает любую последовательность цифр произвольной длины; в том числе «*
» может задавать и пустую последовательность.
Среди натуральных чисел, не превышающих 109, найдите все числа, соответствующие маске 12345?6?8
и делящиеся на 17 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце — соответствующие им частные от деления на 17.
Ответ:
123450668 7261804 123451688 7261864 123456618 7262154 123457638 7262214 123458658 7262274 123459678 7262334
✍ Решение:
✎ :
PascalABC.net:
|
||
Python: | ||
С++: |
26.
26 задание. Досрочный вариант ЕГЭ по информатике 2022, ФИПИ:
Задание выполняется с использованием прилагаемых файлов
В лесополосе осуществляется посадка деревьев. Причем саженцы высаживают рядами на одинаковом расстоянии.
Через какое-то время осуществляется аэросъемка, в результате которой определяется, какие саженцы прижились. Необходимо определить ряд с максимальным номером, в котором есть подряд ровно 11 неприжившихся саженцев, при условии, что справа и слева от них саженцы прижились.
В ответе запишите сначала наибольший номер ряда, затем наименьший номер из неприжившихся мест.
Входные данные.
В первой строке входного файла 26.txt находится число N
— количество занятых мест (натуральное число, не превышающее 10 000). Каждая из следующих N
строк содержит два натуральных числа, не превышающих 100 000: номер ряда и номер занятого места (на котором растет деревце).
Выходные данные:
Два целых неотрицательных числа: максимальный номер ряда, где нашлись обозначенные в задаче места, и минимальный номер подходящего места.
Пример входного файла:
7 40 30 40 34 50 125 50 129 50 64 50 68 50 70
Ответ для примера (при поиске 3 подряд идущих неприжившихся саженцах):
50 65
Ответ: 2261 5087
✍ Решение:
✎ Способ 1. В Excel:
- Запустите программу Excel.
- В меню Файл выберите пункт Открыть и щелкните Обзор.
- Рядом с полем Имя файла выберите в списке Все файлы(*|*).
- Щёлкните Далее, а затем установите флажок рядом с пунктом Пробел:
- Затем Готово.
- В открытом файле перенесите первую строку в любое свободное место вправо.
- Удалите первую строку.
- Выделяем два столбца – Данные – Щелкаем Удалить дубликаты
- Опять выделяем оба столбца и выбираем настраиваемую сортировку:
- Отсортируйте столбец
А
по убыванию, добавьте Уровень и отсортируйте столбецВ
по возрастанию. - В ячейку
С1
занесите число0
. - Нам нужны разности равные
12
, ведь между 1 местом и 13 местом находиться 11 мест. - В ячейку
С2
вставим формулу для нахождения подходящих рядов: в которых номер ряда совпадает (по ячейкам столбцаА
) и разность мест = 12 (по ячейкам столбцаВ
). Выводить будем номер подходящего места неприжившегося саженца с учетом, что текущее значение столбцаB
– это место занято, а следующее (+1), как раз значение неприжившегося саженца:
=ЕСЛИ(И(A2=A1;B2-B1=12);B1+1;"")
С
поставить фильтр, убрав пустые ячейки.А
. Самое верхнее значение (2261) — это максимальный номер ряда. А значение столбца С
в той же строке (5087) — это номер места.Ответ: 2261 5087
Видео на RuTube здесь
—>
27.
27 задание. Досрочный вариант ЕГЭ по информатике 2022, ФИПИ:
A
B
Задание выполняется с использованием прилагаемых файлов
В городе M
расположена кольцевая автодорога длиной в N
километров с движением в обе стороны. На каждом километре автодороги расположены пункты приема мусора определенной вместимости. В пределах кольцевой дороги в одном из пунктов сборки мусора собираются поставить мусороперерабатывающий завод таким образом, чтобы стоимость доставки мусора была минимальной. Стоимость доставки мусора вычисляется, как вместимость пункта сбора умноженная на расстояние от пункта сбора мусора до мусороперерабатывающего завода. Если мусороперерабатывающий завод находится рядом с пунктом сбора расстояние считается нулевым. Контейнеры нумеруются с 1
до N
.
Рядом с каким пунктом сбора мусора нужно поставить мусороперерабатывающий завод?
Описание входных данных
Первое число N
— количество контейнеров для мусора. Последующие N
чисел — количество килограмм мусора, которое производится на точке.
Описание выходных данных:
Одно число — номер контейнер для мусора рядом с которым стоит расположить перерабатывающий завод.
6 8 20 5 13 7 19
Для данного примера ответ — 6 (7⸱1 + 13⸱2 + 5⸱3 + 20⸱2 + 8⸱1 + 19⸱0).
Ответ: 8 41495
✍ Решение:
Решение программированием вариант B:
PascalABC.net:
|
||
Python:
|
||
С++: |
Ответ: 8 41495
ЕГЭ по информатике -> демоверсия ЕГЭ 2022
- 06.04.2022
Начинаем собирать реальные варианты ЕГЭ 2022 года по информатике. Все варианты собираются и публикуются после проведения экзамена.
- Смотреть реальные варианты ЕГЭ 2022 по всем предметам
На сегодня 01.05.2022 есть несколько вариантов с досрочного ЕГЭ 2022 по информатике. Смотрим, разбираем. Все варианты будут сопровождаться видеоуроками, на которых будут разобраны примеры решения, правильные ответы и т.д.
- Другие варианты ЕГЭ по информатике (включая Статград)
Есть вопросы? Пишите их ниже! Обсудим, решим, ответим.
- Варианты с досрочного ЕГЭ по информатике от 04.04.2022
- Открытый вариант от ФИПИ ЕГЭ 2022 по информатике (аналог досрочного варианта) от 28.04.2022
Один из вариантов с досрочного ЕГЭ 2022 по информатике