Даны адрес и маска. определить:
a) на сколько подсетей разбивает указанная маска данную сеть и какое максимальное количество узлов будут содержать подсети?
б) какие адреса будут иметь подсети?
в) какие широковещательные адреса будут у созданных подсетей?
г) на сколько увеличится количество ip адресов, которых нельзя назначить реальным узлам?
Program sadadasf;
var i,k,l: integer;
begin
Writeln('Введите первое целое двухзначное число:');
readln(i);
Writeln('Введите второе целое двухзначное число:');
readln(k);
If k>i then begin
k:=k*k;
i:=i*2;
end;
If i>k then begin
i:=i*i;
k:=k*2;
end;
Writeln('Первое число:', i);
Writeln('Второе число:', k);
end.
Это решение при задании чисел в самой программе:
Program sadadasf;
var i,k,l: integer;
begin
i:=5;
k:=3;
If k>i then begin
k:=k*k;
i:=i*2;
end;
If i>k then begin
i:=i*i;
k:=k*2;
end;
Writeln('Первое число:', i);
Writeln('Второе число:', k);
end.
var ksl,ksm:longint;
a:array of integer;
i,sred,k:integer;
f:Text;
s:string;
BEGIN
clrscr;
Assign(f,'f1.txt');
Reset(f); //из файла
while not eof(f) do
begin
readln(f,s);
ksm:=ksm+length(s); //считаем все символы
end;
writeln(ksm);
Reset(f); for i:=1 to ksm do
begin
if (s[i]=' ') then
ksl:=ksl+1;//считаем все слова
end;
writeln(ksl);
Reset(f); //из файла
setlength(a,ksl+1);
for i:=1 to ksl do
begin
read(f,a[i]);
end;
Close(f);
For i:=1 to ksl do
begin
If (a[i]=0) then a[i]:=a[1]+a[ksl]; // '' все нулевые компоненты значением суммы первой и последней компонент файла''
if (a[i]>0) then
begin
sred:=sred+a[i]; // ''найти среднее арифметическое положительных компонент''
inc(k);
end;
if (a[i]<0)then a[i]:=a[i]- ABS( a[1]+a[ksl] ); // ''все отрицательные компоненты уменьшить на значение суммы''
end;
Rewrite(f); //в фаил
for i:=1 to ksl do
begin
write(f,a[i],' ');
end;
Close(f);
Writeln(' sred= ',sred/10:0:1);
END.