6. Шестиклассник очень торопился, когда печатал ответ на вопрос онлайн-викторины «Кто составил самую первую в мире программу?», и допустил много ошибок:
Агn Авгцста Давлецс.
Увидев это, одноклассница не вытерпела и взялась исправлять. Курсор мигал в конце строки.
Она последовательно нажала на клавиши клавиатуры:
и , BackSpace, й, 8 , , , , , , Del, Л, 8 , , , , ,
BackSpace, y, Home, , Del, Del, да
Что у нее получилось?
Подсеть Назначение
0.0.0.0/8 Адреса источников пакетов "этой" ("своей") сети, предназначены для локального использования на хосте при создании сокетов IP. Адрес 0.0.0.0/32 используется для указания адреса источника самого хоста.
10.0.0.0/8 Для использования в частных сетях.
127.0.0.0/8 Подсеть для коммуникаций внутри хоста.
169.254.0.0/16 Канальные адреса; подсеть используется для автоматического конфигурирования адресов IP в случает отсутствия сервера DHCP.
172.16.0.0/12 Для использования в частных сетях.
100.64.0.0/10 Для использования в сетях сервис-провайдера.
192.0.0.0/24 Регистрация адресов специального назначения.
192.0.2.0/24 Для примеров в документации.
192.168.0.0/16 Для использования в частных сетях.
198.51.100.0/24 Для примеров в документации.
198.18.0.0/15 Для стендов тестирования производительности.
203.0.113.0/24 Для примеров в документации.
240.0.0.0/4 Зарезервировано для использования в будущем.
255.255.255.255 Ограниченный широковещательный адрес.
Зарезервированные адреса, которые маршрутизируются глобально.
Подсеть Назначение
192.88.99.0/24 Используются для рассылки ближайшему узлу. Адрес 192.88.99.0/32 применяется в качестве ретранслятора при инкапсуляции IPv6 в IPv4 (6to4)
224.0.0.0/4 Используются для многоадресной рассылки.
Маски и размеры подсетей
Маска подсети Префикс, бит Количество подсетей Количество хостов Количество адресов Класс подсети
128.0.0.0 /1 2147483646 2147483648 А
192.0.0.0 /2 1073741822 1073741824 А
224.0.0.0 /3 536870910 536870912 А
240.0.0.0 /4 268435454 268435456 А
248.0.0.0 /5 134217726 134217728 А
252.0.0.0 /6 67108862 67108864 А
254.0.0.0 /7 33554430 33554432 А
255.0.0.0 /8 16777214 16777216 А
255.128.0.0 /9 8388606 8388608 B
255.192.0.0 /10 4194302 4194304 B
255.224.0.0 /11 2097150 2097152 B
255.240.0.0 /12 1048574 1048576 B
255.248.0.0 /13 524286 524288 B
255.252.0.0 /14 262142 262144 B
255.254.0.0 /15 131070 131072 B
255.255.0.0 /16 65534 65536 B
255.255.128.0 /17 2 32766 32768 C
255.255.192.0 /18 4 16382 16384 C
255.255.224.0 /19 8 8190 8192 C
255.255.240.0 /20 16 4094 4096 C
255.255.248.0 /21 32 2046 2048 C
255.255.252.0 /22 64 1022 1024 C
255.255.254.0 /23 128 510 512 C
255.255.255.0 /24 256 254 256 C
255.255.255.128 /25 2 126 128 C
255.255.255.192 /26 4 62 64 C
255.255.255.224 /27 8 30 32 C
255.255.255.240 /28 16 14 16 C
255.255.255.248 /29 32 6 8 C
255.255.255.252 /30 64 2 4 C
255.255.255.254 /31 2* 2 C
255.255.255.255 /32 1* 1 C
{данная программа переводит любое сочетание символов ascii в систему счисления заданную пользователем.}
//pascal abc.net v3.0 сборка 1111
var
a,i,b,r,n,j,bug: integer;
s,se,slo,slof: string;
procedure preob(var a,b,n: integer; var se: string);
begin
repeat
b: =a mod n;
a: =a div n;
str(b,se);
s+=se;
until (a< =n-1);
end;
beginreadln(slo);
readln(n);
for j: =1 to length(slo) do
begin;
a: =ord(slo[j]);
preob(a,b,n,se);
str(a,se);
s+=se;
for i: =1 to length(s) div 2 do
begin;
se: =s[i];
s[i]: =s[length(s)-i+1];
s[length(s)-i+1]: =se[1];
end;
write(s,'-');
slof: =slof+s;
delete(s,1,length(s));
end;
end.
пример ввода:
работа на завтра.
2
пример вывода:
11000100-11101110-11101100-11100000-11111000-11101101-11111111-11111111-100000-11110000-11100000-11100001-11101110-11110010-11100000-100000-11101101-11100000-100000-11100111-11100000-11100010-11110010-11110000-11100000-101110-
{таким образом, фразу " работа на завтра." можно закодировать как "11000100-11101110-11101100-11100000-11111000-11101101-11111111-11111111-100000-11110000-11100000-11100001-11101110-11110010-11100000-100000-11101101-11100000-100000-11100111-11100000-11100010-11110010-11110000-11100000-101110-".}