![]() |
Office
Говорят, под Excel существуют приложения, где можно рассчитывать время восхода/захода солнца для конкретной местности. В инете не нашел (вероятно, плохо искал). Если у кого есть такое приложение или адрес, где можно взять, поделитесь, пожалуйста.
|
Excel 2007 может корректно работать в среде Office 2003?
|
Вложений: 1
Что значит в среде 2003? Совершенно непонятно...он условно говоря сам по себе существует, другой вопрос о совместимости приложений выполненных в разных средах, либо 2003 либо 2007, но это другой вопрос. Также непонятен смысл "приложения" для Excel...для Excel возможно написание формул и их цепочек по определённым правилам, а здесь всё уже зависит от сложности реализации алгоритма. Вот в частности по расчёту времени восхода и заката, будет примерно так:
// sunrise.cpp : Пример использования функции sun_rise_set // #include <windows.h> #include <time.h> #include <math.h> #include <conio.h> #include "sun.h" int main() { time_t m_time;// для текущего времени time_t m_time_gmt;// для времени по гринвичу double t_rise = 0;//время восхода солнца (в часах) double t_set= 0;//время захода солнца (в часах) double La,Lo;//широта и долгота положения на земле (в градусах) char text1[60];// выходной текст ANSI char text2[60];// выходной текст DOS struct tm *tm_time; // определяем текущее время (по гринвичу) time(&m_time); tm_time = gmtime( &m_time); // заполняем структуру со временем GMT m_time_gmt = mktime(tm_time); // узнаем время по гринвичу (GMT) // определяем часовой сдвиг от гринвича double time_zone; time_zone = difftime(m_time,m_time_gmt)/3600.; //Координаты Москвы La = 55+45/60.; Lo = 37+35/60.; // определяем текущее времена восхода и захода сегодня (местное время) int ret = sun_rise_set(tm_time,time_zone,La,Lo,&t_rise,&t_se t); // вывод на экран sprintf(text1,"Сегодня: (в Москве)\n\r"); CharToOem (text1,text2); printf(text2); if (ret==-1)// не всходит { sprintf(text1,"Солнце не всходит"); CharToOem (text1,text2); printf(text2); } if (ret==-2)// не заходит { sprintf(text1,"Солнце не заходит"); CharToOem (text1,text2); printf(text2); } if (ret==1)// все нормально { sprintf(text1,"время восхода солнца %d ч. %d мин.\n\r",(int)t_rise,(int)((t_rise-floor(t_rise))*60)); CharToOem (text1,text2); printf(text2); sprintf(text1,"время захода солнца %d ч. %d мин.\n\r",(int)t_set,(int)((t_set-floor(t_set))*60)); CharToOem (text1,text2); printf(text2); } // ждем, когда нажмем на любую клавишу getch(); return 0; } В аттаче к этому посту, скомпилированный ехе файл, для расчёта. Справедливости ради надо отметить, что он реализован в формате double, но перевод в real не должен сильно отразится на точности. А сам механизм вычисления привязан к географическим координатам данной местности, в данном примере погрешность не превышает 1-2 минут |
Почему-то аттач не реагирует на мои попытки к нему обратиться - прав, говорит, недостаточно. :-[
|
Цитата:
|
Спасибо, я воспользовался [полным "счастьем"]
|
Excel
Цитата:
|
Цитата:
|
Excel
Цитата:
|
Цитата:
|
| Текущее время: 22:27. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot