Приветствуем всех на канале "Информатика для всех"!
Рассмотрим все задачи ОГЭ теоретической части (часть 1, номера 1-10) по информатике на основе задач демо-варианта 2026 года.
Задача 1
В одной из кодировок Unicode каждый символ кодируется 16 битами. Ученик написал текст (в нём нет лишних пробелов): «Мои любимые герои мультфильмов: Шрек, Пумба, Маугли, Рататуй, Пиноккио, Винни-Пух, Белоснежка, Малефисента, Человек-паук, Конёк-Горбунок».
Ученик удалил из списка имя героя одного мультфильма, а также лишние запятую и пробел – два пробела не должны идти подряд. При этом размер нового предложения в данной кодировке оказался на 12 байт меньше, чем размер исходного предложения. Напишите в ответе удалённое имя героя мультфильма.
Решение:
Вспомним, что в кодировке Unicode каждый символ занимает 16 бит, что составляет 2 байт.
Ученик удалил название одного мультфильма, запятую и пробел (т.е. одно название мультфильма + еще два символа по 2 байта) и размер предложения стал на 12 байт меньше. Значит название составляло 12 - 2*2 = 12 - 4 = 8 байт.
Т. к. 1 символ в кодировке Unicode занимает ровно 2 байт, то значит название удаленного мультфильма составляло 8/2 = 4 символа.
Остается найти в списке исходных слов (Шрек, Пумба, Маугли, Рататуй, Пиноккио, Винни-Пух, Белоснежка, Малефисента, Человек-паук, Конёк-Горбунок) название из 4 букв - это и будет наш ответ.
Ответ в задаче: Шрек
Задача 2
Разведчик передал в штаб радиограмму:
• – – • • • – • • – – • • – • – –
При передаче радиограммы было потеряно разбиение на буквы, но известно, что в ней использовались только следующие буквы.
Определите текст радиограммы.
В ответе запишите получившееся слово (набор букв).
Решение:
Для начала расшифруем наше сообщение радиограммы, будем искать в таблице подходящие варианты. Используя таблицу из условия задачи, сначала сопоставим коды с буквами:
А • –
Д – • •
Ж • – • •
Л –
Т • • • –
Затем разобьем зашифрованное сообщение на части, соответствующие кодам.
Все сообщение
• – – • • • – • • – – • • – • – –
можем разбить на отдельные блоки, соответствующие буквам таблицы. При этом получается несколько начальных вариантов разбиений, но не все варианты возможно довести до конца, т.к. встречаются некодируемые последовательности.
Например:
• – (буква есть, это А)
– (буква есть, Л)
• • • – (буква есть, Т)
• • – – • • – • – – (нет варианта буквы, начинающейся с двух точек).
Поэтому берем другой вариант:
• – (буква А)
– • • (Д)
• – • • (Ж)
– (Л)
– • • (Д)
– (Л)
• – (А)
– (Л)
Получаем исходный код вида: АДЖЛДЛАЛ
Задача 3
Напишите наименьшее натуральное число x, для которого ложно высказывание:
(x > 3) ИЛИ НЕ ((x < 4) И (x > 2)).
Решение:
Повторим приоритет логических операций.
Приоритет логических операций в общем виде можно представить следующим образом:
- Логическое НЕ (NOT) — самый высокий приоритет.
- Логическое И (AND).
- Логическое ИЛИ (OR).
Для выражения с несколькими логическими функциями важно учитывать приоритет операций. Например, в выражении: A+B∗C Сначала будет выполнено умножение (логическое И), а затем сложение (логическое ИЛИ).
Для изменения приоритета могут быть использованы скобки.
В условии нашей задачи есть скобки и три логические функции: ИЛИ, НЕ, И.
В первую очередь, выполнится выражение в скобках с функцией И, затем - отрицание НЕ. Далее выполнится функция ИЛИ.
В задаче участвуют натуральные числа - это числа, используемые при счете, например, 1, 2, 3... (целые и положительные).
Является ли число 0 натуральным числом?
Как отмечается в математической литературе, существуют два подхода к определению натуральных чисел:
- числа, возникающие при подсчёте (нумерации) предметов: первый, второй, третий, четвёртый, пятый…;
- числа, возникающие при обозначении количества предметов: 0 предметов, 1 предмет, 2 предмета, 3 предмета, 4 предмета, 5 предметов…
В первом случае ряд натуральных чисел начинается с 1, во втором — с 0.
Не существует единого мнения о предпочтительности первого или второго подхода (то есть считать ли ноль натуральным числом или нет). В подавляющем большинстве российских источников традиционно принят первый подход.
Но вернемся к нашей задаче.
Разберем выражение (x > 3) ИЛИ НЕ ((x < 4) И (x > 2)) по составным частям.
Выражение включает в себя 3 последовательно вычисляемые функции:
- (x < 4) И (x > 2)
- НЕ ((x < 4) И (x > 2))
- (x > 3) ИЛИ НЕ ((x < 4) И (x > 2))
Можем ввести логическую функцию у = (x < 4) И (x > 2)
Тогда можем записать условие задачи как
Напишите наименьшее натуральное число x, для которого ложно высказывание:
(x > 3) ИЛИ НЕ у.
Вспомним таблицу истинности функции ИЛИ:
- 0∨0=0
- 0∨1=1
- 1∨0=1
- 1∨1=1
Функция ИЛИ принимает ложное значение (0) только в том случае, когда обе части выражения ложны (0). Соответственно, для выполнения условия задачи необходимо, чтобы были ложными обе части выражения:
(x > 3) ИЛИ НЕ у.
т.е.
(x > 3) = ложь;
НЕ у = ложь.
Натуральные числа, для которых ложно высказывание (x > 3) - это числа 1, 2, 3.
Разберем выражение НЕ у = ложь, преобразовав его за счет функции НЕ в выражение у = истина.
Вспомним, что
у = (x < 4) И (x > 2),
а функция И имеет таблицу истинности
- 0∧0=0
- 0∧1=0
- 1∧0=0
- 1∧1=1
Функция И принимает истинное значение (1) только в том случае, когда обе части выражения истинны (1).
В нашем случае надо найти х, при котором одновременно:
(x < 4) = истина
(x > 2)= истина
Это возможно только в одном случае: если х=3.
Ответ задачи: 3
Задача 4
Между населёнными пунктами A, B, C, D, E построены дороги, протяжённость которых (в километрах) приведена в таблице.
Определите длину кратчайшего пути между пунктами A и D. Передвигаться можно только по дорогам, протяжённость которых указана в таблице.
Каждый пункт можно посетить только один раз.
Решение:
Задачи такого типа проще всего решить, нарисовав их графическую модель.
Обозначим на каждом пути длину маршрута, полученную из исходной таблицы;
АВ=2
АС=4
АЕ=6
ВС=1
СD=5
CE=1
DE=3
Теперь надо рассмотреть, какие существуют пути из А в D (без повторов городов), всего получаем 6 вариантов:
- ABCD
- ABCED
- ACD
- ACED
- AED
- AECD
Требуется найти сумму расстояний для каждого маршрута и выбрать из них наименьшее. Если сумма сразу получается достаточно большой (больше предыдущих), то можно для экономии времени на экзамене и не досчитывать маршрут до конца (как не оптимальный).
Итого получаем для каждого маршрута:
1. ABCD
ABCD = 2+1+5 = 8
2. ABCED
ABCED = 2+1+1+3 = 7 (меньше)
3. ACD
ACD = 4+5 = 9 (больше)
4. ACED
ACED = 4+1+3 = 8 (больше)
5. AED
AED = 6+3 = 9 (больше)
6. AECD
AECD = 6+1+5 = 12 (больше)
Выбираем самый короткий из маршрутов, это 7.
Ответ задачи: 7
Задача 5
У исполнителя Квадратор две команды, которым присвоены номера:
1) возведи в квадрат
2) прибавь 1
Первая из них возводит число на экране во вторую степень, вторая – прибавляет к числу 1.
Составьте алгоритм получения из числа 3 числа 84, содержащий не более 5 команд. В ответе запишите только номера команд.
Если таких алгоритмов более одного, то запишите любой из них.
Решение:
Для решения задач такого типа часто используют представление в виде графов, где по ветвям графа расписывают возможные варианты.
Всего у нас две операции:
- возведи в квадрат
- прибавь 1
Обозначим ^2 - возведение в квадрат. Получаем в виде графа:
Затем продолжаем ветви вниз:
Дальше подумаем, как нам сократить время перебора, рассмотрев сперва наиболее перспективные ветви дерева.
Нам требуется получить число 84. Можно ли его вообще получить возведением в квадрат чисел 10 и 16? Нет.
Но можно ли быстро перейти от 81 к 84 за счет операции +1? Да.
Будем добавлять по единице.
Получим 82, затем 83 и 84.
Полный вид дерева перехода от 3 к 84 имеет вид:
3^2 = 9
9^2 = 81
81 + 1 = 82
82 + 1 = 83
83 + 1 = 84
Команд именно 5, осталось записать их по номерам:
возведи в квадрат - команда 1
прибавь 1 - команда 2
Получаем, что мы использовали команды 1, 1, 2, 2, 2.
Ответ задачи: 11222
Задача 6
Ниже приведена программа, записанная на пяти языках программирования.
Было проведено 9 запусков программы, при которых в качестве значений переменных s и t вводились следующие пары чисел:
(13, 2); (11, 12); (–12, 12); (2, –2); (–10, –10); (6, –5); (2, 8); (9, 10); (1, 13).
Укажите наибольшее целое значение параметра А, при котором для указанных входных данных программа должна напечатать «NO» ровно пять раз.
Решение:
Для начала изучим, что же выполняет заданная программа с точки зрения ее алгоритма.
Рассмотрим для примера приведенный код на языке Python:
s = int(input())
t = int(input())
A = int(input())
if (s > A) or (t > 12):
print("YES")
else:
print("NO")
В данном программном коде используются следующие операторы:
int(input())
if ... else:
print(...)
Операторы int(input()) вводят данные с клавиатуры и преобразуют их к целому типу (int). Наша программа, соответственно, вводит три целых числа и присваивает их значениям переменных s, t. A.
Дальше проверяется условие:
if (s > A) or (t > 12),
то есть условие (s > A) или (t > 12).
Если условие выполнилось, то с помощью оператора print на экран выводится слово "YES", иначе выводится "NO".
Что касается условия нашей задачи.
Было проведено 9 запусков программы, при которых в качестве значений переменных s и t вводились следующие пары чисел:
(13, 2);
(11, 12);
(–12, 12);
(2, –2);
(–10, –10);
(6, –5);
(2, 8);
(9, 10);
(1, 13).
В каждой паре чисел первое число отвечает значению переменной s, а второе число - значению переменной t.
Для каждой пары чисел проверяется составное условие (s > A) or (t > 12).
Требуется найти наибольшее целое значение параметра А, при котором для указанных входных данных программа должна напечатать «NO» ровно пять раз.
То есть фактически, нам надо найти А, для которого 5 раз (из 9 запусков программы с приведенными выше числами) будет не выполнено условие
(s > A) or (t > 12).
Рассмотрим это подробнее. Нам надо проверять составное условие на or (ИЛИ) для условий:
Проанализируем правую часть таблицы.
Когда выполнится условие (t > 12)?
Учитываем, что использован знак "строго больше" (не включающий понятие "равно"):
Получаем, что из 9 запусков условие выполнено всего 1 раз, а 8 раз не выполнено.
По известным законам логики (законы де Моргана), существует логическое правило:
не (a или b) = (не a) и (не b)
Нам нужно определить, при каком наибольшем А будет нарушено условие s > A.
Причем нас будут интересовать только те строки таблицы, где уже нарушено условие (t > 12), а это первые 8 строк таблицы.
Фактически нам требуется найти наибольшее целое значение параметра А, при котором для s, равных 13, 11, –12, 2, –10, 6, 2, 9 условие (s > A) будет нарушено пять раз.
Проанализируем набор чисел (13, 11, –12, 2, –10, 6, 2, 9) с точки зрения возрастания данных. Мы имеем, что пятью наименьшими числами данного набора являются числа:
-12
-10
2
2
6
Далее по возрастанию идет число 9 и, соответственно, нам надо подобрать такое наибольшее целое значение параметра А, при котором 9 > A.
Таким значением параметра является число 8.
При значении параметра А=8 будет получен именно нужный нам результат - в 5 случаях будут одновременно не выполнены условия (s > A) и (t > 12), значит на экран 5 раз будет выведено слово "NO".
Ответ задачи: 8
Задача 7
Доступ к файлу https.txt, находящемуся на сервере smile.ru, осуществляется по протоколу https. Фрагменты адреса файла закодированы цифрами от 1 до 7. Запишите последовательность этих цифр, кодирующую адрес указанного файла в сети Интернет.
1) https
2) /
3) smile
4) https.
5) .ru
6) txt
7) ://
Решение:
Повторим принципы последовательности записи адресов файлов в интернет:
- протокол,
- двоеточие и двойной слэш (наклонная черта вправо),
- сервер,
- слэш.
- имя файла, в котором его расширение отделяется точкой.
В нашей задаче:
протокол https,
сервер smile.ru (домен верхнего уровня ru показывает принадлежность к стране),
файл имеет имя https и расширение txt (то есть https.txt).
Получаем:
1) https (1 место. В данном случае - не путать с именем файла, после которого стоит точка)
2) / (5 место)
3) smile (3 место)
4) https. (6 место)
5) .ru (4 место)
6) txt (7 место)
7) :// (2 место)
Ответ: 1735246
Задача 8
В языке запросов поискового сервера для обозначения логической операции «ИЛИ» используется символ «|», а для логической операции «И» – символ «&».
В таблице приведены запросы и количество найденных по ним страниц некоторого сегмента сети Интернет.
Какое количество страниц (в тысячах) будет найдено по запросу
Динамо & Спартак?
Считается, что все запросы выполняются практически одновременно, так что набор страниц, содержащих все искомые слова, не изменяется за время выполнения запросов.
Решение:
Для задач такого типа часто используют Диаграмму Эйлера - Венна, которая наглядно показывает отношения между множествами.
Как будут изображены на такой диаграмме заданные нам условия из таблицы?
Нарисуем графически в виде пересечений кругов.
Логическая операция «ИЛИ» ( «|» ) дает объединение (увеличение).
Логическая операция «И» ( «&» ) дает пересечение (уменьшение).
1-я строка таблицы: Динамо & (Зенит | Спартак)
(пересечение круга Динамо с результатом объединения множеств Зенит и Спартак)
2-я строка таблицы: Динамо & Зенит
(пересечение двух кругов - Динамо и Зенит)
3-я строка таблицы: Динамо & Зенит & Спартак
(пересечение всех трёх кругов, их общая часть)
Искомый результат поиска: Динамо & Спартак
(пересечение двух кругов - Динамо и Спартак)
Применим дальше математический подход к решению данной задачи и введем для каждого из сегментов данной диаграммы свою переменную.
На рисунке использованы переменные X, Y, Z, S,
где Х + S - искомый результат поиска.
Учтем условие задачи из таблицы.
При этом получаем:
Динамо & (Зенит | Спартак) соответствует X+Y+S = 840
Динамо & Зенит соответствует Y+S = 530
Динамо & Зенит & Спартак соответствует S = 130
Можем составить систему уравнений:
X+Y+S = 840
Y+S = 530
S = 130
Вычтем из первого уравнения второе, получим:
(X+Y+ S) - (Y + S) = 840 - 530
При этом:
(X+Y+ S) - (Y + S) = Х
840 - 530 = 310,
то есть Х = 310.
Нам требуется найти Х + S, где
Х = 310
S = 130
Получаем ответ 310 + 130 = 440.
Ответ в задаче: 440
Задача 9
На рисунке – схема дорог, связывающих города A, B, C, D, E, F, G, H.
По каждой дороге можно двигаться только в одном направлении, указанном стрелкой. Сколько существует различных путей из города А в город H?
Решение:
Рассмотрим схему дорог, связывающих различные города.
Для начала посчитаем, сколько есть маршрутов между самыми ближними городами, начиная с города А.
Из А в В - единственный маршрут.
Из А в С и из А в D - также всего по одному маршруту.
Затем рассмотрим город Е.
Из А в Е ведет уже два маршрута: через город В и через город С, то есть АВЕ и АСЕ.
Изобразим это графически:
Продвинемся дальше по схеме в город F.
Можем попасть в F через С, через D и через Е. Но при этом через С и D проходят по одной дороге, а через Е - две дороги (через АВЕ и АСЕ).
Общее количество дорог из А в F - это 4 (как 1+1+2).
В город G ведут маршруты через Е и F, причем 2 маршрута через С и 4 маршрута через F. Значит в сумме мы можем использовать 6 маршрутов для пути из А в G.
Остается рассмотреть заключительный город Н.
В него можно попасть через город F (а в F ведут 4 маршрута) и через город G (в него ведут 6 маршрутов).
Итого получается, что из А в Н мы можем попасть 4+6=10 маршрутами.
Ответ: 10
Задача 10
Вычислите значение арифметического выражения:
110111(основание 2) + 1101(основание 8) + 110(основание 16)
В ответе запишите десятичное число. Основание системы счисления указывать не нужно.
Решение:
Вспомним, чем характеризуются разные системы счисления.
Двоичная система (основание 2) применяется в компьютерах и цифровых устройствах, использует только две цифры: 0 и 1.
Восьмеричная система счисления (основание 8) — это система, в которой используются восемь уникальных символов для представления чисел. Эти символы включают цифры от 0 до 7. Восьмеричная система является позиционной, что означает, что значение каждой цифры зависит от её позиции в числе.
Шестнадцатеричная система счисления — позиционная система счисления по основанию 16. В качестве цифр этой системы счисления обычно используются цифры от 0 до 9 и латинские буквы от A до F.
Для перевода чисел из произвольной системы счисления в десятичную систему счисления, нужно сложить все произведения каждой цифры числа на основание системы счисления в степени соответствующего разряда.
Для каждого числа надо посчитать количество разрядов (можно при этом подписать разряды справа налево, начиная с 0).
Затем надо разложить число в сумму ряда, где каждое слагаемое - это произведение цифры числа и основания системы счисления, возведенного в степень разряда.
Рассмотрим по отдельности каждое из трёх слагаемых из условия задачи.
Обратите внимание, что в данном примере в качестве всех цифр чисел в условие задачи были использованы только 0 и 1, что является нехарактерным, частным случаем для восьмеричной и шестнадцатеричной систем счисления.
Для первого слагаемого получим:
Проведём численный расчёт. Обозначим знаком ^ возведение в степень (и не забудем, что по математическим правилам возведение любого числа в степень 0 всегда дает 1).
110111 (по основанию 2) = 1*(2^5) + 1*(2^4) + 0*(2^3) +1*(2^2) +1*(2^1) +1*(2^0) = 32 + 16 + 4 + 2 + 1 = 55
Рассмотрим второе слагаемое.
Вычислим:
1101 (по основанию 8) = 1*(8^3) +1*(8^2) +0*(8^1) +1*(8^0) = 512 + 64 + 1 = 577
И рассмотрим третье слагаемое:
Вычислим:
110 (по основанию 16) = 1*(16^2) +1*(16^1) +0*(16^0) = 256 +16 +0 = 272
Итого: 55 + 577 + 272 = 904
Ответ в задаче: 904
И еще решение задач ОГЭ:
Подборка решений всех задач ОГЭ по информатике (пополняется)