вентилятор
Хорошего настроения!

ЕГЭ по информатике 2024 - Задание 13 (Неудержимые нули)



В этой статье мы разберём НОВОЕ 13 задание из ЕГЭ по информатике 2024 на ip адреса.


Тематика тринадцатого задания из ЕГЭ по информатике 2024 затрагивает организацию компьютерных сетей, адресацию, протоколы передачи данных.


Перейдём непосредственно к решению типовых задач.



Задача(ЕГЭ по информатике, 2018)

В терминологии сетей TCP/IP маской сети называется двоичное число, определяющее, какая часть IP-адреса узла сети относится к адресу сети, а какая - к адресу самого узла в этой сети. Обычно маска записывается по теме же правилам, что и IP-адрес - в виде четырёх байтов, причём каждый байт записывается в виде десятичного числа. При этом в маске сначала (в старших разрядах) стоят единицы, а затем с некоторого разряда - нули. Адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу узла и маске.


Например, если IP-адрес узла равен 231.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 231.32. 240.0.


Для узла с IP-адресом 111.81.88.168 адрес сети равен 111.81.88.160.


Найдите наименьшее значение последнего байта маски. Ответ запишите в виде десятичного числа.





Решение:

В подобных задачах в первых двух абзацах даётся краткая теория, которая почти не меняется от задаче к задаче. Сам вопрос, который нас интересует, находится в последних двух абзацах!


Чтобы понять суть происходящего, выпишем IP-адрес, под ним адрес сети, пропустив свободную строчку. В свободной строчке мы должны записать байты маски.


Маска так же, как и IP-адрес, адрес сети, состоит из четырёх десятичных чисел (байт), которые не могут превышать значение 255.


ЕГЭ по информатике - задание 13 (байты маски)

Рассмотрим левый столбик. В IP-адресе и в адресе сети одинаковое число 111. Значит, первый слева байт маски равен числу 255





Если записать числа в двоичной системе в виде 8 разрядов (1 байта) (в случае, когда число в двоичном представлении имеет меньше 8 (восьми) разрядов, нужно дополнить старшие разряды нулями до 8 разрядов), то поразрядное логическое умножение двоичных разрядов байта IP-адреса и байта маски должно давать байт адреса сети


ЕГЭ по информатике - задание 13 (логическое умножение байта IP-адреса и байта маски)

Почему нельзя поставить в байт маски число 239 (1110 11112) ? Или число 111 (0110 11112) ?


ЕГЭ по информатике - задание 13 (не верный байт маски)

Существует ещё одно правило формирования байтов маски: Если нули в маске пошли, то их НЕ ОСТАНОВИТЬ!


Т.е. если мы хотя бы один нолик в двоичном представлении числа байта маски поставили, то все правые разряды обязаны занулить.


ЕГЭ по информатике - задание 13 (не верный байт маски 2)




Но тогда у нас не получится число 111 (011011112) в байте адреса сети.


Более того, правило, что нули не остановить, сработает и для правых байтов. Т.е. если мы нолик поставили в двоичном представлении левого байта маски, то должны занулять и все правые байты!


ЕГЭ по информатике - задание 13 (основное правило формирования маски)

Т.е. если соединить все байты маски в двоичном представлении, у нас будет только один переход от единиц к нулям.


После того, как разобрались с теорией, перейдём к нашей задаче!


Теперь мы понимаем, что три левых байта маски могут принимать значение только 255 (В двоичном представлении все единицы 111111112), из-за того, что совпадают числа IP-адреса и адреса сети в трёх левых байтах. К тому же, если бы попался хотя бы один нолик, в этих байтах, правые байты бы занулились!


ЕГЭ по информатике - задание 13 (Не известен последний байт маски)




Значение последнего байта маски нужно проанализировать и сделать его как можно меньшим, исходя из условия задачи.


Приступаем к решению


Ⅰ) Переводим числа 168 и 160 в двоичную систему счисления.


Число 168 в двоичной системе будет 101010002.


Число 160 в двоичной системе будет 101000002.


Ⅱ) Записываем байт IP-адреса и под ним, пропустив свободную строчку для байта маски, записываем байт адреса сети. Здесь уже 8 разрядов в каждом двоичном числе, поэтому не нужно дополнять нулями старшие разряды.


ЕГЭ по информатике - задание 13 (Ищем байт маски)

Видно, что можно поставить пять нулей справа в байте маски.


ЕГЭ по информатике - задание 13 (Байт маски с наименьшим значением)

В шестой разряд справа уже нельзя поставить 0, потому что 1 * 0 будет 0, а должна быть 1! Плюс ко всему, если мы единицу поставили, дальше влево должны идти только единицы, чтобы не нарушалось главное правило составления маски.


