Главная Проекты Номер 13. ЕГЭ по информатике

Номер 13. ЕГЭ по информатике

Разбор задания 13 ЕГЭ по информатике

Теория

IP-адрес — уникальный адрес устройства в сети, состоит из 4 чисел (0-255).
Маска сети определяет разделение адреса на сеть и узел.
Адрес сети получается применением поразрядной конъюнкции к IP-адресу и маске.

Решение через Python

Способ 1: Использование модуля ipaddress

import ipaddress

# Создаем сеть
network = ipaddress.ip_network('122.159.136.144/255.255.255.248')

# Счетчик подходящих адресов
cnt = 0

# Перебираем все адреса в сети
for ip in network:
    # Проверяем условие (количество единиц не кратно 4)
    if bin(ip).count('1') % 4 != 0:
        cnt += 1

print(cnt)

Пояснение кода:

  1. Импортируем модуль для работы с IP-адресами
  2. Создаем объект сети с заданным IP и маской
  3. Инициализируем счетчик
  4. Перебираем все адреса в сети
  5. Проверяем условие через двоичную запись
  6. Выводим результат

Решение через Excel

Способ 2: Использование электронной таблицы

  1. В ячейку A1 вводим IP-адрес (например, 122.159.136.144)
  2. В ячейку B1 вводим маску (255.255.255.248)
  3. Разбиваем адреса на байты
  4. Переводим в двоичный вид
  5. Применяем поразрядную конъюнкцию
  6. Считаем количество единиц

Формулы для Excel:

  • Перевод в двоичный вид: =ДЕС.В.ДВ(число)
  • Перевод в десятичный вид: =дв.в.дес (число)
  • Проверка условия: =ЕСЛИ(ОСТАТ(количество_единиц;4)<>0;1;0)

Шаги решения:

  1. Создаем таблицу с IP-адресами
  2. Применяем формулы для перевода в двоичный вид
  3. Считаем количество единиц
  4. Фильтруем адреса по условию
  5. Считаем подходящие адреса

Важные моменты

  • В Python используем модуль ipaddress для удобной работы с IP
  • В Excel важно правильно разделить адреса на байты
  • Всегда проверяйте условие задачи (кратность, диапазон и т.д.)
  • Помните, что адрес сети и широковещательный адрес обычно не учитываются

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