Bonjour à tous,
j'ai creer un programme pour savoir l'heure à tout instant sur ti 82+ en ti-basic.
je souhaite donc vous le partagez.
Si vous voyez des erreurs ou une simplification possible du code (c'est un de mes premiers codes) , je vous remercie d'avance
Ps: il faut entrer prealablement au debut du lancement du programme l'heure, la minute et les secondes .....
Voiçi donc le code
Code
PrgmHEURE : 162 octet
EffEcr
Input "Heure",H
Input "Minute",M
Imnput "Seconde",S
EffEcr
Goto 1 //Goto mis en place pour afficher directement l'heure et ne pas perdre 2s au traitement des données
Lbl 0
For (I,1,300 //Le 300 est à modifier en fonction de votre ti sachant que c'est égale à 1s
End
S+1->S
Lbl 1
If S>=60
Then
S-60->S
M+1->M
End
If M>=60
Then
M-60->M
H+1->H
End
Output (1,5,"HEURE",H
Output (3,1,H
Output (3,4,M
Output (3,7,S
Goto 0
Je vous remercie pour vos commentaires qui amélioreront mon programme
Je compte poster bientôt un programme "Chronomètre" et un autre combinant les 2 options
Autorisation : Membre
Nb de messages : 85
Inscrit le : Dim 13 Déc 2015, 16:27
Posté le : Dim 13 Déc 2015, 18:01
Oui c'est exact en copiant j'ai oublier cette partie du code .....
Saurait tu comment la rajouter à mon 1er message ?
sinon le code corriger est le suivant :
Code
PrgmHEURE : 162 octet
EffEcr
Input "Heure",H
Input "Minute",M
Input "Seconde",S
EffEcr
Goto 1 //Goto mis en place pour afficher directement l'heure et ne pas perdre 2s au traitement des données au debut du programme
While getkey // boucle remplacé
For (I,1,300 //Le 300 est à modifier en fonction de votre ti sachant que c'est égale à 1s
End
S+1->S
Lbl 1
If S>=60
Then
S-60->S
M+1->M
End
If M>=60
Then
M-60->M
H+1->H
End
If H>=24 //code rajouté
0->H
Output (1,5,"HEURE" // Erreur de copie corrigé
Output (3,1,H
Output (3,4,M
Output (3,7,S
End
EffEcr
Output4,6," " // un espace entre les guillemets
j'ai aussi changer le Lbl Goto que j'avais mis en place au debut par un While Getkey qui nous permet de quitter dès qu'on appuie sur une touche
---------------------- La programmation : l'avenir d'hier ...........
mes prgm pour ti82 : PrgmHEURE , PrgmCHRONOMÈTRE , PrgmQUITTER
Autorisation : Membre
Nb de messages : 504
Inscrit le : Ven 07 Déc 2012, 20:09
Posté le : Dim 13 Déc 2015, 20:39
Je balance une idée sans développer : pourquoi ne pas utiliser un unique compteur, en ralentissant avec des 69! et en convertissant avec DMS à la fin ? Il y a des octets à gagner je pense
Ça n'a pas trop de sens, je pense que tu voulais mettre :
Code
Repeat getkey
Il y a également un problème quand on retourne à S=0, M=0 et H=0 puisque le 9 ou le 3 n'est pas effacé.
J'ai optimisé et corrigé le programme.
Code
EffEcr
Input "Heure",H
Input "Minute",M
Input "Seconde",S
EffEcr
Repeat getkey
Output(3,1,H
Output(3,4,M
Output(3,7,S
S+1->S
If S=60
EffVar SM+1->M
If M=60
EffVar MH+1->H
If H=24
0->H
For(I,1,300
End
Output(3,2,"
Output(3,5,"
Output(3,8," //Une espace pour chaque ligne
End
"
Autorisation : Membre
Nb de messages : 30
Inscrit le : Ven 06 Nov 2015, 14:08
Posté le : Dim 13 Déc 2015, 21:10
Citer : Mingerton
Je balance une idée sans développer : pourquoi ne pas utiliser un unique compteur, en ralentissant avec des 69! et en convertissant avec DMS à la fin ? Il y a des octets à gagner je pense
Pas bête effectivement, voilà ce que je viens de faire :
Code
Input "Heure",H
Input "Minute",M
Input "Seconde",S
H+60[^-1](M+S/60
Repeat codeTouche
EffEcr
Disp Rép>DMS
For(I,1,300 //Valeur à modifier
End
Rép+3600[^-1]
If Rép=24
0->Rép
End
"