Задание 7. Восстановление IP-адреса — теория и разбор
Совет: выделите текст, чтобы спросить у ИИ, или наведите (на телефоне — тапните) на подчёркнутое слово — увидите подсказку.
Задание 7. Восстановление IP-адреса — теория и разбор
В этом варианте задания 7 адрес не нужно ничего кодировать или переводить — достаточно правильно склеить готовые кусочки. Вся сложность — не перепутать порядок и не забыть, что у IP-адреса строго фиксированная форма.
Что нужно знать
IP-адрес компьютера в привычной записи — это четыре числа от 0 до 255 (их называют октетами), разделённые точками: XXX.XXX.XXX.XXX. Например, 192.168.0.1 — четыре октета (192, 168, 0, 1) и ровно три точки между ними.
В задании адрес разрезан на несколько частей (фрагментов), обозначенных буквами, — и части перемешаны. Разрез может пройти прямо посередине октета: тогда часть его цифр окажется в конце одного фрагмента, а остаток — в начале соседнего. Нужно определить порядок фрагментов, при котором они склеиваются в исходный адрес.
Главная подсказка: фрагмент, который не начинается с точки и не является одинокой короткой группой цифр «в воздухе», почти всегда стоит первым — потому что сам IP-адрес не может начинаться с точки.
Правило проверки готового ответа: после склейки должно получиться ровно 4 числа и ровно 3 точки, и каждое число — от 0 до 255. Если точек не три или число больше 255 — где-то фрагменты перепутаны местами.
Разбор примера
Папа Серёжи продиктовал по телефону IP-адрес домашнего роутера, но запись на бумаге порвалась на четыре части. Части, обозначенные буквами:
А) 254
Б) 3
В) 172.16.
Г) .1
Восстановите IP-адрес и запишите последовательность букв в порядке, в котором фрагменты образуют адрес.
Как думать. Фрагмент В (172.16.) не начинается с точки и сразу содержит два готовых октета — с него удобно начать проверку. Дальше ищем, какой фрагмент логично продолжает адрес после точки в «172.16.», и так по цепочке, пока не соберутся четыре октета.
Показать решение и ответ
Склеиваем по цепочке, начиная с фрагмента В:
- В =
172.16.— первые два октета172и16готовы, дальше нужен третий октет. - А =
254— третий октет целиком:254. - Г =
.1— точка и начало четвёртого октета:1. - Б =
3— продолжает четвёртый октет:1+3=13.
Итоговая склейка В+А+Г+Б: 172.16. + 254 + .1 + 3 = 172.16.254.13.
Проверка: четыре октета — 172, 16, 254, 13 — все не больше 255, точек ровно три. Всё сходится.
Ответ: ВАГБ (адрес 172.16.254.13)
Как решить в Python
Ручную склейку удобно проверить программой: перебрать все перестановки фрагментов и оставить те, что дают ровно 4 октета от 0 до 255:
from itertools import permutations
fragments = {'А': '254', 'Б': '3', 'В': '172.16.', 'Г': '.1'}
for order in permutations(fragments):
candidate = ''.join(fragments[k] for k in order)
parts = candidate.split('.')
if len(parts) == 4 and all(p.isdigit() and 0 <= int(p) <= 255 for p in parts):
print(''.join(order), '->', candidate)
Перебор проходит все 24 варианта порядка и печатает подходящие — на реальном экзамене того же результата добиваются вручную, отслеживая переход от точки к точке, как в разборе выше.
Похожие материалы
Задание 7. Восстановление адреса файла в интернете (URL) — теория и разбор
Путь к файлу (URL)
Как собрать URL из перемешанных фрагментов, используя «://» и «/» как якоря — разбор примера и проверка в Python.
Задание 7. Восстановление адреса электронной почты — теория и разбор
Электронная почта
Как собрать email из перемешанных фрагментов, используя «@» как якорь — разбор примера и проверка в Python.
Адрес файла в интернете: тренажёр
Шесть листов с задачами на определение адреса файла в интернете (протокол, сервер, путь, имя файла) для задания 7 ОГЭ по информатике. Материалы: ФИПИ, открытый банк заданий.
Кодирование интернет-адреса: сборник задач
Шесть листов с задачами на кодирование адреса файла в сети интернет для задания 7 ОГЭ по информатике. Материалы: ФИПИ, открытый банк заданий.
Формирование URL-адреса файла: практикум
Шесть листов с задачами на формирование корректного URL-адреса файла для задания 7 ОГЭ по информатике. Материалы: ФИПИ, открытый банк заданий.
Задание 16. Программирование на языке программирования — теория и разбор
Типовой шаблон решения: цикл + условие делимости + счётчик — разбор примера на Python и Паскале.