Для каждой из точек указать расстояние до точки с заданными координатами - Turbo Pascal
Формулировка задачи:
Здраствуйте! Нужно написать программу с использованием подпрограммы-процедуры или подпрограммы-функции решения задачи. Процедуру вычислений, которые повторяются, записать в виде подпрограммы.
Условие: Для каждой из точек указать расстояние до точки координатами Хс, Ус. Здесь Хс, Ус - среднее арифметическое элементов массива Х и У соответственно.
X=(-4;3;2.5;0.5;1.5;6;-5;5;-4.5;3.5)
Y=(-3;-2;6.5;5;-4;3.5;-2;6;2.5;-4.5)
Спасибо!
Решение задачи: «Для каждой из точек указать расстояние до точки с заданными координатами»
textual
Листинг программы
uses crt; const n=10; type mas=array[1..n] of real; const X:mas=(-4,3,2.5,0.5,1.5,6,-5,5,-4.5,3.5); Y:mas=(-3,-2,6.5,5,-4,3.5,-2,6,2.5,-4.5); function sred(a:mas):real; var i:byte; s:real; begin s:=0; for i:=1 to n do s:=s+a[i]; sred:=s/n end; function rast(x1,y1,x2,y2:real):real; begin rast:=sqrt(sqr(x1-x2)+sqr(y1-y2)) end; procedure vyvod(a:mas;c:char); var i:byte; begin writeln('Массив ',c); for i:=1 to n do write(a[i]:5:1); writeln; end; var i:byte; xc,yc:real; begin clrscr; vyvod(x,'X'); xc:=sred(x); vyvod(y,'Y'); yc:=sred(y); writeln('Xc=',xc:0:1); writeln('Yc=',yc:0:1); writeln('Расстояния'); for i:=1 to n do write(rast(xc,yc,x[i],y[i]):5:1); readln end.
Объяснение кода листинга программы
- В начале кода подключается библиотека crt, которая обеспечивает функции для работы с числами с плавающей точкой.
- Затем определяются две переменные типа mas, которые представляют собой массивы из 10 чисел с плавающей точкой.
- Далее определены две константы X и Y, которые представляют собой массивы из 10 чисел с плавающей точкой.
- Определена функция sred, которая вычисляет среднее значение элементов массива a.
- Переменная i инициализируется значением 1.
- Функция rast вычисляет расстояние между двумя точками, используя формулу расстояния Евклида.
- В процедуре vyvod выводится массив и его среднее значение.
- Переменные xc и yc инициализируются средними значениями массивов x и y соответственно.
- Выводится сообщение с координатами xc и yc.
- Выводится сообщение с расстояниями до каждой точки массива.