Работа 3.6 Упр.14 ГДЗ Семакин 10 класс (Информатика)
Рассмотрим вариант решения задания из учебника Семакин, Хеннер, Шеина 10 класс, Бином: 14. Даны координаты n (n < = 30) точек на плоскости: (Х1, У1), ..., (Xn, Yn). Найти номера пары точек, расстояние между которыми наибольшее (считать, что такая пара единственная). *Цитирирование задания со ссылкой на учебник производится исключительно в учебных целях для лучшего понимания разбора решения задания. 10 semakin10 pract/3-6/14 98
Чтобы найти пару точек с наибольшим расстоянием, нужно перебрать все пары точек и для каждой вычислить расстояние по формуле
$$d=\sqrt{(x_i-x_j)^2+(y_i-y_j)^2}$$
Если найденное расстояние больше текущего максимума, запоминаем его и номера точек этой пары.
Так как по условию такая пара единственная, достаточно хранить одну лучшую пару.
var t: array [1..30] of record
x, y: real
end;
r, d: extended;
i, j, n, t1, t2: integer;
begin
write(‘Введите количество точек: ‘);
readln(n);
for i := 1 to n do
begin
write(‘Координаты ‘, i, ‘-й точки (X Y): ‘);
readln(t[i].x, t[i].y);
end;
r := 0;
for i := 1 to n — 1 do
for j := i + 1 to n do
begin
d := sqrt((t[i].x — t[j].x) * (t[i].x — t[j].x) +
(t[i].y — t[j].y) * (t[i].y — t[j].y));
if d > r then
begin
r := d;
t1 := i;
t2 := j;
end;
end;
writeln(‘Наибольшее расстояние между точками ‘, t1, ‘ и ‘, t2);
end.
Ответ: перебор всех пар точек с вычислением расстояния и запоминанием пары с максимальным значением.