Poster un nouveau sujet Poster une réponse
Aide à propos d'un programme
Auteur Message
mikosh



Autorisation : Membre
Nb de messages : 3
Inscrit le : Dim 31 Déc 2017, 16:51
Posté le : Dim 31 Déc 2017, 16:52   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.

 Adresse email Haut de page Bas de page 
 
Homer_Dalor



Autorisation : Membre
Nb de messages : 33
Inscrit le : Sam 22 Avr 2017, 16:00
Posté le : Lun 01 Jan 2018, 17:50   Citer 

Salut salut.

Alors la première ligne :


Code
Prompt J,M,A



On demande trois valeurs à l'utilisateurs, soit le jour, le mois et l'année.

La deuxième ligne :


Code
M<3->B



Ici c'est une sorte de true ou false, si M est inférieur à 3 alors B aura comme valeur 1, sinon il aura 0

La troisième :


Code
{0,3,3,6,1,4,6,2,5,0,3,5



C'est une liste. Ici pas besoin de l'attribuer à une variable, car rien dans cette liste ne va être modifié. Pour avoir accès au valeurs contenue dedans,on utilisera Rép(Indice)

La quatrième :


Code
A-1+int((A-B)/4)-int((A-B)/100)+int((A-B)/400)+Ans(M)+J->P



C'est une opération qui va nous donner le nombre de jour entre le 1er Janvier 0 et la date entrée en paramètre. si tu demande quel jour on était le 3 Janvier de l'an 0, P va être égal à 3.

La cinquième :


Code
P-7int(P/7->N



C'est l'opération modulo, il va te donner un résultat entre 0 et 6, exemple, si t'as P=23 donc si le jour que t'as demandé c'est le 23 ème, il va te retourner 2, et donc grâce à ce chiffre, on pourra dire quel jour de la semaine c'était.

J'espère avoir bien expliqué, si t'as une question hésite pas winkle.gif

 Adresse email Haut de page Bas de page 
 
mikosh



Autorisation : Membre
Nb de messages : 3
Inscrit le : Dim 31 Déc 2017, 16:51
Posté le : Lun 01 Jan 2018, 19:37   Citer 

Bonsoir, tout d'abord merci de votre réponse qui est très claire et qui m'aide beaucoup, il y a juste une chose que je n'arrive pas à déchiffrer : à quoi correspondent ces chiffres ? :


Code
{0,3,3,6,1,4,6,2,5,0,3,5



Merci d'avance !

 Adresse email Haut de page Bas de page 
 
m@thieu41



Autorisation : Membre
Nb de messages : 856
Inscrit le : Mer 18 Juil 2012, 18:44
Posté le : Mer 03 Jan 2018, 12:32   Citer 

Hey !


Citer
C'est une opération qui va nous donner le nombre de jour entre le 1er Janvier 0 et la date entrée en paramètre. si tu demande quel jour on était le 3 Janvier de l'an 0, P va être égal à 3.



Cette affirmation est fausse.

En effet, quand tu vois comment le mois (M) est utilisé, tu te rends compte (outre la gestion du 29 février avec les A-B) qu'on ajoute un nombre qui est dans cette liste {0,3,3,6,1,4,6,2,5,0,3,5}.

Ce que cette ligne te retourne réellement, c'est un entier tel qu'il soit congru au jour de la semaine modulo 7.

La partie A-1 sert donc à gérer le décalage selon l'année (on décale d'un jour par an puisque 365 est congru à 1 modulo 7 (ie pour une année normale, si le JJ/MM/AAAA est un Mardi, alors le JJ/MM/AAAA+1 est un Mercredi.

Le int((A-B)/4)-int((A-B)/100)+int((A-B)/400) permet de rajouter le nombre d'années bissextiles qu'il y a eut (à chaque fois on rajoute un décalage de 1).

Et enfin le Ans(M) permet de rajouter le décalage du mois (si le 1er Janvier est un Lundi, alors le 1er Février sera un Jeudi, d'où le 3 dans le mois de Février (indice 2)). Si c'est plus clair pour toi, il est équivalent de mettre {0, 31, 31+28, 31+28+31, ...

Pour finir, il faut bien sûr rajouter le nombre de jours écoulés depuis le début du mois.

----------------------
Pour vous aidez dans vos débuts (et même ensuite ^^) :
*Tuto Algo->Ti Basic (par Linkakro) : Traduisez vos algo (de type algobox) en prgm pour votre TI!
*Catalogue des emplacements et traductions (anglais/français) des fonctions sur la TI.
*Faites vos propres programmes de maths (par ash)

Et au fait: la politesse n'a jamais tué personne winkle.gif
 Adresse email Haut de page Bas de page 
 
mikosh



Autorisation : Membre
Nb de messages : 3
Inscrit le : Dim 31 Déc 2017, 16:51
Posté le : Ven 05 Jan 2018, 19:09   Citer 

Bonsoir, merci de votre réponse, donc si j'ai bien compris :


Code
 {0,3,3,6,1,4,6,2,5,0,3,5}



ce code signifie que le premier chiffre est 0, le second est 10 pareil pour le troisième, le quatrième c'est 13 etc... mais donc a quoi correspondent ces chiffres ?

 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 - 2024 Groupe FSB
Page générée en 9 requêtes
BlackOne par Grimmlink