uses wincrt,graph;
const rstart=40;
type mas=array[1..500] of Pointtype;
procedure snezinki(a:mas;c:integer);
var i:integer;
begin
setcolor(c);
for i:=1 to 500 do
circle(a[i].x,a[i].y,2);
end;
procedure elka;
var y,r,i,j:integer;
setcolor(green);
for j:=2 to 6 do
y:=(getmaxy div 10)*j+120;
r:=rstart+15*j;
for i:=1 to 5 do
arc((getmaxx div 2)-r,y,350-(r div 5)-8*j,359,r);
arc((getmaxx div 2)+r,y,181,190+(r div 5)+8*j,r);
inc(y,7);
inc(r,5);
procedure sneg(n:integer);
setcolor(white);
setfillstyle(1,white);
bar(0,getmaxY-n,getmaxX,getmaxY);
var gd,gm,i,k,n:integer;
a:mas;
randomize;
gd:=0;
initgraph(gd,gm,'');
a[i].x:=random(getmaxX);
a[i].y:=random(getmaxY);
setcolor(blue);
setfillstyle(1,blue);
bar(0,0,getmaxX,getmaxY);{делаем синий фон}
snezinki(a,white);{рисуем снежинки}
k:=0;{количество шагов}
repeat
k:=k+1;
delay(10);
snezinki(a,blue);{рисуем снежинки цветом фона, стираем}
if a[i].y>getmaxY-n-10 then a[i].y:=1
else a[i].y:=a[i].y+3;
if a[i].x<0 then a[i].x:=getmaxX
else a[i].x:=a[i].x-1;
snezinki(a,white);{рисуем снежинки белым}
elka; {рисуем елку}
n:=k div 10;{на каждом 10-м шаге увеличиваем толщину снега на земле}
sneg(n);{рисуем снег на земле}
if n>50 then{если толщина снега 50}
snezinki(a,blue);{стираем снежинки}
setcolor(lightred);{выводим надписи}
settextstyle(0,0,3);
outtextXY(250,50,'Snegopad konchilsa');
setcolor(yellow);
settextstyle(0,0,2);
outtextXY(340,80,'Press any key');
until keypressed or(n>50);{если нажали клавишу или снег>50 конец}
readkey{ждем нажатия клавиши для выхода}
end.
а) 240.97.66.0/18
маска сети в двоичном виде (пробелы для большей наглядности):
1111 1111. 1111 1111. 1100 0000. 0000 0000
определим IP-адрес сети использую маску и IP-адрес из задания:
IP-адрес из задания в двоичном виде: 1111 0000. 0110 0001. 0100 0010. 0000 0000
1111 0000. 0110 0001. 0100 0010. 0000 0000
Полученный адрес сети: 1111 0000. 0110 0001. 0100 0000. 0000 0000
В десятичном виде: 240.97.64.0
Так как полученный IP-адрес не равен IP-адресу из задания, то 240.97.66.0 не может выступать в качестве адреса сети с маской /18
б) 104.184.0.0/13
маска сети в двоичном виде:
1111 1111. 1111 1000. 0000 0000. 0000 0000
IP-адрес из задания в двоичном виде: 0110 1000. 1011 1000. 0000 0000. 0000 0000
0110 1000. 1011 1000. 0000 0000. 0000 0000
Полученный адрес сети: 0110 1000. 1011 1000. 0000 0000. 0000 0000
В десятичном виде: 104.184.0.0
Так как полученный IP-адрес равен IP-адресу из задания, то 104.184.0.0 может выступать в качестве адреса сети с маской /13
uses wincrt,graph;
const rstart=40;
type mas=array[1..500] of Pointtype;
procedure snezinki(a:mas;c:integer);
var i:integer;
begin
setcolor(c);
for i:=1 to 500 do
circle(a[i].x,a[i].y,2);
end;
procedure elka;
var y,r,i,j:integer;
begin
setcolor(green);
for j:=2 to 6 do
begin
y:=(getmaxy div 10)*j+120;
r:=rstart+15*j;
for i:=1 to 5 do
begin
arc((getmaxx div 2)-r,y,350-(r div 5)-8*j,359,r);
arc((getmaxx div 2)+r,y,181,190+(r div 5)+8*j,r);
inc(y,7);
inc(r,5);
end;
end;
end;
procedure sneg(n:integer);
begin
setcolor(white);
setfillstyle(1,white);
bar(0,getmaxY-n,getmaxX,getmaxY);
end;
var gd,gm,i,k,n:integer;
a:mas;
begin
randomize;
gd:=0;
initgraph(gd,gm,'');
for i:=1 to 500 do
begin
a[i].x:=random(getmaxX);
a[i].y:=random(getmaxY);
end;
setcolor(blue);
setfillstyle(1,blue);
bar(0,0,getmaxX,getmaxY);{делаем синий фон}
snezinki(a,white);{рисуем снежинки}
k:=0;{количество шагов}
repeat
k:=k+1;
delay(10);
snezinki(a,blue);{рисуем снежинки цветом фона, стираем}
for i:=1 to 500 do
begin
if a[i].y>getmaxY-n-10 then a[i].y:=1
else a[i].y:=a[i].y+3;
if a[i].x<0 then a[i].x:=getmaxX
else a[i].x:=a[i].x-1;
end;
snezinki(a,white);{рисуем снежинки белым}
elka; {рисуем елку}
n:=k div 10;{на каждом 10-м шаге увеличиваем толщину снега на земле}
sneg(n);{рисуем снег на земле}
if n>50 then{если толщина снега 50}
begin
snezinki(a,blue);{стираем снежинки}
setcolor(lightred);{выводим надписи}
settextstyle(0,0,3);
outtextXY(250,50,'Snegopad konchilsa');
setcolor(yellow);
settextstyle(0,0,2);
outtextXY(340,80,'Press any key');
end;
until keypressed or(n>50);{если нажали клавишу или снег>50 конец}
readkey{ждем нажатия клавиши для выхода}
end.
а) 240.97.66.0/18
маска сети в двоичном виде (пробелы для большей наглядности):
1111 1111. 1111 1111. 1100 0000. 0000 0000
определим IP-адрес сети использую маску и IP-адрес из задания:
IP-адрес из задания в двоичном виде: 1111 0000. 0110 0001. 0100 0010. 0000 0000
1111 0000. 0110 0001. 0100 0010. 0000 0000
1111 1111. 1111 1111. 1100 0000. 0000 0000
Полученный адрес сети: 1111 0000. 0110 0001. 0100 0000. 0000 0000
В десятичном виде: 240.97.64.0
Так как полученный IP-адрес не равен IP-адресу из задания, то 240.97.66.0 не может выступать в качестве адреса сети с маской /18
б) 104.184.0.0/13
маска сети в двоичном виде:
1111 1111. 1111 1000. 0000 0000. 0000 0000
определим IP-адрес сети использую маску и IP-адрес из задания:
IP-адрес из задания в двоичном виде: 0110 1000. 1011 1000. 0000 0000. 0000 0000
0110 1000. 1011 1000. 0000 0000. 0000 0000
1111 1111. 1111 1000. 0000 0000. 0000 0000
Полученный адрес сети: 0110 1000. 1011 1000. 0000 0000. 0000 0000
В десятичном виде: 104.184.0.0
Так как полученный IP-адрес равен IP-адресу из задания, то 104.184.0.0 может выступать в качестве адреса сети с маской /13