
Дано множество точек с координатами на плоскости.Написать программу, которая использует
подпрограммы и выведит на экран наименьшее расстояние между двумя точками.

Ответы на вопрос

nm = 50;{максимальная длина массива}
type
Mas = array[1..nm] of real;
var
i, j, n: integer;
x, y: Mas;
d, dmin: real;
function SqrDist(p, q: integer): real;
{ Возвращает квадрат расстояния между точками }
begin
SqrDist := sqr(x[q] - x[p]) + sqr(y[q] - y[p])
end;
begin
Write('Введите количество точек -> ');
Readln(n);
Writeln('Вводите координаты каждой точки (x,y) через пробел');
for i := 1 to n do
begin
Write('точка ', i, ': ');
Readln(x[i], y[i]);
end;
dmin := 1e10; { значение, заведомо большее реально возможного }
for i := 1 to n do
for j := i + 1 to n do
begin
d := SqrDist(i, j);
if dmin > d then dmin := d
end;
Writeln('Минимальное расстояние между точками равно ', sqrt(dmin):0:4)
end.
Тестовое решение:
Введите количество точек -> 5
Вводите координаты каждой точки (x,y) через пробел
точка 1: 3.4 7.2
точка 2: -3 8.6
точка 3: -4.5 -5.1
точка 4: 6 -2
точка 5: 0 9
Минимальное расстояние между точками равно 3.0265



Для решения данной задачи можно написать программу на языке программирования, которая будет использовать подпрограммы для вычисления расстояния между двумя точками на плоскости.
Программа может быть написана на языке Python, например. Вот пример программы, которая находит наименьшее расстояние между двумя точками с заданными координатами:
```python import math
def distance(x1, y1, x2, y2): return math.sqrt((x2 - x1)**2 + (y2 - y1)**2)
def min_distance(points): min_dist = float('inf') for i in range(len(points)): for j in range(i+1, len(points)): dist = distance(points[i][0], points[i][1], points[j][0], points[j][1]) if dist < min_dist: min_dist = dist return min_dist
# Пример использования программы points = [(1, 2), (3, 4), (5, 6), (7, 8)] print("Наименьшее расстояние между двумя точками:", min_distance(points)) ```
В данной программе мы создаем две подпрограммы: `distance`, которая вычисляет расстояние между двумя точками по их координатам, и `min_distance`, которая находит наименьшее расстояние между всеми парами точек в заданном множестве.
Затем мы задаем множество точек `points` и выводим наименьшее расстояние между ними, используя подпрограмму `min_distance`.
Таким образом, программа использует подпрограммы для вычисления и вывода наименьшего расстояния между двумя точками на плоскости.


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili