Moonphase
Cómo calcular las fases de la Luna
Colaborador: ALAN GRAFF
{
Como Robert Forbes dijo a Todos el 25 de abril 94...
RF> Alguien tiene alguna idea de cómo hacer un algoritmo para
RF> calcular la fase lunar, dada la fecha?
Aquí ya va:
ESCRIBA DATETYPE = record
día:WORD
MES:WORD
AÑO:WORD
dow:word
fin
{=================================================================}
Procedimiento GregorianToJulianDN(Año, Mes, Día:Integer
var JulianDN :LongInt)
var
Siglo,
XYear : LongInt
begin {GregorianToJulianDN}
Si Mes <= 2, a continuación, empezar
Año := pred(Año)
Mes := 12 Meses
fin
Mes := Mes - 3
Siglo := Año div 100
XYear := Año mod 100
Siglo := (Siglo * D1) shr 2
XYear := (XYear * D0) shr 2
JulianDN : = (((( Mes * 153) 2) div 5) Días) D2
XYear Siglo
end {GregorianToJulianDN}
{=================================================================}
la Función de fase lunar(Fecha:Datetype):Real
(***************************************************************)
(* *)
(* Determina APROXIMADO de la fase de la luna (porcentaje encendido) *)
(* 0.00 = luna Nueva, 1.00 = luna Llena *)
(* Debido al redondeo, los valores completos posiblemente nunca pueda ser alcanzado *)
(* Válido a partir de Octubre. 15 de 1582 a Febrero. 28, 4000 *)
(* Cálculos y BÁSICA programa que se encuentra en**)
(* '119 Programas Prácticos Para El TRS-80 Ordenador de Bolsillo' por *)
(* John Clark Craig, FICHA de los Libros, 1982 *)
(* Conversión a Turbo Pascal por Alan Graff, Wheelersburg, OH *)
(* *)
(***************************************************************)
var
j:longint m:real
Begin
GregorianToJulianDN(la Fecha.Año,Fecha.Mes,Fecha.Día,J)
M:=(J 4.867)/ 29.53058
M:=2*(M-Int(m))-1
fase lunar:=Abs(M)
fin
Moonphase
Moonphase : Multi-millones de consejos para hacer su vida mas facil.
Como calcular las fases de la Luna
Colaborador: ALAN GRAFF
{
Como Robert Forbes dijo a Todos el 25 de abril 94...
RF> Alguien tiene alguna idea de como hacer un algoritmo para
RF> calcular la fase lunar, dada la fecha?
Aqui ya va:
ESCRIBA DATETYPE = record
dia:WORD
MES:WORD
AÑO:WORD
dow:word
fin
{=================================================================}
Procedimiento GregorianToJulianDN(Año, Mes, Dia:Integer
var JulianDN :LongInt)
var
Siglo,
XYear : LongInt
begin {GregorianToJulianDN}
Si Mes <= 2, a continuacion, empezar
Año := pred(Año)
Mes := 12 Meses
fin
Mes := Mes - 3
Siglo := Año div 100
XYear := Año mod 100
Siglo := (Siglo * D1) shr 2
XYear := (XYear * D0) shr 2
JulianDN : = (((( Mes * 153) 2) div 5) Dias) D2
XYear Siglo
end {GregorianToJulianDN}
{=================================================================}
la Funcion de fase lunar(Fecha:Datetype):Real
(***************************************************************)
(* *)
(* Determina APROXIMADO de la fase de la luna (porcentaje encendido) *)
(* 0.00 = luna Nueva, 1.00 = luna Llena *)
(* Debido al redondeo, los valores completos posiblemente nunca pueda ser alcanzado *)
(* Valido a partir de Octubre. 15 de 1582 a Febrero. 28, 4000 *)
(* Calculos y BASICA programa que se encuentra en**)
(* '119 Programas Practicos Para El TRS-80 Ordenador de Bolsillo' por *)
(* John Clark Craig, FICHA de los Libros, 1982 *)
(* Conversion a Turbo Pascal por Alan Graff, Wheelersburg, OH *)
(* *)
(***************************************************************)
var
j:longint m:real
Begin
GregorianToJulianDN(la Fecha.Año,Fecha.Mes,Fecha.Dia,J)
M:=(J 4.867)/ 29.53058
M:=2*(M-Int(m))-1
fase lunar:=Abs(M)
fin
Moonphase
By Consejos Y Trucos
Moonphase : Multi-millones de consejos para hacer su vida más fácil.