ЕГЭ информатика 13 задание разбор, теория, как решать.

ЕГЭ информатика 13 задание разбор, теория, как решать.

Задание №13 ЕГЭ по информатике — IP-сети и маски

Что надо уметь:

  • читать IP-адрес и маску: a.b.c.d/m или a.b.c.d/255.255...;
  • понимать, что адрес сети и широковещательный адрес нельзя давать узлам;
  • уметь пройти по всем адресам сети и что-то посчитать;
  • в Python удобно решать через модуль ipaddress — он есть на экзамене в демках и в СтатГраде.

Мини-теория

Маска — это 32 бита, сначала 1, потом 0.
Адрес сети = (IP AND Mask).
Широковещательный адрес — тот же адрес сети, но в младших разрядах вместо нулей стоят единицы.
В сети есть:

  • адрес сети (первый) — не выдаём;
  • адреса узлов — можно выдавать;
  • широковещательный (последний) — не выдаём.

В Python:

Дальше всё сводится к «пройти по сети и отфильтровать». Ниже — типовые случаи.


1. Найти наибольший IP-адрес в сети (демо-2026)

Условие (сокр.): сеть задана IP-адресом узла 191.128.66.83 и маской 255.192.0.0. Найдите в этой сети наибольший IP-адрес, который может быть назначен компьютеру. В ответе — без точек.

Ответ: 191191255254


2. Найти наименьший IP-адрес для компьютера (СтатГрад 23.10.2025)

Условие (сокр.): дан узел 167.66.136.176 и маска 255.254.0.0. Определите наименьший IP этой сети, который можно выдать компьютеру. В ответе — сумму октетов.

Комментарий: часто в ответ просят «сумму октетов», поэтому после нахождения адреса просто делим по точкам и складываем.


3. Посчитать адреса по условию «количество единиц …» (демо-2025, апробации, СтатГрад)

Это самый частый тип: «Сколько в сети IP-адресов, для которых …».
Алгоритм всегда один:

  1. создали сеть через ip_network(..., 0);
  2. пробежались циклом;
  3. перевели ip в двоичную строку: f'{ip:b}' или bin(int(ip))[2:];
  4. проверили условие;
  5. сосчитали.

3.1. Демо ЕГЭ 2025 — «число единиц НЕ кратно 5»

Ответ: 1663

3.2. Апробация I 05.03.2025 — «количество единиц НЕ кратно 5» в другой сети

Ответ: 13003

3.3. Демо ЕГЭ 2024 — «сумма единиц чётная»


4. Найти маску по условию на количество IP (СтатГрад 24.10.2024)

Условие (сокр.): узел 121.96.174.205 принадлежит сети, в которой 10 IP-адресов, двоичная запись которых содержит ровно 12 единиц. Сколько единиц в маске?

Идея: маска нам неизвестна → перебираем длину маски от 15 до 32 и смотрим, при каком значении в сети ровно 10 «подходящих» адресов.

Ответ: 22 (т.е. в маске 22 единицы)


5. «A» в одном из октетов (задачи вида 154.127.A.230)

Это уже «олимпиадный» стиль, но на ЕГЭ сейчас тоже появляются.
Сеть задана как 154.127.A.192/255.255.255.192, нужно подобрать такое A, чтобы для всех IP в сети выполнялось какое-то условие.

Шаблон:

Дальше — только меняем условие внутри цикла.


6. Задача «адрес сети и широковещательный нельзя использовать»

В демо и СтатГраде бывают формулировки «найдите наименьший / наибольший адрес, который можно выдать компьютеру».
В модуле ipaddress всё просто:

  • net[0] — адрес сети;
  • net[-1] — широковещательный;
  • net[1] — первый узловой;
  • net[-2] — последний узловой.

Пример:


7. Частые приёмы

  • Всегда пишем вторым аргументом 0 в ip_network(..., 0), чтобы Python не «чиннил» адрес.
  • Для подсчёта единиц: bin(int(ip))[2:].count('1') или f'{ip:b}'.count('1').
  • Для ответа «без точек»: str(ip).replace('.', '').
  • Для суммы октетов: sum(map(int, str(ip).split('.'))).
  • Если «количество адресов, у которых …», то обычный for ip in net: и счётчик.

8. Что тренировать

  1. Демо ЕГЭ 2025 и 2026 — задачи на «НЕ кратно».
  2. СтатГрад 23.10.2025 — наименьший IP и сумма октетов.
  3. СтатГрад 24.10.2024 — подбор маски по количеству подходящих адресов.
  4. Апробация 05.03.2025 — то же самое, но другая сеть.
  5. Задачи с «A» в октете — перебор от 0 до 255.

Если ученик знает эти 5 шаблонов — он решит 99% вариантов №13.