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

Moonphase : Multi-millones de consejos para hacer su vida más fácil.
Recommander aux amis
  • gplus
  • pinterest

Comentario

Dejar un comentario

Clasificación