*** ПЛЕЙЛИСТ КАНАЛА ЮТЬЮБ ***
ЕГЭ по информатике -> досрочный ЕГЭ 2022
Скачать pdf демоверсии варианта ->
На рисунке схема дорог Н-ского района изображена в виде графа, в таблице содержатся сведения о протяжённости каждой из этих дорог (в километрах).
П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
Логическая функция 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 |
В ответе запишите буквы в том порядке, в котором идут соответствующие им столбцы (сначала буква, соответствующая первому столбцу; затем буква, соответствующая второму столбцу, и т.д.).
Ответ: xzyw
✍ Решение:
-
✎ Способ 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
В файле приведён фрагмент базы данных «Продукты» о поставках товаров в магазины районов города. База данных состоит из трёх таблиц.
Таблица «Движение товаров» содержит записи о поставках товаров в магазины в течение первой декады июня 2021 г., а также информацию о проданных товарах. Поле Тип операции содержит значение Поступление или Продажа, а в
соответствующее поле Количество упаковок, шт. занесена информация о том, сколько упаковок товара поступило в магазин или было продано в течение дня.
Заголовок таблицы имеет следующий вид.
ID операции | Дата | ID магазина | Артикул | Тип операции | Количество упаковок, шт. | Цена, руб./шт. |
Таблица «Товар» содержит информацию об основных характеристиках каждого товара. Заголовок таблицы имеет следующий вид.
Артикул | Отдел | Наименование | Ед. изм. | Количество в упаковке | Поставщик |
Таблица «Магазин» содержит информацию о местонахождении магазинов. Заголовок таблицы имеет следующий вид.
ID магазина | Район | Адрес |
На рисунке приведена схема указанной базы данных.
Используя информацию из приведённой базы данных, определите на сколько увеличилось количество упаковок яиц диетических, имеющихся в наличии в магазинах Заречного района, за период с 1 по 8 июня включительно.
В ответе запишите только число.
Ответ: 956
✍ Решение:
- В таблице
Товар
находим наименование товара — Яйцо диетическое (можно использовать фильтр). Запоминаем его артикул —15
. - В таблице
Магазин
ищем магазины Заречного района, выписываем их ID:M3
,M9
,M11
,M14
. - В таблице
Движение товаров
выделяем первую строку и ставим фильтр на всю строку. - В столбце
ID Магазина
отмечаем только ID из предыдущего пункта. В столбцеАртикул
— выбираем15
.
Проверяем даты — все они входят в указанный диапазон дат.
Выбираем Тип операции
— Поступление. выделяем значение столбца и смотрим сумму в столбце Количество упаковок — 1420. Затем выбираем Продажа; количество упаковок — 454.
1420 - 454 = 956
Ответ: 956
Для кодирования некоторой последовательности, состоящей из букв О, Н, Г, К, Р, решили использовать неравномерный двоичный код, гарантирующий однозначное декодирование. Для букв К и Р использовали соответственно кодовые слова 00, 011.
Найдите наименьшую возможную длину кодовой последовательности для слова КОНОГОН.
Ответ: 15
✍ Решение:
- Размещаем буквы так, чтобы наиболее часто встречаемые в слове
коногон
буквы имели наиболее короткий код.

К = 2 О = 3*2 = 6 Н = 2*2 = 4 Г = 3 --- итого: 15
Ответ: 15
Автомат обрабатывает натуральное число N
по следующему алгоритму:
1. Строится двоичная запись числа N
.
2. К полученной записи дописываются разряды. Если число четное справа дописывается 10, если число нечетное – слева дописывается 1 и справа 01.
3. Результат переводится в десятичную систему и выводится на экран.
1. Двоичная запись числа N: 1101.
2. Число нечетное, следовательно слева дописываем 1, справа 01 – 1+1101+01 = 1110101.
3. На экран выводится число 117.
В результате работы автомата на экране появилось число, большее 516. Для какого наименьшего значения N
данная ситуация возможна?
Ответ: 65
✍ Решение:
✎ Решение с использованием программирования:
PascalAbc.NET:
|
|
Python:
|
Ответ: 65
Найдите минимальное значение переменной 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:
|
С++:
|
Ответ: 59
✍ Решение:
-
✎ Способ 1 (программный):
- Поскольку условие цикла
s > 0
, а по условию задания следует найти наименьшее значениеs
, то можно начать примерно сs=500
. Во внешнем цикле необходимо постоянно уменьшать значениеs
на единицу. - Важно для внешнего цикла использовать другую переменную, т.к. во внутреннем цикле переменная
s
меняется, а нам следует каждый шаг внешнего цикла сохранить предыдущее значениеs
, уменьшив его всего на 1. Используем переменнуюs_
для этих целей. - Из полученных выведенных значений выбираем последнее — наименьшее (
59
). - Добавляем сверху строку для подписей:
- В ячейку
F2
вводим формулу для поиска квадрата суммы максимального и минимального значения: - В ячейку
G2
вводим формулу для поиска квадратов всех значений по строке минус квадрат суммы максимального и минимального значения: - В ячейке
H2
выводим единицу, если значение в ячейкеF2
больше значение в ячейкеG2
, т.е. отвечаем на вопрос задания: - Смотрим сумму по столбцу
H
— ответ 2890. - Откройте файл в Miscrosoft Word.
- Включите расширенный поиск.
- Отметьте галочкой пункты Учитывать регистр и Только слово целиком.
- Выберите пункт Выделение при чтении — Выделить всё.
- Количество бит на один идентификатор:
- Посчитаем объем в Кбайт для хранения идентификаторов для 32768 пользователей:
- Сначала найдём количество программ для перехода от числа 1 к числу 16, а затем от числа 16 к 52.
- Напишем программу, реализующую алгоритм поиска результата, вычисления по рекуррентным формулам организуем с помощью рекурсии.
- Рекурсивная функция, которая возвращает количество программ для преобразования числа
start
в числоx
: - Заметим, что после второго пункта условия задачи получаются только четные числа (т.к. если число в двоичной системе заканчивается на 0, то оно четное). Таким образом, нас будут интересовать только четные числа.
- Наименьшим возможным числом, превышающим 77, является число 78. С ним и будем работать.
- Переведем 78 в двоичную систему счисления. Используя компьютер это можно сделать с помощью программистского режима калькулятора. Либо в консоли интерпретатора Python набрать bin(78). Получим:
- В данном числе выделенная часть — это
N
. Значит, необходимое нам двоичное число — это 10011. После первого пункта задачи к данному числу должна была добавиться справа единица, так и есть: 100111. А затем добавляется 0: 1001110. Соответственно, оно подходит. - Переведем его обратно в десятичную систему, используя калькулятор либо консоль пайтон:
- Получим 19.
- Поскольку условие цикла
s < 51
, а по условию задания следует найти наименьшее значениеs
, то можно начать сs=509
, так как далее идет операторs := s div 10;
, который присваиваетs
значение 50 (<51). Во внешнем цикле необходимо постоянно уменьшать значениеs
на единицу. - Важно для внешнего цикла использовать другую переменную, т.к. во внутреннем цикле переменная
s
меняется, а нам следует каждый шаг внешнего цикла сохранить предыдущее значениеs
, уменьшив его всего на 1. Используем переменнуюS1
для этих целей. - По возможности приведем каждое слагаемое к степеням 16. Учтем, что:
- Получим:
- Далее рассуждаем так: количество нулей можно найти, если из общего количества цифр в результирующем числе вычесть количество не нулей (любых других цифр).
- Общее количество цифр найдем из самого большого слагаемого
3*1619
: - Рассмотрим другие слагаемое, используя аналогичную формулу. Будем считать в них цифры, отличные от нуля (другая цифра):
- Итого получаем 5 других цифр, отличных от 0. Отнимем из общего количества цифр и получим количество нулей:
- Ваня может выиграть первым ходом (как бы ни играл Петя), если в куче будет
S = 14
камней. Тогда после первого хода Пети в куче будет 15 или 28 камней. В обоих случаях Ваня удваивает кучу и выигрывает в один ход. - Петя не может выиграть за один ход;
- Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.
- Возможные значения
S
: 7, 13. В этих случаях Петя, очевидно, не может выиграть первым ходом. Однако он может получить кучу из 14 камней (из задания № 19 мы знаем, что это проигрышная позиция): в первом случае удвоением, во втором - добавлением одного камня. Эта позиция разобрана в задании 19. В ней игрок, который будет ходить (теперь это Ваня), выиграть не может, а его противник (то есть Петя) следующим ходом выиграет. - у Вани есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети;
- у Вани нет стратегии, которая позволит ему гарантированно выиграть первым ходом.
- Возможные значения
S
: 12. После первого хода Пети в куче будет 13 или 24 камня. Если в куче их станет 24, Ваня удвоит количество камней и выиграет первым ходом. Ситуация, когда в куче 13 камней, разобрана в задании 20. В этой ситуации игрок, который будет ходить (теперь это Ваня), выигрывает своим вторым ходом. - Сначала найдём количество программ для перехода от числа 1 к числу 10, а затем от числа 10 к 20.
- Будем использовать разные рекуррентные формулы для чётных и нечётных
N
. - Напишем программу, реализующую алгоритм поиска результата, вычисления по рекуррентным формулам организуем с помощью рекурсии.
- Рекурсивная функция, которая возвращает количество программ для преобразования числа
start
в числоx
: - Чтобы вычислить максимальное число пользователей, чьи файлы можно сохранить в архиве, необходимо брать файлы с наименьшим объемом , пока суммарный объем этих файлов меньше свободного объема диска. Т.е. для нижеуказанного примера, будем брать
30 + 40
. Файл объемом 50 мы взять уже не сможем, так как70 + 50 = 120
, а это уже больше указанного объема диска (100): - Таким образом, мы получили первый ответ - максимальное число пользователей, чьи файлы можно сохранить в архиве - ответ 2.
- Далее необходимо вычислить максимальный размер имеющегося файла, который может быть сохранён в архиве. Для начала вспомним, что у нас оставался "запас" пространства диска при предыдущем расчете. Давайте вычислим этот запас:
- Т.е. мы можем добавить 30 наибольшему возможному числу, из выбранных чисел, чтобы полученная сумма не превысила этот запас. Самое большое число из выбранных - это 40 (30, 40):
- Таким образом, наибольшее подходящее число - максимальный размер файла - это 50.
- Отобразим с помощью дерева известные коды:
- Остается расположить 4 кода. Поскольку в слове
КОРАН
все буквы встречаются по одному разу, то расположение букв на дереве не так важно. Но букваБ
не встречается, поэтому ее можно располагать в дереве на нижние уровни: - Посчитаем количество бит в каждой букве слова:
- Будем переводить числа в 2-ю с.с., начиная с 82, и рассматривать их на соответствие алгоритму:
- Выпишем все известные данные до и после оцифровки:
- Получим изменение объема файла:
- Рассмотрим все варианты расположения гласной буквы:
- Остался вариант, когда гласных нет:
- Итого: 24 + 192 = 216
- Мощность алфавита 7, соответственно имеем 23 > 7, т.е. 3 бита для кодирования 1 символа.
- Для кодирования 6 символов пароля потребуется 6 * 3 = 18 бит. Так как для хранения паролей отведено одинаковое число байт, то для 18 бит потребуется 3 байта (8*3=24, 24>18).
- Всего на одного пользователя, включая дополнительные сведения, потребуется: 3 + 10 = 13 байтов.
- Для хранения сведений о 100 пользователях потребуется 13 * 100 = 1300 байтов.
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. |
Пояснение:
Бейсик:
|
Python:
|
||
С++:
|
Ответ: 59
Для хранения произвольного растрового изображения размером 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) |
Петя составляет слова из слова ПАРУС и записывает их в алфавитном
порядке в список. Вот начало списка:
1. ААААА 2. ААААП 3. ААААР 4. ААААС 5. ААААУ 6. АААПА …
Укажите номер первого слова в списке, начинающегося на У, в котором две буквы А не стоят рядом?
Ответ: 2527
✍ Решение:
PascalABC.net (использование LINQ, быстрое решение): Способ 1:
Cartesian(5) — метод расширения последовательности, возвращающий декартову степень множества символов, т.е. в нашем случае перебор 5-знаковых слов из заданных символов
* LINQ (Language Integrated Query) — язык интегрированных запросов
|
||
PascalABC.net (приближенный к традиционному, долгое решение): Способ 2:
|
||
Python:
|
||
С++:
|
Откройте файл электронной таблицы, содержащей в каждой строке пять натуральных чисел. Определите количество строк таблицы, в которых квадрат суммы максимального и минимального чисел в строке больше суммы квадратов трёх оставшихся.
Ответ: 2890
✍ Решение:
=(МАКС(A2:E2)+МИН(A2:E2))^2
=A2^2+B2^2+C2^2+D2^2+E2^2-F2
=ЕСЛИ(F2>G2;1;0)
Ответ: 2890
С помощью текстового редактора определите, сколько отдельных слов «счастие» в тексте романа Л.Н.Толстого «Анна Каренина». При подсчете учитывать регистр слова.
Ответ: 7
✍ Решение:
Ответ: 7
При регистрации в компьютерной системе каждому объекту присваивается идентификатор, состоящий из 250 символов. Идентификатор может содержать десятичные цифры и символы из специального набора из 1560 символов. В базе данных для хранения сведений о каждом идентификаторе отведено одинаковое и минимально возможное целое число байт. При этом используют посимвольное кодирование идентификаторов, все символы кодируют одинаковым и минимально возможным количеством бит.
Определите минимальный объем памяти в Кбайт, который необходимо выделить для хранения идентификаторов для 32768 пользователей.
Ответ: 11008
✍ Решение:
10 (цифр) + 1560 = 1570 1570 <= 211 11 бит на хранение одного символа 250*11 = 2750 бит на хранение целого идентификатора 2750 / 8 <= 344 байт
344*32768/1024 = 11008
Ответ: 11008
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах 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) |
На рисунке представлена схема дорог, связывающих города А, Б, В, Г, Д, Е, Ж, З, И, К, Л, М. По каждой дороге можно двигаться только в одном направлении, указанном стрелкой.
Какова длина самого длинного пути из города А в город М?
Ответ: 8
Результат выражения:
3 ∙ 162018 - 2 ∙ 81028 - 3 ∙ 41100 - 21050 - 2022
записали в 4-ричной системе счисления. Сколько троек в полученной записи?
Ответ: 4027
✍ Решение:
PascalABC.NET:
|
|
Python:
|
|
С++:
|
Ответ: 4027
Обозначим через ДЕЛ(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++:
1 |
Алгоритм вычисления значения функции 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++:
1 |
Ответ: 58
В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые — значения от 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; |
Питон:
1 |
C++:
1 |
Квадрат разлинован на N×N клеток (1 < N < 30
). Исполнитель Робот может перемещаться по клеткам, выполняя за одно перемещение одну из двух команд: вправо или вниз. По команде вправо Робот перемещается в соседнюю правую клетку, по команде вниз – в соседнюю нижнюю.
Квадрат ограничен внешними стенами. Между соседними клетками квадрата также могут быть внутренние стены. Сквозь стену Робот пройти не может.
Перед каждым запуском Робота в каждой клетке квадрата лежит монета достоинством от 1 до 100. Посетив клетку, Робот забирает монету с собой; это также относится к начальной и конечной клетке маршрута Робота.
Определите максимальную и минимальную денежную сумму, которую может собрать Робот, пройдя из левой верхней клетки в правую нижнюю.
В ответе укажите два числа – сначала максимальную сумму, затем минимальную.
Исходные данные представляют собой электронную таблицу размером N×N, каждая ячейка которой соответствует клетке квадрата.
38 22
Ответ: 2174 1145
Ниже записана программа. Получив на вход число 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:
|
С++:
|
Ответ: 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
Исполнитель преобразует число на экране.
У исполнителя есть две команды, которым присвоены номера:
1. Прибавить 2
2. Умножить на 2
Первая команда увеличивает число на экране на 2, вторая – вдвое. Программа для исполнителя – это последовательность команд.
Сколько существует таких программ, которые исходное число 1 преобразуют в число 52 и при этом траектория вычислений программы содержит число 16?
Траектория вычислений программы – это последовательность результатов выполнения всех команд программы.
Ответ: 105
✍ Решение:
Паскаль: решение №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
✍ Решение:
ЕГЭ по информатике -> демоверсия ЕГЭ 2022
Демоверсия егэ информатика 2022 решение
*** ПЛЕЙЛИСТ КАНАЛА ЮТЬЮБ ***
ЕГЭ по информатике -> демоверсия ЕГЭ 2022
Скачать pdf демоверсии варианта ->
На рисунке схема дорог Н-ского района изображена в виде графа, в таблице содержатся сведения о протяжённости каждой из этих дорог (в километрах).
1 | 2 | 3 | 4 | 5 | 6 | 7 | |
---|---|---|---|---|---|---|---|
1 | — | 3 | 4 | ||||
2 | 3 | — | 12 | 13 | |||
3 | — | 10 | 11 | ||||
4 | 10 | — | 9 | 7 | |||
5 | 4 | 12 | 11 | 9 | — | 8 | 6 |
6 | 13 | 8 | — | 5 | |||
7 | 7 | 6 | 5 | — |
Так как таблицу и схему рисовали независимо друг от друга, то нумерация населённых пунктов в таблице никак не связана с буквенными обозначениями на графе.
Определите, какова сумма протяжённостей дорог из пункта Б в пункт В и из пункта Г в пункт Д.
В ответе запишите целое число.
Ответ: 20
🎦
Видео на RuTube здесь
Миша заполнял таблицу истинности логической функции F
¬(y → (x ≡ w)) /\ (z → x)
но успел заполнить лишь фрагмент из трёх различных её строк, даже не указав, какому столбцу таблицы соответствует каждая из переменных w, x, y, z.
Определите, какому столбцу таблицы истинности функции F соответствует каждая из переменных w, x, y, z.
Перем.1 | Перем.2 | Перем.3 | Перем.4 | Функция |
??? | ??? | ??? | ??? | F |
1 | 1 | 1 | ||
0 | 0 | 1 | ||
0 | 1 | 0 | 1 |
В ответе запишите буквы в том порядке, в котором идут соответствующие им столбцы (сначала буква, соответствующая первому столбцу; затем буква, соответствующая второму столбцу, и т.д.).
Ответ: wxyz
🎦
Решение подобного задания (программирование):
В файле приведён фрагмент базы данных «Продукты» о поставках товаров в магазины районов города. База данных состоит из трёх таблиц.
Таблица «Движение товаров» содержит записи о поставках товаров в магазины в течение первой декады июня 2021 г., а также информацию о проданных товарах. Поле Тип операции содержит значение Поступление или Продажа, а в соответствующее поле Количество упаковок, шт. занесена информация о том, сколько упаковок товара поступило в магазин или было продано в течение дня. Заголовок таблицы имеет следующий вид.
ID операции | Дата | ID магазина | Артикул | Тип операции | Количество упаковок, шт. | Цена, руб./шт. |
Таблица «Товар» содержит информацию об основных характеристиках каждого товара. Заголовок таблицы имеет следующий вид.
Артикул | Отдел | Наименование | Ед. изм. | Количество в упаковке | Поставщик |
Таблица «Магазин» содержит информацию о местонахождении магазинов. Заголовок таблицы имеет следующий вид.
ID магазина | Район | Адрес |
На рисунке приведена схема указанной базы данных.
Используя информацию из приведённой базы данных, определите на сколько увеличилось количество упаковок яиц диетических, имеющихся в наличии в магазинах Заречного района, за период с 1 по 10 июня включительно.
В ответе запишите только число.
Ответ: 966
🎦
Видео на RuTube здесь
Для кодирования некоторой последовательности, состоящей из букв Л, М, Н, П, Р, решили использовать неравномерный двоичный код, удовлетворяющий условию, что никакое кодовое слово не является началом другого кодового слова. Это условие обеспечивает возможность однозначной расшифровки закодированных сообщений. Для букв Л, М, Н использовали соответственно кодовые слова 00, 01, 11. Для двух оставшихся букв – П и Р – кодовые слова неизвестны.
Укажите кратчайшее возможное кодовое слово для буквы П, при котором код будет удовлетворять указанному условию. Если таких кодов несколько, укажите код с наименьшим числовым значением.
Ответ: 100
🎦
Видео на RuTube здесь
На вход алгоритма подаётся натуральное число N
. Алгоритм строит по нему новое число R
следующим образом.
1. Строится двоичная запись числа N
.
2. К этой записи дописываются справа ещё два разряда по следующему правилу:
а) складываются все цифры двоичной записи числа N
, и остаток от деления суммы на 2 дописывается в конец числа (справа).
б) над этой записью производятся те же действия – справа дописывается остаток от деления суммы её цифр на 2.
Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N) является двоичной записью искомого числа R.
Укажите такое наименьшее число N
, для которого результат работы данного алгоритма больше числа 77. В ответе это число запишите в десятичной системе счисления.
Ответ: 19
✍ Решение:
-
✎ Решение аналитическим способом:
1001110
int('10011',2)
✎ Решение с использованием программирования:
PascalAbc.NET:
|
|
Python:
|
Ответ: 19
🎦 -> аналитическое решение
Видео на RuTube здесь
🎦 -> решение с программированием (на Паскале) подобного задания
Видео на RuTube здесь
Определите, при каком наименьшем введённом значении переменной s
программа выведет число 64. Для Вашего удобства программа представлена на четырёх языках программирования.
Паскаль:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | var s, n: integer; begin readln(s); s := s div 10; n := 1; while s < 51 do begin s := s + 5; n := n * 2 end; writeln(n) end. |
Алгоритмический язык:
алг нач цел n, s ввод s s := div(s, 10) n := 1 нц пока s < 51 s := s + 5 n := n * 2 кц вывод n кон |
Python:
|
С++:
|
Ответ: 259
✍ Решение:
-
✎ Способ 1 (программный):
Pascalabc.net:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | begin var s1 := 509; while true do // внешний цикл, бесконечный begin var s := s1; s := s div 10; // --- код из условия задания --- // var n := 1; while s < 51 do begin s := s + 5; n := n * 2; if n = 64 then // если найдено, то выводим соответствующее s begin print(s1); exit; // выход из бесконечного цикла end; end; s1 := s1 - 1; end; end. |
Пояснение:
Бейсик:
|
Python:
|
||
С++:
|
Ответ: 259
🎦
Видео на RuTube здесь
Для хранения произвольного растрового изображения размером 128×320 пикселей отведено 20 Кбайт памяти без учёта размера заголовка файла. Для кодирования цвета каждого пикселя используется одинаковое количество бит, коды пикселей записываются в файл один за другим без промежутков.
Какое максимальное количество цветов можно использовать в изображении?
Ответ: 16
🎦
Видео на RuTube здесь
Все четырёхбуквенные слова, в составе которых могут быть только буквы Л, Е, М, У, Р, записаны в алфавитном порядке и пронумерованы, начиная с 1.
Ниже приведено начало списка.
1. ЕЕЕЕ 2. ЕЕЕЛ 3. ЕЕЕМ 4. ЕЕЕР 5. ЕЕЕУ 6. ЕЕЛЕ …
Под каким номером в списке идёт первое слово, которое начинается с буквы Л?
Ответ: 126
✍ Решение:
PascalABC.net (использование LINQ, быстрое решение): Способ 1:
Cartesian(3) — метод расширения последовательности, возвращающий декартову степень множества символов, т.е. в нашем случае перебор 3-знаковых слов из заданных символов
* LINQ (Language Integrated Query) — язык интегрированных запросов
|
||
PascalABC.net (приближенный к традиционному, долгое решение): Способ 2:
|
||
PascalABC.net (приближенный к традиционному, долгое решение): Способ 3:
|
||
Python:
|
||
С++:
|
🎦 (программный способ)
Видео на RuTube здесь
🎦 (теоретический способ)
Видео на RuTube здесь
Откройте файл электронной таблицы, содержащей в каждой строке три натуральных числа. Выясните, какое количество троек чисел может являться сторонами треугольника, то есть удовлетворяет неравенству треугольника.
В ответе запишите только число.
Ответ: 2453
🎦
Видео на RuTube здесь
С помощью текстового редактора определите, сколько раз, не считая сносок, встречается слово «долг» или «Долг» в тексте романа в стихах А.С. Пушкина «Евгений Онегин». Другие формы слова «долг», такие как «долги», «долгами» и т.д., учитывать не следует. В ответе укажите только число.
Ответ: 1
🎦
Видео на RuTube здесь
При регистрации в компьютерной системе каждому объекту сопоставляется идентификатор, состоящий из 15 символов и содержащий только символы из 8-символьного набора: А, В, C, D, Е, F, G, H. В базе данных для хранения сведений о каждом объекте отведено одинаковое и минимально возможное целое число байт. При этом используют посимвольное кодирование идентификаторов, все символы кодируют одинаковым и минимально возможным количеством бит. Кроме собственно идентификатора, для каждого объекта в системе хранятся дополнительные сведения, для чего отведено 24 байта на один объект.
Определите объём памяти (в байтах), необходимый для хранения сведений о 20 объектах. В ответе запишите только целое число – количество байт.
Ответ: 600
🎦 (теоретическое решение)
Видео на RuTube здесь
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.
А) заменить (v, w).
Б) нашлось (v).
…
Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 70 идущих подряд цифр 8? В ответе запишите полученную строку.
НАЧАЛО ПОКА нашлось (2222) ИЛИ нашлось (8888) ЕСЛИ нашлось (2222) ТО заменить (2222, 88) ИНАЧЕ заменить (8888, 22) КОНЕЦ ЕСЛИ КОНЕЦ ПОКА КОНЕЦ
Ответ: 22
✍ Решение:
✎ Решение с использованием программирования:
PascalABC.NET:
Вариант 1:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | begin var s := '8'*70; var p2 := Pos('2222',s); var p8 := Pos('8888',s); while (p2 > 0) or (p8 > 0) do begin if p2 > 0 then begin Delete( s, p2, 4 ); Insert( '88', s, p2 ); end else begin Delete( s, p8, 4 ); Insert( '22', s, p8 ); end; p2 := Pos('2222',s); p8 := Pos('8888',s); end; write(s); end. |
Вариант 2:
1 2 3 4 5 6 7 8 9 10 11 | begin var s: string := '8' * 70; while ('2222' in s) or ('8888' in s) do // ИЛИ: while (s.contains('2222')) or (s.contains('8888')) do begin if ('2222' in s) then // ИЛИ: if (s.contains('2222')) then s := s.replace('2222', '88') else s := s.replace('8888', '22'); end; writeln(s); end. |
Питон:
1 2 3 4 5 6 7 | s = 70 * '8' while "2222" in s or "8888" in s: if "2222" in s: s = s.replace( "2222", "88", 1 ) else: s = s.replace( "8888", "22", 1 ) print(s) |
🎦
Видео на RuTube здесь
На рисунке представлена схема дорог, связывающих города А, Б, В, Г, Д, Е, Ж, З, И, К, Л, М. По каждой дороге можно двигаться только в одном направлении, указанном стрелкой.
Сколько существует различных путей из города А в город М, проходящих через город В?
Ответ: 24
Разбор подобного задания смотрите в видео:
🎦 Видео
Видео на RuTube здесь
Значение арифметического выражения:
3*438 + 2*423 + 420 + 3*45 + 2*44 + 1
записали в системе счисления с основанием 16. Сколько значащих нулей содержится в этой записи?
Ответ: 15
✍ Решение:
PascalABC.NET:
|
|
Python:
|
|
С++:
|
✎ Решение аналитическим способом:
4n=16n/2
3*1619 + 2*(41*1611) + 3*(41*162) + 2*162 + 1
Формула: 16n=10..0[n штук]16 (в 16 с.с.) 3*1619 = 3*10..016 -> 19 нулей + 1 другая цифра(3), т.е. всего 20 цифр
2*(41*1611) = 2*(4*10..0[11 штук]16=80..0[11 штук]16 -> одна другая цифра 41*162 = 4*10016 = 400 -> одна другая цифра 3*(41*162) = 3*4*10016 = С0016 -> одна другая цифра 2*162 =2*10016 = 20016 -> одна другая цифра 1 -> одна другая цифра
20-5=15
Ответ: 15
🎦 (программное решение)
Видео на RuTube здесь
На числовой прямой даны два отрезка: D = [17; 58]
и C = [29; 80]
.
Укажите наименьшую возможную длину такого отрезка A
, для которого логическое выражение
(x ∈ D) → ((¬(x ∈ C) /\ ¬(x ∈ A)) → ¬(x ∈ D))
истинно (т.е. принимает значение 1) при любом значении переменной х
.
Ответ: 12
✍ Решение:
🎦 (теоретическое решение)
Видео на RuTube здесь
Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями:
F(n) = 1 при n = 1; F(n) = n + F(n − 1), если n – чётно, F(n) = 2 × F(n − 2), если n > 1 и при этом n – нечётно
Чему равно значение функции F(26)?
Ответ: 4122
✍ Решение:
✎ Решение с использованием программирования:
PascalABC.NET:
1 2 3 4 5 6 7 8 9 10 11 12 13 | function F(n: integer): integer; begin if n <= 1 then F := 1; if n mod 2 = 0 then F := n + F(n - 1); if (n > 1) and (n mod 2 <> 0) then F := 2 * F(n - 2) end; begin print(F(26)) end. |
Питон:
1 2 3 4 5 6 7 8 | def F( n ): if n <= 1: return 1 if (n % 2 == 0): return n + F(n-1) if (n>1 and n % 2 != 0): return 2 * F(n-2) print (F(26)) |
C++:
1 |
Ответ: 4122
🎦 (программное решение)
Видео на RuTube здесь
В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от –10 000 до 10 000 включительно. Определите и запишите в ответе сначала количество пар элементов последовательности, в которых хотя бы одно число делится на 3, затем максимальную из сумм элементов таких пар.
В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
6; 2; 9; –3; 6 – ответ: 4 11
Ответ: 2802 1990
✍ Решение:
✎ Решение с использованием программирования:
PascalABC.NET:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | begin var f: text; var i, k, max, len: integer; assign(f, '17.txt'); reset(f); var data: array of integer; data := new integer[100000]; i := 0; while not EOF(f) do begin readln(f, data[i]); inc(i); end; len := i - 1; k := 0; max := -100; for i := 1 to len do begin if (data[i] mod 3 = 0) or (data[i - 1] mod 3 = 0) then begin inc(k); if data[i] + data[i - 1] > max then max := data[i] + data[i - 1]; end; end; print(k, max) end. |
Питон:
1 2 3 4 5 6 7 8 9 | f = open('17.txt') data =[int(x) for x in f] k = 0 m = -100 for i in range(len(data)-1): if data[i]%3==0 or data[i+1]%3==0: k+=1 m = max(m, data[i]+data[i+1]) print (k,m) |
C++:
1 |
🎦
Видео на RuTube здесь
Квадрат разлинован на N×N клеток (1 < N < 17
). Исполнитель Робот может перемещаться по клеткам, выполняя за одно перемещение одну из двух команд: вправо или вниз. По команде вправо Робот перемещается в соседнюю правую клетку, по команде вниз – в соседнюю нижнюю. Квадрат ограничен внешними стенами. Между соседними клетками квадрата также могут быть внутренние стены. Сквозь стену Робот пройти не может.
Перед каждым запуском Робота в каждой клетке квадрата лежит монета достоинством от 1 до 100. Посетив клетку, Робот забирает монету с собой; это также относится к начальной и конечной клетке маршрута Робота.
Определите максимальную и минимальную денежную сумму, которую может собрать Робот, пройдя из левой верхней клетки в правую нижнюю.
В ответе укажите два числа – сначала максимальную сумму, затем минимальную.
Исходные данные представляют собой электронную таблицу размером N×N, каждая ячейка которой соответствует клетке квадрата.
38 22
Ответ: 721 640
🎦 (решение Excel)
Видео на RuTube здесь
Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в кучу один камень или увеличить количество камней в куче в два раза. Для того чтобы делать ходы, у каждого игрока есть неограниченное количество камней.
Игра завершается в тот момент, когда количество камней в куче становится не менее 29. Победителем считается игрок, сделавший последний ход, т.е. первым получивший кучу, в которой будет 29 или больше камней.
В начальный момент в куче было S
камней, 1 ≤ S ≤ 28
.
Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Описать стратегию игрока – значит описать, какой ход он должен сделать в любой ситуации, которая ему может встретиться при различной игре противника. В описание выигрышной стратегии не следует включать ходы играющего по этой стратегии игрока, не являющиеся для него безусловно выигрышными, т.е. не являющиеся выигрышными независимо от игры противника.
Укажите такое значение S, при котором Петя не может выиграть за один ход, но при любом ходе Пети Ваня может выиграть своим первым ходом.
Ответ: 14
✍ Решение 1:
S = 14 Петя: 14 + 1 = 15 выигрышная позиция (см. п. а). Выигрывает Ваня Петя: 14 * 2 = 28 выигрышная позиция (см. п. а). Выигрывает Ваня
14 - проигрышная позиция
Ответ: 14
✍ Решение 2 (Excel):
🎦 (решение Excel)
Видео на RuTube здесь
Для игры, описанной в задании 19, найдите два таких значения S
, при которых у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:
Найденные значения запишите в ответе в порядке возрастания.
Ответ: 7 13
✍ Решение 1:
S = 7 Петя: 7 * 2 = 14 проигрышная позиция (см. п. 1 б). Выигрывает Петя S = 13 Петя: 13 + 1 = 14 проигрышная позиция (см. п. 1 б). Выигрывает Петя
7, 13 - выигрышные позиции со второго хода
Ответ: 7 13
✎ Решение 2 (Excel)
Для игры, описанной в задании 19, найдите значение S
, при котором одновременно выполняются два условия:
Если найдено несколько значений S
, в ответе запишите минимальное из них.
✍ Решение:
S = 12 Петя: 12 + 1 = 13 Ваня: 13 + 1 = 14 проигрышная позиция (см. задание 19). Выигрывает Ваня вторым ходом!
Ответ: 12
Ниже на четырёх языках программирования записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа: L и M. Укажите наибольшее число x, при вводе которого алгоритм печатает сначала 4, а потом 5.
Паскаль:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | var x, L, M, Q: integer; begin readln(x); Q := 9; L := 0; while x >= Q do begin L := L + 1; x := x - Q; end; M := x; if M < L then begin M := L; L := x; end; writeln(L); writeln(M); end. |
Алгоритмический язык:
алг нач цел x, L, M, Q ввод x Q := 9 L := 0 нц пока x >= Q L := L + 1 x := x - Q кц M := x если M < L то M := L L := x все вывод L, нс, M кон |
Python:
|
С++:
|
Ответ: 49
Исполнитель преобразует число на экране.
У исполнителя есть две команды, которым присвоены номера:
1. Прибавить 1
2. Умножить на 2
Программа для исполнителя – это последовательность команд.
Сколько существует программ, для которых при исходном числе 1 результатом является число 20, и при этом траектория вычислений содержит число 10?
Траектория вычислений программы – это последовательность результатов выполнения всех команд программы.
Ответ: 28
✍ Решение:
Паскаль:
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-1 ); //учитываем кол-во программ предыдущего числа // если число чётное, нужно добавить ещё кол-во программ для числа x//2: if x mod 2 = 0 then k := k + func( start, x div 2 ); func := k; end; end; begin writeln( func(1,10) * func(10,20) ); end. |
Ответ: 28

Текстовый файл состоит из символов P, Q, R и S.
Определите максимальное количество идущих подряд символов, среди которых нет идущих подряд символов P.
Для выполнения этого задания следует написать программу.
Ответ: 188
✍ Решение:
-
Паскаль:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | var f: text; i, k, max: integer; s: string; begin assign(f, '24.txt'); reset(f); readln(f, s); max := 1; k := 1; // кол-во подряд идущих без PP for i := 2 to length(s) do begin if (not ((s[i] = 'P') and (s[i - 1] = 'P'))) then begin inc(k); if k > max then max := k; end else k := 1; end; write(max) end. |
Python:
1 2 3 4 5 6 7 8 9 10 11 12 | f=open('24.txt') s=f.readline() m=1 k=1 for i in range(2,len(s)): if not(s[i]=='P' and s[i-1]=='P'): k+=1 if k > m: m = k else: k=1 print(m) |
Пусть M
– сумма минимального и максимального натуральных делителей целого числа, не считая единицы и самого числа. Если таких делителей у числа нет, то значение M
считается равным нулю.
Напишите программу, которая перебирает целые числа, бо́льшие 700 000, в порядке возрастания и ищет среди них такие, для которых значение M
оканчивается на 8. Выведите первые пять найденных чисел и соответствующие им значения M
.
М
.Строки выводятся в порядке возрастания найденных чисел.
Количество строк в таблице для ответа избыточно.
Ответ:
700005 233338 700007 100008 700012 350008 700015 140008 700031 24168
✍ Решение:

