Poster un nouveau sujet Poster une réponse
Aide à propos d'un programme
Auteur Message
mikosh
Invité
Posté le : Dim 31 Déc 2017, 16:49   Citer 

Bonjour, j'ai reçus un devoir maison a faire qui consiste à un faire un programme qui donne le jour correspondant à la date qu'on donne : Voici le programme :
Prompt J,M,A
M<3->B
{0,3,3,6,1,4,6,2,5,0,3,5
A-1+int((A-B)/4)-int((A-B)/100)+int((A-B)/400)+Ans(M)+J->P
P-7int(P/7->N
If N=0
Disp "DIMANCHE
If N=1
Disp "LUNDI
If N=2
Disp "MARDI
[...]
Pourriez vous me donner l'explication des 5 premières lignes si possible ? Merci d'avance.

  Haut de page Bas de page 
 
S.L



Autorisation : Membre
Nb de messages : 101
Inscrit le : Jeu 02 Jui 2011, 15:17
Posté le : Mer 03 Jan 2018, 1:44   Citer 

Salut, tu dois faire un programme ou expliquer ce programme ?

Une brève recherche sur Wikipédia te mènera vers la " congruence de Zeller " et la formule y est expliquée en détails.

https://fr.wikipedia.org/wiki/D%C3%A9termination_du_jour_de_la_semaine
https://en.wikipedia.org/wiki/Zeller%27s_congruence
https://es.wikipedia.org/wiki/Congruencia_de_Zeller

N'hésite pas à regarder l'article en espagnol, il y a un algorithme qui se rapproche de ton programme.

Explication de ton programme :


Code
:Prompt J,M,A
//demander le numéro du jour, du mois et de l'année

:M<3->B
//cette ligne est équivalente à " If M<3:1->B:If M>=3:0->B " -B est donc un booléen-

:{0,3,3,6,1,4,6,2,5,0,3,5
//on entre une liste de nombres qui va donc être considérée comme dernière entrée de ta calculatrice (accessible avec [2nd] + [(-)] : c'est ce qui correspond alors à ton " Ans " (comme answer) ou " Rep " (comme réponse)), on remarque qu'on ne ferme pas l'accolade car ta TI comprend implicitement sa fermeture

:A-1+int((A-B)/4)-int((A-B)/100)+int((A-B)/400)+Ans(M)+J->P
//là il faut voir la formule donnée dans Wikipédia, sinon " int() " ou " ent() " ça permet de récupérer la partie entière d'un nombre; le " A-B " tu comprends que selon la valeur de B on va retirer 1 ou 0 à ton année; et le " Ans(M) " ou " Rep(M) " ça permet de prendre le M-ème élément de ta liste

:P-7int(P/7->N
//ça c'est tout simplement un modulo 7 de P

:If N=0
:Disp "DIMANCHE
:If N=1
:Disp "LUNDI
:If N=2
:Disp "MARDI
[...]



----------------------
L'homme est né pour programmer.
Émulateur de TI en ligne! Chat de Tout82!
Mes jeux: Bouge!;WallJump;Mouche;Enter;UPMario;Mémoriz;Copter;Pong2P;Pokémon;MineCraft
Mes Prog: XCodeX;IMC;Matrix;Noël

SL-TIProg :site en cours de création.
 Adresse email Haut de page Bas de page 
 
Poster un nouveau sujet Poster une réponse





  Powered by Fire-Soft-Board v1.0.10 © 2004 - 2025 Groupe FSB
Page générée en 9 requêtes
BlackOne par Grimmlink