В терминологии сетей TCP/IP маской сети называется двоичное число, определяющее, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу самого узла в этой сети. При этом в маске сначала (в старших разрядах) стоят единицы, а затем с некоторого места – нули. Обычно маска записывается по тем же правилам, что и IP-адрес, – в виде четырёх байтов, причём каждый байт записывается в виде десятичного числа. Адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу узла и маске. Например, если IP-адрес узла равен , а маска равна , то адрес сети равен . Узлы с IP-адресами и находятся в разных сетях.
// PascalABC.NET 3.3, сборка 1625 от 17.01.2018 // Внимание! Если программа не работает, обновите версию!
begin var n:=ReadInteger('n='); var v:=SeqRandom(n,-99,99).Select(t->0.1*t).ToArray; v.Println; var imin:=v.Select(t->Abs(t)).ToArray.IndexMin; Writeln('Номер минимального по модулю элемента- ',imin+1); var fn:=v.Select((x,i)->(x,i)).Where(t->t[0]<0).First[1]; Writeln('Сумма модулей элементов после первого отрицательного равна ', v[fn+1:].Sum(t->Abs(t))); var (a,b):=ReadReal2('Введите границы интервала значений для удаления:'); v:=v.Where(t->not t.Between(a,b)).ToArray; var m:=n-v.Length; if n>0 then begin SetLength(v,n); for var i:=v.Length to n-1 do v[i]:=0.0 end; v.Println end.
Пример n= 15 -9.4 3.9 6.2 -2.5 -5.2 9 4.9 -9.5 4.4 2.4 -8.8 3.1 -7.7 5.6 8.9 Номер минимального по модулю элемента- 10 Сумма модулей элементов после первого отрицательного равна 82.1 Введите границы интервала значений для удаления: -20 2 3.9 6.2 9 4.9 4.4 2.4 3.1 5.6 8.9 0 0 0 0 0 0