ТЗ:
1.Написать программу для учета радиостанций.
2.Ввести параметры:
а) координаты,дальность действия стационарных радиостанций (от 0 до 50 км);
б) координаты 2-х людей,дальность действия их переносных радиостанций (от 0 до 50 км);
3.Установить возможность связи двух абонентов с заданными координатами, а также ближайшие к ним станции.
Код: Выделить всё
uses crt;
type
Point=record
x,y:real;
end;
Stanc=record
koor:Point;
daln:byte;
end;
function Rasst(a,b:Point):real;
begin
Rasst:=sqrt(sqr(a.x-b.x)+sqr(a.y-b.y));
end;
var m:array[1..4] of Stanc;
ab1,ab2:Stanc;
i,k:byte;
min:real;
begin
clrscr;
writeln('Vvedite dannye po stancyam, dalnost ne dolgna prevyshat 50 km:');
for i:=1 to 4 do
begin
writeln('Stancya ',i);
write(' Koordinata X=');readln(m[i].koor.x);
write(' Koordinata Y=');readln(m[i].koor.y);
repeat
write(' Dalnoct=');readln(m[i].daln);
until m[i].daln in [1..50];
end;
writeln('Vvedite dannye po abonentam:');
writeln(' Abonent 1:');
write(' Koordinata X=');readln(ab1.koor.x);
write(' Koordinata Y=');readln(ab1.koor.y);
repeat
write(' Dalnoct=');readln(ab1.daln);
until ab1.daln in [1..50];
writeln(' Abonent 2:');
write(' Koordinata X=');readln(ab2.koor.x);
write(' Koordinata Y=');readln(ab2.koor.y);
repeat
write(' Dalnoct=');readln(ab2.daln);
until ab2.daln in [1..50];
if (Rasst(ab1.koor,ab2.koor)<=ab1.daln)and(Rasst(ab1.koor,ab2.koor)<=ab2.daln)
then writeln('Svyas megdy abonentami vozmogna!')
else writeln('Svyas megdy abonentami ne vozmogna!');
min:=50;k:=1;
for i:=1 to 4 do
if Rasst(ab1.koor,m[i].koor)<min then
begin
min:=Rasst(ab1.koor,m[i].koor);
k:=i;
end;
writeln('Bligayshaya k abonenty 1, stancya',k);
min:=50;k:=1;
for i:=1 to 4 do
if Rasst(ab2.koor,m[i].koor)<min then
begin
min:=Rasst(ab2.koor,m[i].koor);
k:=i;
end;
writeln('Bligayshaya k abonenty 2, stancya',k);
writeln('press any key for exit');
readkey;
end.