Вопрос задан 10.02.2019 в 00:33.
Предмет Информатика.
Спрашивает Имангалиев Рамазан.
Для решения задачи сделать вариант программы с реализацией указанной подпрограммы в виде функции
или в виде процедуры. Даны координаты трех точек определить между какими из пар точек самое большое расстояние используя подпрограмму вычисления длины отрезка между двумя точкамиОтветы на вопрос
Отвечает Ивина София.
Type
Point=record
x,y:real
end;
function Distance2(a,b:Point):real;
{ возвращает квадрат расстояния между точками }
begin
Distance2:=sqr(b.x-a.x)+sqr(b.y-a.y)
end;
function Max(p,q:real):real;
{ возвращает максимальное из p,q }
begin
if p>q then Max:=p else Max:=q
end;
procedure Vvod(var a:Point;n:integer);
{ процедура с изменяемым параметром a }
begin
Write('Введите координаты точки ',n,': ');
Readln(a.x,a.y)
end;
var
a:array[1..3] of Point;
d1,d2,d3:real;
i:integer;
begin
for i:=1 to 3 do Vvod(a[i],i);
d1:=Distance2(a[1],a[2]);
d2:=Distance2(a[1],a[3]);
d3:=Distance2(a[2],a[3]);
if d1>d2 then
if d1>d3 then Writeln('Максимальное расстояние 1-2')
else
if d1=d3 then Writeln('Максимальное расстояние 1-2 и 2-3')
else Writeln('Максимальное расстояние 2-3')
else
if d1=d2 then
if d1>d3 then Writeln('Максимальное расстояние 1-2 и 1-3')
else
if d1=d3 then Writeln('Расстояния между всеми точками одинаковы')
else Writeln('Максимальное расстояние 2-3')
else
if d3>d2 then Writeln('Максимальное расстояние 2-3')
else
if d3=d2 then Writeln('Максимальное расстояние 1-3 и 2-3')
else Writeln('Максимальное расстояние 1-3');
end.
Тестовое решение:
Введите координаты точки 1: -2 1
Введите координаты точки 2: 4 5
Введите координаты точки 3: 2 -2
Максимальное расстояние 2-3
Point=record
x,y:real
end;
function Distance2(a,b:Point):real;
{ возвращает квадрат расстояния между точками }
begin
Distance2:=sqr(b.x-a.x)+sqr(b.y-a.y)
end;
function Max(p,q:real):real;
{ возвращает максимальное из p,q }
begin
if p>q then Max:=p else Max:=q
end;
procedure Vvod(var a:Point;n:integer);
{ процедура с изменяемым параметром a }
begin
Write('Введите координаты точки ',n,': ');
Readln(a.x,a.y)
end;
var
a:array[1..3] of Point;
d1,d2,d3:real;
i:integer;
begin
for i:=1 to 3 do Vvod(a[i],i);
d1:=Distance2(a[1],a[2]);
d2:=Distance2(a[1],a[3]);
d3:=Distance2(a[2],a[3]);
if d1>d2 then
if d1>d3 then Writeln('Максимальное расстояние 1-2')
else
if d1=d3 then Writeln('Максимальное расстояние 1-2 и 2-3')
else Writeln('Максимальное расстояние 2-3')
else
if d1=d2 then
if d1>d3 then Writeln('Максимальное расстояние 1-2 и 1-3')
else
if d1=d3 then Writeln('Расстояния между всеми точками одинаковы')
else Writeln('Максимальное расстояние 2-3')
else
if d3>d2 then Writeln('Максимальное расстояние 2-3')
else
if d3=d2 then Writeln('Максимальное расстояние 1-3 и 2-3')
else Writeln('Максимальное расстояние 1-3');
end.
Тестовое решение:
Введите координаты точки 1: -2 1
Введите координаты точки 2: 4 5
Введите координаты точки 3: 2 -2
Максимальное расстояние 2-3
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili
