Форум программистов, компьютерный форум, киберфорум
Lisp
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
6 / 7 / 4
Регистрация: 17.09.2013
Сообщений: 337
1

Функция, вычисляющая расстояние между городами

23.03.2016, 19:29. Показов 1392. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Предположим, что у имени города есть свойства х и у, которые содержат коор-
динаты места нахождения города относительно некоторого начала координат.
Напишите функцию (РАССТОЯНИЕ a b), вычисляющую расстояние между го-
родами а и b.
Как это сделать?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.03.2016, 19:29
Ответы с готовыми решениями:

Функция вычисляющая расстояние между двумя точками
Здравствуйте,помогите пожалуйста! Написать процедуру-функцию,которая вычисляет расстояние между...

Расстояние между городами
Дано: 3 города. Известны расстояния между всеми городами. Название берется из формы "select,...

Задача на рекурсию. Найти кратчайшее расстояние между городами i и j даже если между ними нет прямой дороги
Дана матрица размером NxN с расстояниями между городами при наличии прямой дороги между ними. По...

Расстояние между двумя ближайшими городами
Помогите пжалста. В некотором государстве n городов. Найти расстояние между двумя ближайшими...

10
1050 / 944 / 107
Регистрация: 04.11.2012
Сообщений: 974
Записей в блоге: 3
23.03.2016, 19:37 2
Цитата Сообщение от MahovIV Посмотреть сообщение
Как это сделать?
через свойства символа.
0
6 / 7 / 4
Регистрация: 17.09.2013
Сообщений: 337
23.03.2016, 19:40  [ТС] 3
А можно подробнее?
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
36601 / 20330 / 4220
Регистрация: 12.02.2012
Сообщений: 33,640
Записей в блоге: 13
23.03.2016, 19:47 4
HomeLisp:

Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
(defun dist (c1 c2)
  (let ((x1 (getprop c1 'x))
        (y1 (getprop c1 'y)) 
        (x2 (getprop c2 'x))
        (y2 (getprop c2 'y)))
   (sqr (+ (^ (- x1 x2) 2) (^ (- y1 y2) 2)))))
 
==> dist
 
(putprop 'saratov 'x -200)
 
==> saratov
 
(putprop 'saratov 'y 600)
 
==> saratov
 
(putprop 'moskow 'x 0)
 
==> moskow
 
(putprop 'moskow 'y 0)
 
==> moskow
 
(dist 'moskow 'saratov)
 
==> 632.455532033676
1
6 / 7 / 4
Регистрация: 17.09.2013
Сообщений: 337
23.03.2016, 19:55  [ТС] 5
Но в list-works не работает. Есть ли другой вариант?
0
1050 / 944 / 107
Регистрация: 04.11.2012
Сообщений: 974
Записей в блоге: 3
23.03.2016, 20:12 6
Lisp
1
2
3
4
5
6
7
8
9
(defun Distance (a b) 
  (sqrt (+ (expt (- (get a 'x) (get b 'x)) 2)
           (expt (- (get a 'y) (get b 'y)) 2))))
 
(setf (get 'Kyiv 'x) 0)
(setf (get 'Kyiv 'y) 0)
 
(setf (get 'Lviv 'x) 470)
(setf (get 'Lviv 'y) 65)
вызовы
Lisp
1
2
3
4
5
6
7
> (Distance 'Kyiv 'Lviv)
474.4734
 
> (symbol-plist 'Kyiv)
(y 0 x 0)
> (symbol-plist 'Lviv)
(y 65 x 470)
1
621 / 941 / 150
Регистрация: 10.08.2015
Сообщений: 5,018
23.03.2016, 20:17 7
Цитата Сообщение от Catstail Посмотреть сообщение
(sqr (+ (^ (- x1 x2) 2) (^ (- y1 y2) 2))))
Предлагаю посерьезнее задачку: подсчитать убытки строительной компании на строительстве дороги Москва-Саратов, если известно, что при подсчете длины трассы не была учтена выпуклость земной поверхности
2
Модератор
Эксперт функциональных языков программированияЭксперт Python
36601 / 20330 / 4220
Регистрация: 12.02.2012
Сообщений: 33,640
Записей в блоге: 13
23.03.2016, 20:48 8
Для CommonLisp:

Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
CL-USER 10 > (setf (get 'saratov 'x) -200)
-200
 
CL-USER 11 > (setf (get 'saratov 'y) 800)
800
 
CL-USER 12 > (setf (get 'moskow 'x) 0)
0
 
CL-USER 13 > (setf (get 'moskow 'y) 0)
0
 
CL-USER 16 > (defun dist (c1 c2)
  (let ((x1 (get c1 'x))
        (y1 (get c1 'y)) 
        (x2 (get c2 'x))
        (y2 (get c2 'y)))
   (sqrt (+ (expt (- x1 x2) 2) (expt (- y1 y2) 2)))))
DIST
 
CL-USER 19 : 1 > (dist 'moskow 'saratov)
824.62116
1
6 / 7 / 4
Регистрация: 17.09.2013
Сообщений: 337
23.03.2016, 20:53  [ТС] 9
А для LispWorks?
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
36601 / 20330 / 4220
Регистрация: 12.02.2012
Сообщений: 33,640
Записей в блоге: 13
24.03.2016, 12:13 10
MahovIV, это из LispWorks и взято
0
6 / 7 / 4
Регистрация: 17.09.2013
Сообщений: 337
24.03.2016, 13:27  [ТС] 11
Ну спасибо.
0
24.03.2016, 13:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.03.2016, 13:27
Помогаю со студенческими работами здесь

Расстояние между городами A и B равно 300 км
Расстояние между городами A и B равно 300 км. Из города A в город B выехал автомобиль, а через 1...

Расстояние между двумя ближайшими городами
Помогите пжалста. Как бы тупо это не звучало, пжалста сделайте эту задачу для меня:wall: В...

Найти минимальное расстояние между городами
Здравствуйте! Необходимо найти минимальное расстояние между городами. На вход подается список...

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


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

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