Примечание: Мы забили нулями по максимуму байт маски, но так же было бы корректно байт маски представить в таком виде 111100002, однако такое представление не делает байт маски минимальным в числовом значении.


Переводим в десятичную систему получившийся минимальный из возможных в числовом значении байт маски 111000002.


111000002 = 224

Ответ: 224



Задача (ЕГЭ по информатике, 2019, Москва)

В терминологии сетей TCP/IP маской сети называется двоичное число, определяющее, какая часть IP-адреса узла сети относится к адресу сети, а какая - к адресу самого узла в этой сети. Обычно маска записывается по теме же правилам, что и IP-адрес - в виде четырёх байтов, причём каждый байт записывается в виде десятичного числа. При этом в маске сначала (в старших разрядах) стоят единицы, а затем с некоторого разряда - нули. Адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу узла и маске.


Например, если IP-адрес узла равен 231.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 231.32. 240.0.


Для узла с IP-адресом 113.191.169.34 адрес сети равен 113.191.160.0


Чему равно наибольшее возможное количество нулей в разрядах маски сети?





Решение:

В этой задаче нужно понять, какое может быть максимальное число нулей во всей маске (в 4 байтах).


Выпишем IP-адрес, под ним адрес сети, пропустив строчку, куда запишем байты маски.


ЕГЭ по информатике - задание 13 (Максимальное количество нулей в маске)

Первые слева два байта маски равны 255 (111111112), потому что два числа слева IP-адреса равны двум числам слева адреса сети.


Второй байт маски справа уже имеет в своих разрядах некоторое количество нулей, т.к. соответствующие числа IP-адреса и адреса сети различаются! Различие могут сделать только нули в байте маски!


Видно, что нули начинаются во втором справа байте маски, а если нули пошли, то их не остановить, поэтому самый первый байт маски справа полностью занулён, и в двоичной системе представляет собой 8 нулей. Из-за этого самый правый байт адреса сети тоже полностью занулён! (Ведь каждый разряд двоичного представления числа 34 умножен на 0)





Проанализируем второй справа байт маски.


1) Переведём числа 169 и 160 в двоичную систему.


Число 160 переводили в предыдущей задаче. Получилось число 101000002.


169 в двоичной системе 101010012.


2) Выписываем байт IP-адреса и под ним, пропустив строчку для байта маски, байт адреса сети.



ЕГЭ по информатике - задание 13 (Максимальное количество нулей в байте маски)




Начинаем забивать нулями справа байт маски. Пять нулей можно записать, потому что в 5 разрядах справа адреса сети стоят нули, и логическое умножение разрядов будет верно исполняться.


В шестом разряде справа в байте адреса сети стоит 1. В соответствующем разряде байта IP-адреса тоже 1. Значит и в соответствующем разряде байта маски тоже должна быть 1. (Если мы поставим ноль, то получится 1*0=1, что неверно!).


Если единицы влево пошли, то их тоже уже не остановить в байте маски.


Примечание: Допустимо было значение 111100002 для байта маски, но нам нужно максимальное количество нулей!


5 нулей в байте маски, и в самом правом байте 8 нулей. Значит, ответ будет 5 + 8 = 13 нулей во всей маске.


Ответ: 13



Задача (Стандартная, тренировочная)

В терминологии сетей TCP/IP маской сети называется двоичное число, определяющее, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу самого узла в этой сети. При этом в маске сначала (в старших разрядах) стоят единицы, а затем с некоторого места – нули. Обычно маска записывается по тем же правилам, что и IP-адрес – в виде четырёх байтов, причём каждый байт записывается в виде десятичного числа. Адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу узла и маске.


Например, если IP-адрес узла равен 231.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 231.32.240.0.


Для узла с IP-адресом 93.138.70.47 адрес сети равен 93.138.64.0. Каково наибольшее возможное общее количество единиц во всех четырёх байтах маски? Ответ запишите в виде десятичного числа.


Решение:

Напишем общую ситуацию для IP-адреса и адреса сети.


ЕГЭ по информатике - задание 13 (Наибольшее количество единиц во всей маске)

Переведём числа 70 и 64 в двоичную систему, чтобы узнать второй справа байт маски.


Число 70 в двоичной системе 10001102.


Число 64 в двоичной системе 10000002.





Запишем числа в двоичной системе друг под другом, оставив строчку для байта маски. Байт IP-адреса пишется вверху, байт адреса сети - внизу.


Дополняем старшие разряды нулями, чтобы всего было 8 разрядов!


ЕГЭ по информатике - задание 13 (Максимальное количество единиц в маске 3)

Начинаем забивать единицы слева в байте маске. В 5 разрядах слева это можно сделать, но в шестом слева разряде должны поставить 0. Если поставить единицу получится 1*1=1, а должен получится ноль в разряде адреса сети.


А если нули пошли, то их не остановить.


Примечание: Варианты для байта маски могли быть следующие: 110000002, 111000002, 111100002, 111110002, но мы выбрали тот, где больше всего единиц, исходя из условия задачи.


Во втором справа байте маски получилось наибольшее количество получилось 5 единиц. Тогда ответ будет 8 + 8 + 5 = 21 единица во всех 4 байтах маски.


Ответ: 21



Задача (Количество адресов компьютеров)

В терминологии сетей TCP/IP маской подсети называется 32-разрядное двоичное число, определяющее, какие именно разряды IP-адреса компьютера являются общими для всей подсети – в этих разрядах маски стоит 1. Обычно маски записываются в виде четверки десятичных чисел – по тем же правилам, что и IP-адреса. Для некоторой подсети используется маска 255.255.248.0. Сколько различных адресов компьютеров допускает эта маска?


Примечание. На практике для адресации компьютеров не используются два адреса: адрес сети и широковещательный адрес.


Решение:

Здесь нам дана только маска и у этой задачи совсем другой вопрос. Ключевой фразой здесь является: "адресов компьютеров".


Для начала нужно узнать, сколько нулей в маске (4 байтах).


Последний (самый правый байт полностью занулён), значит, 8 нулей уже есть. Нули начинаются во втором справа байте, ведь первые два байта маски имеют значение 255, что в двоичной системе обозначает 8 единиц (111111112)


Переведём число 248 в двоичную систему.


Число 248 в в двоичной системе будет 111110002.


Итого, во всей маске у нас получается 8 + 3 = 11 нулей!


Именно нули в маске показывают количество адресов компьютеров! Применяем формулу:


N = 211 = 2048 адресов компьютеров

В примечании сказано, что не используются два адреса из этого набора, значит в ответе запишем 2048 - 2 = 2046.


Что такое адрес сети, мы уже говорили. Широковещательный адрес - это тот адрес, где над нулями маски стоят все единицы.


Ответ: 2046





Задача (Демо 2024)

В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу узла в этой сети. Адрес сети получается в результате применения поразрядной конъюнкции к заданному адресу узла и маске сети. Сеть задана IP-адресом 192.168.32.160 и маской сети 255.255.255.240. Сколько в этой сети IP-адресов, для которых сумма единиц в двоичной записи IP-адреса чётна?

В ответе укажите только число.


Решение:

В задаче сказано, что к IP-адресу узла применяется поразрядная конъюнкция байтов маски и получается адрес сети.


ЕГЭ по информатике - задание 13 (Основная теория)

Разберёмся с последним байтом.


ЕГЭ по информатике - задание 13 (Последний байт)




Получается, что возможность для манёвров у нас есть только на последних 4 битах IP-адреса узла.


Посчитаем, сколько у нас уже единиц точно известно в IP-адресе в двоичным виде.


192 = 11000000 (две единицы)
168 = 10101000 (три единицы)
32 = 00100000 (одна единица)

Плюс две единицы в последнем байте. Тогда получается:


2 + 3 + 1 + 2 = 8

Восемь единиц уже точно есть в любом IP-адресе узла.


Теперь задача сводится к тому, чтобы посчитать количество вариантов, когда в 4 битах будет чётное количество единиц.





Можно решать на Python, как в 8 задании.


k=0
for x1 in '01':
    for x2 in '01':
        for x3 in '01':
            for x4 in '01':
                s = x1 + x2 + x3 + x4
                if s.count('1')%2==0:
                    k=k+1
print(k)

Ответ получается 8.


Решение данной задачи с помощью языка Python.


Напишем на Python:


from ipaddress import *

for ip in ip_network('192.168.32.160/255.255.255.240'):
    print(ip)




Здесь мы как бы "поделили" IP-адрес на маску и получили ip-адреса, которые соответствуют данной сети. Получается:


192.168.32.160
192.168.32.161
192.168.32.162
192.168.32.163
192.168.32.164
192.168.32.165
192.168.32.166
192.168.32.167
192.168.32.168
192.168.32.169
192.168.32.170
192.168.32.171
192.168.32.172
192.168.32.173
192.168.32.174
192.168.32.175

Первый адрес из этого списка - это адрес сети, последний - это широковещательный. Если мы хотим от них избавиться, то нужно добавить .hosts(): ip_network('192.168.32.160/255.255.255.240').hosts()


В данной задаче про эти два адреса ничего не сказано.


Остаётся немного докрутить, чтобы решить задачу.


from ipaddress import *

for ip in ip_network('192.168.32.160/255.255.255.240'):
    if format(ip, 'b').count('1')%2==0:
        print(ip)




Получается 8 адресов.


192.168.32.160
192.168.32.163
192.168.32.165
192.168.32.166
192.168.32.169
192.168.32.170
192.168.32.172
192.168.32.175

