Задание 7. Восстановление адреса файла в интернете (URL) — теория и разбор
Совет: выделите текст, чтобы спросить у ИИ, или наведите (на телефоне — тапните) на подчёркнутое слово — увидите подсказку.
Задание 7. Восстановление адреса файла в интернете (URL) — теория и разбор
Третий вариант задания 7 — самый длинный по числу фрагментов, но логика та же, что и с почтой: в условии прямо названы протокол, сервер и имя файла, а фрагменты — просто разрезанные на куски эти три уже известных слова.
Что нужно знать
Полный адрес файла в интернете строится по схеме: протокол://сервер/имя_файла. Например, https://school.ru/doclad.docx — протокол https, сервер school.ru, файл doclad.docx.
Три части соединены двумя опорными последовательностями символов, которые почти всегда даны отдельным фрагментом целиком: :// (после протокола) и / (перед именем файла). Это удобные якоря — вокруг них легко собрать всё остальное.
Фрагмент :// не встречается больше нигде в адресе — если он выделен отдельным куском, с него безопаснее всего начинать сборку: сразу слева от него — протокол, сразу справа — начало имени сервера.
Правило проверки: соберите протокол, сервер и имя файла из фрагментов отдельно, сверьте каждую часть со словами из условия — и только потом соединяйте их через
://и/.
Разбор примера
Доступ к файлу doklad.pptx, находящемуся на сервере school12.edu, осуществляется по протоколу https. Доступ к этому файлу закодирован фрагментами, обозначенными цифрами от 1 до 7:
dokladhttps://school12/.pptx.edu
Запишите последовательность цифр, кодирующую адрес файла в сети интернет.
Как думать. Протокол назван в условии — это https (фрагмент 2). Сразу за ним идёт фрагмент 3 (://). Дальше нужно имя сервера school12.edu — оно распадается на фрагменты 4 (school12) и 7 (.edu). Затем разделитель перед именем файла — фрагмент 5 (/). И наконец имя файла doklad.pptx — фрагменты 1 (doklad) и 6 (.pptx).
Показать решение и ответ
Собираем по частям адреса, а не наугад:
- Протокол:
https— фрагмент 2. - Разделитель протокола:
://— фрагмент 3. - Сервер
school12.edu:school12(фрагмент 4) +.edu(фрагмент 7). - Разделитель перед файлом:
/— фрагмент 5. - Имя файла
doklad.pptx:doklad(фрагмент 1) +.pptx(фрагмент 6).
Итоговая последовательность: 2, 3, 4, 7, 5, 1, 6.
Проверка склейкой: https + :// + school12 + .edu + / + doklad + .pptx = https://school12.edu/doklad.pptx — совпадает с условием.
Ответ: 2347516
Как решить в Python
Как и с почтой, здесь важна не переборная уникальность, а проверка совпадения с условием — синтаксически «похожих на URL» перестановок может быть много:
fragments = {1: 'doklad', 2: 'https', 3: '://', 4: 'school12', 5: '/', 6: '.pptx', 7: '.edu'}
order = [2, 3, 4, 7, 5, 1, 6]
result = ''.join(fragments[n] for n in order)
protocol, rest = result.split('://')
server, filename = rest.split('/')
print(result) # https://school12.edu/doklad.pptx
print(protocol == 'https') # True
print(server == 'school12.edu') # True
print(filename == 'doklad.pptx') # True
Такая проверка разбивает собранный адрес по :// и / и сверяет каждую часть с условием — быстрее, чем перепроверять склейку посимвольно.
Похожие материалы
Задание 7. Восстановление адреса электронной почты — теория и разбор
Электронная почта
Как собрать email из перемешанных фрагментов, используя «@» как якорь — разбор примера и проверка в Python.
Задание 7. Восстановление IP-адреса — теория и разбор
IP-адрес
Как собрать IP-адрес из перемешанных фрагментов: 4 октета, 3 точки, разбор примера и проверка перебором в Python.
Адрес файла в интернете: тренажёр
Шесть листов с задачами на определение адреса файла в интернете (протокол, сервер, путь, имя файла) для задания 7 ОГЭ по информатике. Материалы: ФИПИ, открытый банк заданий.
Кодирование интернет-адреса: сборник задач
Шесть листов с задачами на кодирование адреса файла в сети интернет для задания 7 ОГЭ по информатике. Материалы: ФИПИ, открытый банк заданий.
Формирование URL-адреса файла: практикум
Шесть листов с задачами на формирование корректного URL-адреса файла для задания 7 ОГЭ по информатике. Материалы: ФИПИ, открытый банк заданий.
Задание 16. Программирование на языке программирования — теория и разбор
Типовой шаблон решения: цикл + условие делимости + счётчик — разбор примера на Python и Паскале.