Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Программа вычисления восхода и захода солнца


Автор: lvovitch 13.2.2012, 12:31
Добрый день!

нашел такую программу в интернете, скомпилировал, но она считает неправильно. Причем исходник этой программы вроди лежит во всех справочниках и т.д. То есть по идее с ней должно быть все нормально. Вот тут например: http://www.cyberguru.ru/delphi-sources/algorithms/algoritm-dlya-opredeleniya-voskhoda/zakhoda-solntsa-i-luny.html

Ввожу координаты Москвы 55 широта 37 долгота. Но вычисляет явно с ошибкой.

Может быть кто-нибудь пробовл эту программу? Может я ее криво скомпелировал? Или есть еще какая-нибудь программа подобная?

Во вложении то, что у меня получилось скомпелировать.

Автор: Фантом 13.2.2012, 17:12
Какой часовой пояс вводили? 

И что значит "считает неправильно" - с чем сравнивали?

Автор: lvovitch 13.2.2012, 21:54
Цитата(Фантом @ 13.2.2012,  17:12)
Какой часовой пояс вводили? 

И что значит "считает неправильно" - с чем сравнивали?

я ввел часовой пояс 4.

вот что у меня получается(на картинке)
http://s1.ipicture.ru/uploads/20120213/DMGkw89R.png

Сравниваю с википедией: http://ru.wikipedia.org/wiki/%C2%EE%F1%F5%EE%E4_%E8_%E7%E0%F5%EE%E4_%D1%EE%EB%ED%F6%E0

Автор: Фантом 13.2.2012, 22:16
Похоже, что долгота там должна быть западной (если исходить из комментариев к исходнику). Соответственно, поставьте долготу "-37" и посмотрите, что получится.

Автор: lvovitch 13.2.2012, 22:23
Цитата(Фантом @ 13.2.2012,  22:16)
Похоже, что долгота там должна быть западной (если исходить из комментариев к исходнику). Соответственно, поставьте долготу "-37" и посмотрите, что получится.

не, не получается.
получается так:
http://s2.ipicture.ru/

Автор: Фантом 14.2.2012, 08:51
Ну что же, этот результат уже очень похож на правильный и отличается от него ровно на 3 часа. Похоже, что "часовая зона" тоже приспособлена к американским реалиям и это не добавка к GMT. Впрочем, если нужны моменты именно для Москвы, то можно просто прибавить три часа к обоим результатам и этим ограничиться.

P.S. Да, действительно, часовой пояс там тоже отсчитывается на запад, т.е. для Москвы, по идее, должно быть "-4". Не очень понятно, правда, почему замена на "+4" меняет результат только на три часа, но тут уже можно просто подобрать нужный пояс экспериментально - так, чтобы восход 13 февраля был в 8:56.  smile 

Автор: lvovitch 14.2.2012, 22:02
Цитата(Фантом @ 14.2.2012,  08:51)
Ну что же, этот результат уже очень похож на правильный и отличается от него ровно на 3 часа. Похоже, что "часовая зона" тоже приспособлена к американским реалиям и это не добавка к GMT. Впрочем, если нужны моменты именно для Москвы, то можно просто прибавить три часа к обоим результатам и этим ограничиться.

P.S. Да, действительно, часовой пояс там тоже отсчитывается на запад, т.е. для Москвы, по идее, должно быть "-4". Не очень понятно, правда, почему замена на "+4" меняет результат только на три часа, но тут уже можно просто подобрать нужный пояс экспериментально - так, чтобы восход 13 февраля был в 8:56.  smile

Спасибо!!!smile

Действительно очень похоже!smile
Вот: http://s2.ipicture.ru/

а сложно программу исправить для России?
хотелось бы сделать программу для жителец нашей строны. Что бы например житель Калининграда ввел свои широту и долготу и пояс и у него тоже все работало.

Автор: Фантом 14.2.2012, 23:43
Цитата(lvovitch @  14.2.2012,  23:02 Найти цитируемый пост)

а сложно программу исправить для России?

Там надо просто скорректировать вводимые данные: поменять знак у долготы и введенную часовую зону x заменить на 5-x. Фактически добавить две строчки.

Автор: northener 15.2.2012, 00:09
Цитата(lvovitch @  14.2.2012,  22:02 Найти цитируемый пост)
а сложно программу исправить для России?
хотелось бы сделать программу для жителеЙ нашей стрАны.

Для России сложно. Ибо мало, что понятие "часовая зона" многим не знакомо, равно как и "часовой пояс" как принято называть сей термин в русском техническом. Так ещё и правительство постоянно мутит воду то вводя летнее время, то отменяя зимнее время, то...
smile

Автор: lvovitch 15.2.2012, 00:47
Цитата(Фантом @ 14.2.2012,  23:43)
Цитата(lvovitch @  14.2.2012,  23:02 Найти цитируемый пост)

а сложно программу исправить для России?

Там надо просто скорректировать вводимые данные: поменять знак у долготы и введенную часовую зону x заменить на 5-x. Фактически добавить две строчки.

Спасибо огромное!!!!
Теперь работает!
http://s1.ipicture.ru/
Буду тестировать на других городах.

На всякий случай выкладываю здесь переделанный исходник.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)