Maple
Réponses à toutes vos questions après le Bac (Fac, Prépa, etc.)
-
Annick08
- Messages: 6
- Enregistré le: 15 Juin 2013, 13:07
-
par Annick08 » 15 Juin 2013, 13:15
Bonjour,
je voudrais faire une petite procédure maple (or cadre école) pour donner la date d'une éclipse à l'aide du cycle du Saros.
Je rentrerais une date d'une éclipse,(par exemple 21/ 01/2000 à 4H46), la procédure pourrait convertir la date sélectionnée en date julienne puis y additionner la durée d'un saros (+ 6585.32) et convertir la date dans l'autre sens.
J'ai essayer mais..
(procédure à part convertir date julienne en gregorienne
greg:=proc(x)
a = x + 32045:
b= floor(4 * (a + 36524) / 146097) - 1:
c = a - floor(146097 * b / 4):
d = floor(4 * (c + 365) / 1461) - 1:
e = c - floor(1461 * d / 4):
m = floor((5 * (e - 1) + 2) / 153):
J = e - floor(((153 * m) + 2) / 5);
M = m + 3 - 12 * floor(m / 10);
A = (100 * b) - 4800 + floor(m / 10) + d;
end proc; )
eclipse:= proc (J, M, A, H ,MI)
local JJ;
JJ=367 * A - floor(1,75 * (floor((M + 9) / 12) + A )) + floor(275 * M / 9) - floor(0,75 * (1 + floor(0,01 * (floor((M - 9) / 7) + A)))) + J + 1721028,5 + H/24 + MI/1400;
for k from 1 to 3 do E[k]=JJ+6582.32k then greg(E[k]);
end do; end for;
end proc;
-
Dlzlogic
- Membre Transcendant
- Messages: 5273
- Enregistré le: 14 Avr 2009, 12:39
-
par Dlzlogic » 15 Juin 2013, 14:40
-
Annick08
- Messages: 6
- Enregistré le: 15 Juin 2013, 13:07
-
par Annick08 » 15 Juin 2013, 14:56
eclipse:= proc (J, M, A, H ,MI)
local JJ;
JJ=367 * A - floor(1,75 * (floor((M + 9) / 12) + A )) + floor(275 * M / 9) - floor(0,75 * (1 + floor(0,01 * (floor((M - 9) / 7) + A)))) + J + 1721028,5 + H/24 + MI/1400;
for k from 1 to 3 do E[k]=JJ+6582.32k then greg(E[k]);
end do; end for;
end proc;
Pourriez vous me dire comment faire la procédure "greg" qui convertit la date julienne en date grégorienne?
-
Dlzlogic
- Membre Transcendant
- Messages: 5273
- Enregistré le: 14 Avr 2009, 12:39
-
par Dlzlogic » 15 Juin 2013, 15:06
Avant de faire une procédure, il vaut mieux écrire l'algorithme.
Comme je n'ai aucune idée de la conversion de date julienne en date grégorienne, je ne peux pas vous aider. La seule choses que je sais, c'est que le jour d'application de ce calendrier, on a sauté une quinzaine de jours.
-
Annick08
- Messages: 6
- Enregistré le: 15 Juin 2013, 13:07
-
par Annick08 » 15 Juin 2013, 15:09
sinon je pourrais rester en date grégorienne, et travailler avec des modulo mais avec les mois à 30 ou 31 jours ce serait compliqué non ?
(saros=18ans,11jours8heures)
-
Dlzlogic
- Membre Transcendant
- Messages: 5273
- Enregistré le: 14 Avr 2009, 12:39
-
par Dlzlogic » 15 Juin 2013, 15:39
Annick08 a écrit:sinon je pourrais rester en date grégorienne, et travailler avec des modulo mais avec les mois à 30 ou 31 jours ce serait compliqué non ?
(saros=18ans,11jours8heures)
Attention, 10 ou 11 jours suivant le nombre d'années bissextiles pensant la période de 18 ans.
Il faut écrire l'algorithme, et ensuite le traduire, suivant le langage utilisé.
-
Annick08
- Messages: 6
- Enregistré le: 15 Juin 2013, 13:07
-
par Annick08 » 15 Juin 2013, 15:46
oui je sais mais je comptais faire une procédure simple, donc juste faire avec 11 jours pour avoir une approximation.
Je crois que c'est trop compliqué à mon niveau avec les mois de 30, 31 jours..
ou encore je met la date en jour année *365.25 + M*24+jour+heure j'ajoute 6585.3 (saros) et après j'utilise les modules pour revenir en date normale.
-
Annick08
- Messages: 6
- Enregistré le: 15 Juin 2013, 13:07
-
par Annick08 » 15 Juin 2013, 15:55
eclipse:=proc(j,m,a,h)
local e;
e:=a*365.25+m*24+j+h/24 + 6585.3:
A:=iquo(e,365.25);
N:=irem(e,365.25):
M:=iquo(N,24);
J:=irem(N,24);
end proc;
-
Dlzlogic
- Membre Transcendant
- Messages: 5273
- Enregistré le: 14 Avr 2009, 12:39
-
par Dlzlogic » 15 Juin 2013, 16:01
Je ne sais pas comment vous arrivez à écrire une procédure sans avoir fait d'algorithme. Moi, après plus de 30 ans d'informatique, j'écris encore un algorithme avant de coder.
-
Annick08
- Messages: 6
- Enregistré le: 15 Juin 2013, 13:07
-
par Annick08 » 15 Juin 2013, 16:04
j'essaye mais je ne vous réécris pas tout.
Mon algorithme est juste le fait de mettre la date en jour d'y additionner le saros et après essayer avec les quotients et reste de retrouver date, jour, mois.. mais j'avoue que je peine..
eclipse:=proc(j,m,a,h)
local e;
e:=a*365.25+m*24+j+h/24 + 6585.3:
A:=iquo(e,365.25):
N:=irem(e,365.25):
M:=iquo(N,24):
L:=irem(N,24):
J:=iquo(L,1):
H:=(J-L)*24:
J;M;A;H;
end proc;
-
leon1789
- Membre Transcendant
- Messages: 5486
- Enregistré le: 27 Nov 2007, 15:25
-
par leon1789 » 15 Juin 2013, 17:30
Annick08 a écrit:A:=iquo(e,365.25);
cela n'est pas correct : iquo ne mouline pas sur des flottants !
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 16 invités