Forum

Catégorie : Programmes
Forum : Les programmes des internautes
Vues : 722
Réponses : 9
Type : discussion
Etat : réponses autorisées

Programme pour calendrier, une galère !

azert123 le 06/10/2015 à 20:21
Bonjour ! Voilà je dois faire un calendrier grégorien, c'est à dire trouver le jour de la semaine pour n'importe quelle date (je sais que cela ne fonctionnera qu'a partir de 1583). J'aurai besoin de vous pour savoir si il est bien et comment je pourrai l'améliorer car pour l'instant il est faux :
Prompt J,M,A
O-->N
0-->B
0-->C
0-->D
If M=1
Then
0-->M
End
If M=2
Then
31-->M
End
If M=3
Then
59-->M
End
If M=4
Then
90-->M
End
If M=5
Then
120-->M
End
If M=6
Then
151-->M
End
If M=7
Then
181-->M
End
If M=8
Then
212-->M
End
If M=9
Then
243-->M
End
If M=10
Then
273-->M
End
If M=11
Then
304-->M
End
If M=12
Then
334-->M
End
While A<2015
A+1-->A
N+1-->1
If partDéc(A/4)=0 et partDéc(A/100)pas égale a 0 ( pas la touche sur mon clavier )
Then
B+1-->B
End
If partDéc(A/400)=0
Then
B+1-->B
End
End
365x(N-B)+366xB+J+M-->C
C-ent(C/7)x7-->D
If D=0
Disp "Jeudi"
If D=1
Disp "Vendredi"
If D=2
Disp "Samedi"
If D=3
Disp "Dimanche"
If D=4
Disp "Lundi"
If D=5
Disp "Mardi"
If D=6
Disp "Mercredi"

Cela m'a demandé beaucoup de réflexion, mais là je ne sais plus quoi faire ... Merci d'avance pour votre aide.

ps : Je sais qu'il y a eu un sujet similaire il y a pas longtemps sur le forum, mais j'aimerai vraiment avoir un programme différent qui fonctionne.

Sauvez-moi svp XD
ld le 11/10/2015 à 01:25
Bonjour;
Pourquoi en vouloir un différent si ceux du site fonctionnent ?
Mingerton le 11/10/2015 à 11:04
Ton code contient beaucoup trop de pertes de temps et de tests, ce qui est une source d'erreur principale quand on ne maîtrise pas l'algo booléenne parfaitement. Exploite au maximum les capacités de ta calculatrice, avec les fonctions de temps, par exemple dbd() qui te calcule le nombre de jours entre deux dates, à coupler avec un algo de détermination du jour de le semaine.

C'est un bon entraînement à l'algorithmique, essaie de le faire seul, et donnes nous ton retour ! winkle.gif
ld le 12/10/2015 à 13:22
J'connaissais même pas dbd() crazy.gif
Mingerton le 12/10/2015 à 19:47
C'est l'heure d'optimiser ton éphéméride alors tongue.gif
m@thieu41 le 13/10/2015 à 13:12
Mais un programme utilisant dbd ne peut convrir plus d un siecle fixe...
Mingerton le 13/10/2015 à 18:59
Une boucle qui compte siècle après siècle. Ca sera toujours plus rapide je pense. Et puis pour un programme comme ça a t-on vraiment besoin de plus d'un siècle ? winkle.gif
m@thieu41 le 13/10/2015 à 19:10
Tu as vite un probleme concernant les annees bissextiles...
Bah chacun ses lubies :p
Mingerton le 13/10/2015 à 19:14
On va pas mâcher le boulot au principal concerné non plus godgrace.gif
m@thieu41 le 13/10/2015 à 19:45
Exact :p