
-----------------------------------
Abel Cavași
28 Apr 2007 09:35


-----------------------------------
Un program BASIC care face calculul rasaritului si apusului de Soare.
Instructiunile cred ca sunt suficient de clare pentru a fi portate in orice alt limbaj. Ce urmeaza dupa apostrof sunt comentarii. Trebuie sa inlocuiesti latitudinea si longitudinea locului. Cele din program sunt de la Timisoara :D 

PI=4*ATN(1): DR=PI/180:RD=180/PI
B5=45.77                                                    'Latitudinea locului
L5=21.30                                                    'Longitudinea locului
H=-2:B5=DR*B5
INPUT "DATA (ZIUA,LUNA, ANUL):"; ZI,LU,AN
anul=an
ziua=zi
luna=lu
N=INT(275*luna/9)-2*INT((luna+9)/12)+ziua-30      'Numarul zilei din an
L0=4.8771+.0172*(N+.5-L5/360)             'Longitudinea medie m Soarelui
C=.03342*SIN(L0+1.345)
C2=RD*(ATN(TAN(L0+C))-ATN(.9175*TAN(L0+C))-C)     'Ecuatia timpului
SD=0.3978*SIN(L0+C)
CD=SQR(1-SD*SD)
SC=(SD*SIN(B5)+.0145)/(COS(B5)*CD)
IF ABS(C)>1 THEN GOTO 9
C3=RD*ATN(SC/SQR(1-SC*SC))                          'Refractia atmosferica
R1=6-H-(L5+C2+C3)/15
HR$=str$(INT(R1))
MR$=str$(INT((R1-val(HR$))*60))
S1=18-H-(L5+C2-C3)/15
HS$=str$(INT(S1))
MS$=str$(INT((S1-val(HS$))*60))
? "Soarele rasare: "+HR$+":"+MR$
? "      si apune: "+HS$+":"+MS$
END

9 IF SC>1 THEN ?"SOARELE SUS TOATA ZIUA"
   IF SC<-1 THEN ?"SOARELE JOS TOATA ZIUA"
Doru, cred că ar fi mai ușor de utilizat acest program dacă l-ai transforma într-o foaie de calcul în ale cărei celule să pui formulele corespunzătoare.
Așa ar putea fi folosit și de cineva care nu știe să programeze. 
Aș fi transformat eu programul, dar, necunoscând prea bine problema, s-ar putea să greșesc formulele de calcul.
