Cálculo de las líneas horarias para un reloj de Sol horizontal


     Este programa está escrito en Basic, que es un lenguaje de programación muy fácil, pero que ya se usa muy poco porque es muy lento; por tanto tener un poco de paciencia.
     Se puede utilizar bajándolo de internet e instalándolo en el ordenador.

5 REM Reloj de Sol Horizontal en Basic

10 OPEN "lpt1" FOR OUTPUT AS #2
20 pi = 3.14159265#: gr = pi/180

30 INPUT "¿Latitud Norte del lugar (en grados)"; b
40 IF b < 0 THEN 30
50 INPUT "¿Longitud del lugar en grados (+ si es Oeste y - si es Este)"; l
60 INPUT "¿Meridiano central en grados (+ si es Oeste y - si es Este)"; l0
70 INPUT "¿Altura del reloj"; hs
80 INPUT "¿Anchura de la mitad del reloj"; ws
90 INPUT "¿Tiempo entre las líneas horarias (en minutos)"; g

100 PRINT #2, "Latitud del lugar"; b; "Norte"
110 IF l < 0 THEN PRINT #2, "Longitud del lugar = "; l; "Este"
115 IF l > 0 THEN PRINT #2, "Longitud de lugar = "; l; "Oeste"
120 PRINT #2, "Longitud del meridiano central = "; l0
125 PRINT #2, "Tiempo entre líneas horarias = "; g; "minutos"
130 rs = ws/hs: br = b*gr: zs = gr*(l0-l): mr = g*gr/4: H = zs-pi/2
132 PRINT #2, "Punta del estilo en (0, -"; hs; ","; hs*tan(br); ")"

135 DO
136 IF H < -pi/2 THEN H = H + mr
137 LOOP UNTIL H > -pi/2
138 PRINT #2, ""

140 tanalf = TAN(H)*SIN(br)
145 IF H > pi/2 THEN END

150 IF tanalf < -rs OR tanalf > rs THEN 200

160 x = tanalf*hs
170 PRINT #2, "H = "; H/(15*gr)+12-(l0-l)/15; TAB(15); "x = "; x
175 PRINT #2, ""
180 H = H+mr
190 GOTO 140

200 y = -ws/ABS(tanalf)
210 PRINT #2, "H = "; H/(15*gr)+12-(l0-l)/15; "y = "; y
215 PRINT #2, ""
220 H = H+mr
230 GOTO 140


Volver a Relojes de Sol | | Ir a Astronomía