Системный администратор раз в неделю создаёт архив пользовательских файлов. Однако объём диска, куда он помещает архив, может быть меньше, чем суммарный объём архивируемых файлов.
Известно, какой объём занимает файл каждого пользователя.
По заданной информации об объёме файлов пользователей и свободном объёме на архивном диске определите максимальное число пользователей, чьи файлы можно сохранить в архиве, а также максимальный размер имеющегося файла, который может быть сохранён в архиве, при условии, что сохранены файлы максимально возможного числа пользователей.
Входные данные.
В первой строке входного файла находятся два числа: S – размер свободного места на диске (натуральное число, не превышающее 10 000) и N – количество пользователей (натуральное число, не превышающее 1000). В следующих N строках находятся значения объёмов файлов каждого пользователя (все числа натуральные, не превышающие 100), каждое в отдельной строке.
Запишите в ответе два числа: сначала наибольшее число пользователей, чьи файлы могут быть помещены в архив, затем максимальный размер имеющегося файла, который может быть сохранён в архиве, при условии, что сохранены файлы максимально возможного числа пользователей.
Пример входного файла:
100 4 80 30 50 40
При таких исходных данных можно сохранить файлы максимум двух пользователей. Возможные объёмы этих двух файлов 30 и 40, 30 и 50 или 40 и 50. Наибольший объём файла из перечисленных пар – 50, поэтому ответ для приведённого примера:
2 | 50
Ответ: 568 50
✍ Решение:
-
Проанализируем возможное решение:
100 4 80 30 50 40
100 - 70 = 30
30 - 40 <= запаса (30) 40 - 40 <= запаса (30) 50 - 40 <= запаса (30) 80 - 40 > запаса (30), не подходит
Теперь построим алгоритм на языках программирования:
PascalABC.net:
|
||
Python:
|
||
С++:
|
Ответ: 568 | 50
Видео на RuTube здесь
Дана последовательность из N
натуральных чисел. Рассматриваются все её непрерывные подпоследовательности, такие что сумма элементов каждой из них кратна k = 43
. Найдите среди них подпоследовательность с максимальной суммой, определите её длину. Если таких подпоследовательностей найдено несколько, в ответе укажите количество элементов самой короткой из них.
Входные данные
Даны два входных файла (файл A и файл B), каждый из которых содержит в первой строке количество чисел N
(1 ≤ N ≤ 10 000 000). Каждая из следующих N
строк содержит одно натуральное число, не превышающее 10 000.
7 1 3 4 93 8 5 95
В ответе укажите два числа: сначала значение искомой суммы для файла А, затем – для файла B.
Предупреждение: для обработки файла B не следует использовать переборный алгоритм, вычисляющий сумму для всех возможных вариантов, поскольку написанная по такому алгоритму программа будет выполняться слишком долго.
Ответ: 185 329329
✍ Решение:
ЕГЭ по информатике -> демоверсия ЕГЭ 2022
Вариант №5 с сайта К. Полякова
Решение вариант №5 ЕГЭ с сайта Константина Полякова
На рисунке справа схема дорог Н-ского района изображена в виде графа, в таблице содержатся сведения о длинах этих дорог (в километрах).
Так как таблицу и схему рисовали независимо друг от друга, то нумерация населённых пунктов в таблице никак не связана с буквенными обозначениями на графе.
Определите длину кратчайшего пути из пункта Г в пункт В.
✍ Решение:
Ответ: 25
Логическая функция F задаётся выражением
(x ≡ ¬z) → ((x ∨ w) ≡ y)
На рисунке приведён частично заполненный фрагмент таблицы истинности функции F, содержащий неповторяющиеся строки.
Определите, какому столбцу таблицы истинности функции F соответствует каждая из переменных x, y, z, w.
✍ Решение:
- Программирование:
PascalABC.net:
|
||
Python:
|
||
С++:
|
Ответ: xwyz
В фрагменте базы данных представлены сведения о родственных отношениях.
Определите мужчину, который впервые стал отцом в самом раннем возрасте, и запишите в ответе его идентификатор (ID).
✍ Решение:
Ответ: 367
По каналу связи передаются сообщения, содержащие только семь букв: А, Б, К, О, Н, Р, Я. Для передачи используется двоичный код, удовлетворяющий условию Фано. Кодовые слова для некоторых букв известны:
А – 010, Р – 011, Я – 10
Какое наименьшее количество двоичных знаков потребуется для кодирования слова КОРАН?
✍ Решение:
К(3) + О(4) + Р(3) + А(3) + Н(2) = 15
Ответ: 15
На вход алгоритма подаётся натуральное число N
. Алгоритм строит по нему новое число R
следующим образом.
1) Строится двоичная запись числа N
.
2) Затем справа дописываются два разряда: символы 01, если число N чётное, и 10, если нечётное.
Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N
) является двоичной записью искомого числа R
.
Укажите минимальное число R
, большее 81, которое может являться результатом работы этого алгоритма. В ответе это число запишите в десятичной системе.
✍ Решение:
82 = 01010010 - N четное, должно было добавиться 01 83 = 01010011 - в конце не может быть "11" 84 = 01010100 - в конце не может быть "00" 85 = 01010101 - N нечетное, должно было добавиться 10 86 = 01010110 - N нечетное, все верно!
Ответ: 86
Определите, при каком наименьшем целом введённом значении переменной d
программа выведет число 192.
PascalABC.net:
|
Python:
|
С++:
|
✍ Решение:
-
Программирование:
PascalABC.net:
|
||
Python:
|
||
С++:
|
Ответ: 67
Музыкальный фрагмент был записан в формате моно, оцифрован и сохранён в виде файла без использования сжатия данных. Размер полученного файла – 70 Мбайт. Затем тот же музыкальный фрагмент был записан повторно в формате стерео (двухканальная запись) и оцифрован с разрешением в 4 раза выше и частотой дискретизации в 3,5 раза меньше, чем в первый раз. Сжатие данных не производилось.
Укажите размер файла в Мбайт, полученного при повторной записи.
✍ Решение:
S = 1 I = 70Мб
S = 2 B > 4 F < 3.5
I2 = I1*2*4:3.5 = 70*2*4:3.5 = 160 Мб
Ответ: 160
Юрий составляет 4-буквенные слова из букв П, Р, И, К, А, З. Каждую букву можно использовать не более одного раза, при этом в слове нельзя использовать более одной гласной.
Сколько различных кодов может составить Юрий?
✍ Решение:
2 4 3 2 г 4 2 3 2 г 4 3 2 2 г 4 3 2 2 г Получаем: 48 * 4 = 192
4 3 2 1 = 24
Ответ: 216
Откройте файл электронной таблицы 9-0.xls, содержащей результаты ежечасного измерения температуры воздуха на протяжении трёх месяцев.
Найдите среднее значение измерений, в которых температура не превышала 15 градусов. В ответе запишите только целую часть получившегося числа.
✍ Решение:
Ответ: 12
С помощью текстового редактора определите, сколько раз, не считая сносок, встречаются личные местоимения (я, ты, он, она, оно), без учета регистра в тексте А.П. Чехова «Воры» (файл 10-1.docx). В ответе укажите только число.
✍ Решение:
Ответ: 141
При регистрации в компьютерной системе каждому пользователю выдаётся пароль, состоящий из 6 символов и содержащий только символы из 7-буквенного набора А, В, Е, К, М, Н, О. В базе данных для хранения сведений о каждом пользователе отведено одинаковое и минимально возможное целое число байт. При этом используют посимвольное кодирование паролей, все символы кодируются одинаковым и минимально возможным количеством бит. Кроме собственно пароля для каждого пользователя в системе хранятся дополнительные сведения, для чего отведено 10 байт.
Определите объём памяти в байтах, необходимый для хранения сведений о 100 пользователях.
✍ Решение:
Ответ: 1300
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.
1. заменить (v, w) 2. нашлось (v)
Дана программа для исполнителя Редактор:
НАЧАЛО ПОКА нашлось (111) заменить (111, 2) заменить (222, 3) заменить (333, 1) КОНЕЦ ПОКА КОНЕЦ
Какая строка получится в результате применения приведённой программы к строке вида 1…13…3
(2018 единиц и 2050 троек)?
✍ Решение:
-
Программирование:
PascalABC.net:
|
||
Python:
|
||
С++:
|
Ответ: 332113
На рисунке изображена схема дорог, связывающих города А, Б, В, Г, Д, Е, Ж, З, И, К, Л, М. По каждой дороге можно двигаться только в одном направлении, указанном стрелкой.
Сколько существует различных путей из города А в город М, не проходящих через город Е?
✍ Решение:

Ответ: 30
Значение арифметического выражения:
95 + 325 – 20
записали в системе счисления с основанием 3.
Найдите сумму цифр в этой записи. Ответ запишите в десятичной системе.
✍ Решение:
-
Программирование:
PascalABC.net:
|
||
Python:
|
||
С++:
|
Ответ: 18
Обозначим через ДЕЛ(n, m)
утверждение «натуральное число n
делится без остатка на натуральное число m
». Для какого наименьшего натурального числа А
формула
(ДЕЛ(x, A) ∧ ¬ДЕЛ(x, 36)) → ¬ДЕЛ(x, 12)
тождественно истинна (то есть принимает значение 1 при любом натуральном значении переменной х
)?
✍ Решение:
-
Программирование:
PascalABC.net:
|
||
Python:
|
||
С++:
|
Ответ: 9
Алгоритм вычисления значения функции F(n)
, где n
– натуральное число, задан следующими соотношениями:
F(n) = n*n + 3*n + 9, при n ≤ 15 F(n) = F(n-1) + n - 2, при n > 15, кратных 3 F(n) = F(n-2) + n + 2, при n > 15, не кратных 3
Определите количество натуральных значений n
из отрезка [1; 1000], для которых все цифры значения F(n)
чётные.
✍ Решение:
-
Программирование:
PascalABC.net:
|
||
Python:
|
||
С++:
|
Ответ: 33
Рассматривается множество целых чисел, принадлежащих отрезку [1100;11000], которые делятся на 6 и не делятся на 7, 13, 17 и 23.
Найдите количество таких чисел и максимальное из них. В ответе запишите два числа через пробел: сначала количество, затем максимальное число.
✍ Решение:
-
Программирование:
PascalABC.net:
|
||
Python:
|
||
С++:
|
Ответ: 1178 10992
Квадрат разлинован на N×N клеток (1 < N < 17). Исполнитель Робот может перемещаться по клеткам, выполняя за одно перемещение одну из двух команд: вправо или вниз. По команде вправо Робот перемещается в соседнюю правую клетку, по команде вниз – в соседнюю нижнюю. При попытке выхода за границу квадрата Робот разрушается. Перед каждым запуском Робота в каждой клетке квадрата лежит монета достоинством от 1 до 100. Посетив клетку, Робот забирает монету с собой; это также относится к начальной и конечной клетке маршрута Робота.
Исходные данные записаны в файле 18-2.xls в виде электронной таблице размером N×N, каждая ячейка которой соответствует клетке квадрата.
Определите максимальную и минимальную денежную сумму, которую может собрать Робот, пройдя из левой верхней клетки в правую нижнюю. В ответе укажите два числа – сначала максимальную сумму, затем минимальную.
✍ Решение:
Ответ: 1320 522
Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежат две кучи камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в одну из куч один камень или увеличить количество камней в куче в два раза. Чтобы делать ходы, у каждого игрока есть неограниченное количество камней. Игра завершается в тот момент, когда суммарное количество камней в кучах становится не менее 40. Победителем считается игрок, сделавший последний ход, т. е. первым получивший позицию, в которой в кучах будет 40 или больше камней.
В начальный момент в первой куче было 9 камней, во второй куче – S
камней, 1 ≤ S ≤ 30. Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника.
Ответьте на следующие вопросы:
Вопрос 1 (задание 19). Известно, что Ваня выиграл своим первым ходом после неудачного первого хода Пети. Назовите минимальное значение S, при котором это возможно.
Вопрос 2 (задание 20). Найдите два таких значения S, при которых у Пети есть выигрышная стратегия, причём Петя не может выиграть первым ходом, но может выиграть своим вторым ходом независимо от того, как будет ходить Ваня. Найденные значения запишите в ответе в порядке возрастания.
Вопрос 3 (задание 21). Сколько существует значений S, при которых у Вани есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети, и при этом у Вани нет стратегии, которая позволит ему гарантированно выиграть первым ходом.
✍ Решение:
-
Программирование:
PascalABC.net:
|
||||||
Python: Задание 19:
Ответ: 4 Задание 20:
Ответ: 4 3 4 уже было в 19, убираем 14 15 - лишнее Задание 21:
Ответ: 14 уже было в 20
15 уже было в 20
значит, ответ 0
|
||||||
С++:
|
Ответ:
19: 4 20: 3 14 21: 0
Укажите наименьшее из таких чисел x, при вводе которых алгоритм печатает сначала 3, а потом 15.
PascalABC.net:
|
Python:
|
СИ:
|
✍ Решение:
-
Программирование:
PascalABC.net:
|
||
Python:
|
||
С++:
|
Ответ: 135
Исполнитель Калькулятор преобразует число на экране. У исполнителя есть три команды, которым присвоены номера:
1. Прибавить 1 2. Прибавить 3 3. Умножить на 4
Программа для исполнителя Калькулятор – это последовательность команд.
Сколько существует программ, для которых при исходном числе 1 результатом является число 18?
✍ Решение:
-
Программирование:
PascalABC.net:
|
||
Python:
|
||
С++:
|
Ответ: 572
Текстовый файл 24-s1.txt состоит не более чем из 106 заглавных латинских букв (A..Z). Текст разбит на строки различной длины.
Определите количество строк, в которых буква K встречается чаще, чем буква U.
✍ Решение:
-
Программирование:
PascalABC.net:
|
||
Python:
|
||
С++:
|
Ответ: 470
Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [251811; 251826], числа, имеющие ровно 4 различных делителя. В ответе для каждого найденного числа запишите два его наибольших делителя в порядке возрастания.
✍ Решение:
-
Программирование:
PascalABC.net:
|
||||
Python:
ИЛИ:
|
||||
С++:
|
Ответ:
8123 251813 50363 251815 83939 251817 601 251819 14813 251821
Системный администратор раз в неделю создаёт архив пользовательских файлов. Однако объём диска, куда он помещает архив, может быть меньше, чем суммарный объём архивируемых файлов. Известно, какой объём занимает файл каждого пользователя. Системный администратор старается сохранить файлы как можно большего размера. При этом используя выделенную память максимально эффективно – сохраняя файлы меньшего размера, если файлы большего не могут быть сохранены.
Входные данные. В первой строке входного файла 26-j3.txt находятся два числа: S
– размер свободного места на диске (натуральное число, не превышающее 1000000) и N
– количество пользователей (натуральное число, не превышающее 10000). В следующих N
строках находятся значения объёмов файлов каждого пользователя (все числа натуральные, не превышающие 100), каждое в отдельной строке.
Запишите в ответе два числа: сначала число сохраненных файлов, затем размер наименьшего сохраненного файла.
Пример входного файла:
100 4 70 10 25 3
При таких исходных данных можно сохранить три файла – 70, 25, 3. Поэтому ответ должен содержать два числа – 3 и 3.
✍ Решение:
-
Программирование:
PascalABC.net:
|
||
Python:
|
||
С++:
|
Ответ: 1054 732
Имеется набор данных, состоящий из троек положительных целых чисел. Необходимо выбрать из каждой тройки два числа так, чтобы сумма всех выбранных чисел не делилась на 5 и при этом была максимально возможной. Гарантируется, что искомую сумму получить можно. Программа должна напечатать одно число – максимально возможную сумму, соответствующую условиям задачи.
Входные данные. Даны два входных файла (файл A и файл B), каждый из которых содержит в первой строке количество троек N (1 ≤ N ≤ 100000). Каждая из следующих N строк содержит три натуральных числа, не превышающих 10 000.
Пример входного файла:
6 8 3 4 4 8 12 9 5 6 2 8 3 12 3 5 1 4 11
Для указанных входных данных значением искомой суммы должно быть число 89.
В ответе укажите два числа: сначала искомое значение для файла А, затем для файла B.
✍ Решение:
-
Программирование:
PascalABC.net:
|
||
Python:
|
||
С++:
|
Ответ: 25034 76468978
Задание 26 ЕГЭ информатика по теме «Обработка целочисленной информации с использованием сортировки»
Задание 24 ЕГЭ информатика по теме «Программная обработка символьной информации»
Дальше — больше… Задание 24 ЕГЭ информатика по теме «Программная обработка символьной информации»
Задание 21 ЕГЭ информатика по теме «Дерево игры для выигрышной стратегии»
Дальше — больше… Задание 21 ЕГЭ информатика по теме «Дерево игры для выигрышной стратегии»
Задание 20 ЕГЭ информатика по теме «Поиск выигрышной стратегии»
Дальше — больше… Задание 20 ЕГЭ информатика по теме «Поиск выигрышной стратегии»
Задание 18 ЕГЭ информатика по теме «Обработка числовой информации в электронных таблицах»
Задание 17 ЕГЭ информатика по теме «Обработка целочисленной информации»
Дальше — больше… Задание 17 ЕГЭ информатика по теме «Обработка целочисленной информации»
Задание 10 ЕГЭ информатика по теме «Поиск средствами ОС или текстового редактора»
Дальше — больше… Задание 10 ЕГЭ информатика по теме «Поиск средствами ОС или текстового редактора»