Program nnatovna; uses crt; const n=13; var a:array [1..n] of integer; i,min,max,temp:integer; begin writeln('*** alphaues is thinking... ***'); writeln('*** OK ***'); writeln(); randomize; writeln('Элементы массива:'); {создание и вывод массива} for i:=1 to n do begin a[i]:=random(100)-50; write (a[i]:5); end; {ищем номера мин и мах} min:=1; max:=1; for i:=1 to n do begin if a[min]>a[i] then min:=i; if a[max]<a[i] then max:=i; end; {меняем местами мин и мах элементы} temp:=a[min]; a[min]:=a[max]; a[max]:=temp; {вывод результата} writeln(); writeln('Результат:'); for i:=1 to n do write(a[i]:5); end.
begin
Otr := sqrt(sqr(Ax - Bx) + sqr(Ay - By))
end;
function Perim(Ax, Ay, Bx, By, Cx, Cy: real): real;
begin
Perim := Otr(Ax, Ay, Bx, By) + Otr(Bx, By, Cx, Cy) + Otr(aX, aY, Cx, Cy);
end;
function Area(Ax, Ay, Bx, By, Cx, Cy: real): real;
var
pp: real;
begin
pp := Perim(Ax, Ay, Bx, By, Cx, Cy) / 2;
Area := sqrt(pp * (pp - Otr(Ax, Ay, Bx, By)) * (pp - Otr(Bx, By, Cx, Cy)) *
(pp - Otr(Ax, Ay, Cx, Cy)))
end;
procedure Dist(Px, Py, Ax, Ay, Bx, By: real; var D: real);
begin
D := 2 * Area(Px, Py, Ax, Ay, Bx, By) / Otr(Ax, Ay, Bx, By)
end;
var
Px, Py, Ax, Ay, Bx, By, Cx, Cy: real;
d: real;
begin
writeln('Вводите координаты точкек парами чисел: ');
write('P-> ');
readln(Px, Py);
write('A-> ');
readln(Ax, Ay);
write('B-> ');
readln(Bx, By);
write('C-> ');
readln(Cx, Cy);
writeln;
Dist(Px, Py, Ax, Ay, Bx, By, d);
writeln('Расстояние от Р до АВ равно ', d);
Dist(Px, Py, Cx, Cy, Bx, By, d);
writeln('Расстояние от Р до ВC равно ', d);
Dist(Px, Py, Ax, Ay, Cx, Cy, d);
writeln('Расстояние от Р до АC равно ', d)
end.
Тестовое решение:
Вводите координаты точкек парами чисел:
P-> -3 6
A-> 5 8
B-> 9 -4
C-> 8 -2.5
Расстояние от Р до АВ равно 8.22192191643778
Расстояние от Р до ВC равно 4.43760156980184
Расстояние от Р до АC равно 8.24163383692135
Program nnatovna;
uses crt;
const n=13;
var
a:array [1..n] of integer;
i,min,max,temp:integer;
begin
writeln('*** alphaues is thinking... ***');
writeln('*** OK ***');
writeln();
randomize;
writeln('Элементы массива:');
{создание и вывод массива}
for i:=1 to n do
begin
a[i]:=random(100)-50;
write (a[i]:5);
end;
{ищем номера мин и мах}
min:=1;
max:=1;
for i:=1 to n do
begin
if a[min]>a[i] then min:=i;
if a[max]<a[i] then max:=i;
end;
{меняем местами мин и мах элементы}
temp:=a[min];
a[min]:=a[max];
a[max]:=temp;
{вывод результата}
writeln();
writeln('Результат:');
for i:=1 to n do
write(a[i]:5);
end.