Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
1 / 1 / 2
Регистрация: 12.05.2015
Сообщений: 313
1

Найти сумму расстояний между точками

04.10.2015, 11:40. Показов 1655. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Известны координаты трех точек A(x1,y1), B(x2,y2), C(x3,y3). Найти сумму расстояний АВ+ВС.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.10.2015, 11:40
Ответы с готовыми решениями:

Найти сумму расстояний от начала координат до точек параболы и среднее арифметическое этих расстояний
Найти сумму расстояний от начала координат до точек параболы Y=AX^2+B, имеющих абсциссы...

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

Вычисление расстояний между точками
здраствуйте я самоучка в програмировании хочу научится сам язык програмирования паскаль.есть у меня...

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

4
1 / 1 / 3
Регистрация: 15.02.2015
Сообщений: 14
06.10.2015, 14:21 3
Лови
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var A, B, C: record X: integer; Y: integer; end;
   ab, bc, res: real; {ab - расстояние между A и B, и т. д.}
begin
   Write('Координаты A >>> ');
   ReadLn(A.X, A.Y);
   Write('Координаты B >>>');
   ReadLn(B.X, A.Y);
   Write('Координаты C >>>');
   ReadLn(C.X, C.Y);
   ab:=Sqrt(Sqr(Abs(A.X - B.X)) + Sqr(Abs(A.Y - B.Y)));
   bc:=Sqrt(Sqr(Abs(B.X - C.X)) + Sqr(Abs(B.Y - C.Y)));
   res:=ab + bc;
   WriteLn(res:5:3);
   ReadLn
end.
0
Модератор
9955 / 5312 / 3327
Регистрация: 17.08.2012
Сообщений: 16,214
10.10.2015, 15:47 4
Цитата Сообщение от Xtore Посмотреть сообщение
Pascal
1
2
var A, B, C: record X: integer; Y: integer; end;
   ab, bc, res: real; {ab - расстояние между A и B, и т. д.}
Координаты точки по умолчанию содержат вещественные числа; если координаты целочисленные, это, как правило, специально оговаривается.
Моё мнение о типе real в Turbo Pascal
Не рекомендуется в применять устаревший тип данных real, в Turbo Pascal фактически реализованный как шестибайтовое представление вещественных чисел real48, не соответствующее стандарту IEEE 754 и не поддерживаемое наиболее распространённым арифметическим сопроцессором семейства Intel i80X87, который, начиная с процессоров i80286, составляет с центральным процессором единое целое. Операции с числами типа real компилятор либо эмулирует без применения команд сопроцессора, либо осуществляет перевод этих чисел в формат, годный для сопроцессора (double или extended), что по-любому отрицательно сказывается на быстродействии и объёме программы. Вообще, тип real в современных диалектах паскаля оставлен для совместимости со старыми программами и процессорами, сейчас, как правило, является тем же самым, что и double (восьмибайтовое представление вещественного числа, соответствующее стандарту IEEE 754 и поддерживаемое упомянутым арифметическим сопроцессором). Понимаю, что в большинстве случаев это совершенно неактуально, но всё же... Нужно стремиться к идеалу, и поэтому лучше использовать тип double. Также компилятору нужно явно указать на использование сопроцессора либо в среде разработки (включить опцию 80x87 Code... On), либо в тексте программы с помощью директивы
Pascal
1
{$N+}
Полагаю, переменные лучше объявить так:
Pascal
1
2
var A, B, C: record X, Y: double end;
   ab, bc, res: double; {ab - расстояние между A и B, и т. д.}
Ещё abs-ы лишние. Можно упростить:
Pascal
10
11
   ab:=Sqrt(Sqr(A.X - B.X) + Sqr(A.Y - B.Y));
   bc:=Sqrt(Sqr(B.X - C.X) + Sqr(B.Y - C.Y));
0
1 / 1 / 3
Регистрация: 15.02.2015
Сообщений: 14
11.10.2015, 10:32 5
Цитата Сообщение от Cyborg Drone Посмотреть сообщение
Ещё abs-ы лишние. Можно упростить:
Блин, точняк! Там же квадрат стоит! Мда, не заметил. А вот насчет типа double первый раз слышу.

Добавлено через 19 минут
Вспомнил, есть такой тип double
0
11.10.2015, 10:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.10.2015, 10:32
Помогаю со студенческими работами здесь

Найти расстояние между точками
Известны координаты на плоскости двух точек. Найти расстояние между ними. Надо через процедуры...

Найти наименьшее расстояние между точками.
дан массив М координат точек на плоскости. найти наименьшее расстояние между этими точками.

Найти расстояние между точками по формуле
При заданных координатах C1,C2,...Cn, одной точки и координатах B1,B2,...,Bn другой точки n-мерного...

Найти расстояния между тремя точками
Подпрограммы с типизированными параметрами-значениями и параметрами-переменными. С помощью...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru