1) Для того, чтобы получить адрес подсети, нужно выполнить поразрядную логическую операцию «И» между маской и IP-адресом (в двоичной системе счисления) IP-адрес: 248.228. 60.240 = 11111000.11100100.00111100.11110000 Маска: ???.???.???.??? = ????????.????????.????????.???????? Подсеть: 248.228. 56. 0 = 11111000.11100100.00111000.00000000
Так как в маске сначала идут все единицы, а потом все нули, то в третьем байте маски должно быть значение 11111000(2) = 248(10)
2) Переведем значения из третьих байтов в двоичную систему счисления:155(10) = 10011011(2); 145(10) = 10010001(2) В данных числах одинаковы четыре старших разряда (1001), поэтому в маске единичными могут быть четыре разряда, следовательно максимальное значение третьего байта маски = 11110000(2) = 240(10)
3) Для того, чтобы получить адрес подсети, нужно выполнить поразрядную логическую операцию «И» между маской и IP-адресом (в двоичной системе счисления) IP-адрес: 241.185.253. 57 = 11110001.10111001.11111101.00111001 Маска: ???.???.???.??? = ????????.????????.????????.???????? Подсеть: 241.185.252. 0 = 11110001.10111001.11111100.00000000
Так как в маске сначала идут все единицы, а потом все нули, то максимальное значение, которое может быть в третьем байте маски это 11111110(2) и, следовательно, наименьшее возможное количество нулей в двоичной записи маски подсети = 1+8 = 9
var a: array [1..Sz] of integer; N: integer; // Количество элементов в массиве i,k: integer; min,max: real; begin k:=0; N:= 10; for i:=1 to N do begin read(a[i]); k:=k+a[i]; end; write('Вывод элементов массива: '); for i:=1 to N do write(a[i],' '); min := a[1]; for i:=2 to N do if a[i]<min then begin min := a[i]; end; max := a[1]; for i:=2 to N do if a[i]>max then begin max := a[i]; end; writeln('max=',max,' ','min=', min,' ','Средная температура=',k/N) end.
Объяснение:
На английской раскладке:
"<" - Shift + Клавиша с русской буквой Б
">" - Shift + Клавиша с русской буквой Ю