Функция format() переводит ip адрес в строку, где просто идут все биты ip-адреса в виде строки.


Ответ: 8

Задача (Количество масок)

В терминологии сетей TCP/IP маска сети – это двоичное число, меньшее 232; в маске сначала (в старших разрядах) стоят единицы, а затем с некоторого места нули. Маска определяет, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу самого узла в этой сети. Обычно маска записывается по тем же правилам, что и IP-адрес – в виде четырёх байт, причём каждый байт записывается в виде десятичного числа. Адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу узла и маске.

Для узла c IP-адресом 175.122.80.13 адрес подсети равен 175.122.80.0. Сколько существует различных возможных значений маски, если известно, что в этой сети не менее 60 узлов? Ответ запишите в виде десятичного числа.


Решение:

Мы видим, что во втором байте маски справа начинаются нули. Сколько нулей должно быть точно в маске ? Применяем формулу:


26 = 64 >= 60




Т.е. получается 6 нулей минимум. Распишем последние два байта для IP адреса узла и сети:


80.13 = 01010000 . 00001101

80.0   = 01010000 . 00000000

Последние 6 нулей мы не имеем права трогать, т.к. они отвечают за количество узлов. Остальные можно перебирать, но важно помнить про правило: если нули пошли, то их не остановить.


80.13 = 01010000.00001101
            xxxx.xx000000
80.0  = 01010000.00000000

Получается вместо "x" можем написать следующие комбинации:


0000.00
1000.00
1100.00
1110.00
1111.00
1111.10
1111.11

Ответ: 7



Задача (Редкая, порядковый номер компьютера)

Маской подсети называется 32-разрядное двоичное число, которое определяет, какая часть IP-адреса компьютера относится к адресу сети, а какая часть IP-адреса определяет адрес компьютера в подсети. В маске подсети старшие биты, отведенные в IP-адресе компьютера для адреса сети, имеют значение 1; младшие биты, отведенные в IP-адресе компьютера для адреса компьютера в подсети, имеют значение 0.

Если маска подсети 255.255.255.224 и IP-адрес компьютера в сети 162.198.0.157, то порядковый номер компьютера в сети равен_____


Решение:

В этой задаче ключевой фразой является: "порядковый номер компьютера". Нужно знать, как решать данную тренировочную задачу из ЕГЭ по информатике.


Первые 3 слева байты маски равны 255 (111111112), значит, они не участвуют в решении этой задачи.


Мы фокусируем внимание на том байте IP-адреса, под которым байт маски имеет не все единицы в своих разрядах.


Переведём числа 224 и 157 в двоичную систему.


Число 224 в двоичной системе равно 111000002.


Число 157 в двоичной системе равно 100111012.


Запишем друг под другом данные числа в двоичной системе


ЕГЭ по информатике - Задание 13 (Порядковый номер компьютера)

Выписываем ту часть IP-адреса, которая находится над нулями.


Нужно перевести это двоичное число 111012 в десятичную систему, это и будет ответ. Получается число 29



Примечание:

Предположим IP адрес будет 162.198.157.10, а маска подсети 255.255.224.0, тогда запишем байты IP-адреса, а под ними байты маски:


10011101 00001010
11100000 00000000

То берём всё равно ту часть ip-адреса, которая находится над нулями! Не ограничиваемся 8-ю разрядами!


11101000010102 = 7434


Ответ: 29




Пусть Вам повезёт при решении нового 13 задания из ЕГЭ по информатике 2024.





02-09-2023 в 10:55:58





Поддержать сайт:


Похожая статья:

ЕГЭ по информатике 2023 - Задание 22 (Параллельные процессы)

Сегодня посмотрим новое 22 задание из ЕГЭ по информатике 2023....

Категория: Информатика  Подкатегория: ЕГЭ
Дата: 31-12-2022 в 13:00:03 7


Комментарии:

if format(ip, 'b').count('1')%2==0: Подскажите для чего в этой сторке 'b' ?
Андрей 16-10-2023 в 15:13:00

'b' - это значит перевести в двоичный вид.
Калужский Александр 16-10-2023 в 15:51:07

прикольно
андрей 20-11-2023 в 12:52:47

А разве в последней задаче не 30? Ведь первым будет 00000, а мы его пропускаем при простом переводе из base2 в base10
Mokanataru 29-12-2023 в 19:05:00

Обычно на практике не выдаются устройствам адреса, где все нули, и все единицы (см. предыдущие задачи).
Калужский Александр 29-12-2023 в 21:43:55

спасибо!
pavel 26-02-2024 в 13:54:32



Оставить коментарий:



Напишите email, чтобы получать сообщения о новых комментариях (необязательно):


Задача против робота. Расположите картинки горизонтально:




Нажимая кнопку Отправить, Вы соглашаетесь с политикой конфиденциальности сайта.