Переводим третий байт IP и адреса сети в двоичную систему
50 - 110010
48 - 110000
Так как это байт (а в байте 8 бит), допишем два незначащих нуля к получившимся числам:
00110010 - IP
00110000 - адрес сети
Адрес сети получается с помощью применения поразрядной конъюнкции к маске и IP, проще говоря, при перемножении разрядов маски и IP-адреса. И в маске всегда сначала идут только единицы, а потом только нули. То есть можно записать так:
хххххххх - маска
00110010 - IP
00110000 - адрес сети
где иксы в маске и цифры в IP-адресе - множители, а разряды адреса сети - произведение.
На 3 и 4 месте в маске однозначно должны быть единицы, т.к. если там будут нули, то и в адресе сети будут нули. Плюс к этому, в маске всегда сначала идут только единицы, а потом только нули, то есть можно записать так:
1111хххх - маска
00110010 - IP
00110000 - адрес сети
Второй справа разряд IP-адреса - единица, а адреса сети - ноль, значит в маске может быть только ноль:
1111хх00 - маска
00110010 - IP
00110000 - адрес сети
Оставшиеся два икса могут быть и единицами, и нулями. Нужно наименьшее возможное значение, значит поставим на их место нули:
11110000 - маска
00110010 - IP
00110000 - адрес сети
То есть третий байт маски 11110000, переведём в десятичную - получим 240.
1) var a:array[1..10] of real;
i:integer;
begin
randomize;
for i:=1 to 10 do begin
a[i]:= random(200) -100;
write(a[i]:5); end;
writeln;
for i:=1 to 10 do
if a[i]>=0 then a[i]:=a[i]/2 else a[i]:=i;
write(a[i]:5);
end.
2) var a:array[1..1000] of real;
s1,s2:real;
i,n:integer;
begin
write('Введите кол-во элементов: '); readln(n);
writeln('Введите элементы массивы: ');
for i:=1 to n do
read(a[i]);
s1:=0; s2:=0;
for i:=1 to n do
if odd(i) then s1:=s1+a[i] else s2:=s2+a[i];
writeln('Сумма элементов с четными номерами: ',s2);
writeln('Сумма элементов с нечетными номерами: ',s1);
end.
Var a,b,x:real;
<span>begin </span>
<span>writeln('Введите зачения чисел a и b'); </span>
<span>read(a,b); </span>
<span>x:=a+b; </span>
<span>writeln('Сумма чисел a+b=',x); </span>
<span>end. </span>
Текстовый файл, ну то есть содержит текстовую информацию.
Const
handsfree = true;
var
a: array[1..100] of real;
i, n: integer;
begin
{ввод массива}
if handsfree then
n := random(20) + 5
else begin
write('n = ');
readln(n);
end;
writeln('Данные массива:');
for i := 1 to n do
begin
if handsfree then begin
a[i] := random(100) - 50;
write(a[i]:3, ' ');
end
else readln(a[i]);
end;
writeln();
{изменение элементов}
for i := 1 to n do
begin
if a[i] < 0 then
a[i] := abs(a[i]);
write(a[i]:3, ' ');
end;
end.