Maple

Réponses à toutes vos questions après le Bac (Fac, Prépa, etc.)
Annick08
Messages: 6
Enregistré le: 15 Juin 2013, 13:07

maple

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

Bonjour,
J'ai lu avec beaucoup de plaisir l'article
http://www.google.fr/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CC8QFjAA&url=http%3A%2F%2Ffr.wikipedia.org%2Fwiki%2FSaros&ei=9228UfDCL4TwhQfT6IF4&usg=AFQjCNEFscZeIkrUORu95na5fErBdg6xEQ&bvm=bv.47883778,d.ZG4

Concernant votre module, le seul conseil que je puisse vous donner est d'éclater vos formules et de mettre des impressions intermédiaires pour vérification.

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;

Avatar de l’utilisateur
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 !

 

Retourner vers ✯✎ Supérieur

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 25 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite