Poster un nouveau sujet Poster une réponse
PrgmHeure
Auteur Message
Ti82-Lexilus
Invité
Posté le : Dim 13 Déc 2015, 16:29   Citer 

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

@+

  Haut de page Bas de page 
 
ld
Avatar

Autorisation : Membre
Nb de messages : 373
Inscrit le : Jeu 23 Sep 2010, 16:05
Posté le : Dim 13 Déc 2015, 17:16   Citer 

Bonjour, bienvenue parmi-nous.
A lire ton code, si on entre 23H 14M et 20S au départ.
Deux heures après il affichera "25H 14M et 20S".

----------------------
Note Éphéméride Chrono Bombrman BlueFishEncryptor Labygénérateur Nord BandeauDeTexte LunarPhase Syracuse Papy-Jump Convertisseur ! SolveurDeSudoku VérificateurDeCodesBanquaire PrgmADiviser CryptageDeVigenere MiniSolv Reed-Solomon Code128Géodésie
 Adresse email Haut de page Bas de page 
 
Ti82-Lexilus



Autorisation : Membre
Nb de messages : 85
Inscrit le : Dim 13 Déc 2015, 16:27
Posté le : Dim 13 Déc 2015, 18:01   Citer 

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
 Adresse email Haut de page Bas de page 
 
Google_AdSense



Publicité    



 
Mingerton



Autorisation : Membre
Nb de messages : 504
Inscrit le : Ven 07 Déc 2012, 20:09
Posté le : Dim 13 Déc 2015, 20:39   Citer 

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 winkle.gif

----------------------
Mes articles
Mes programmes en ligne (je termine peu de projets)

Guide traduction Algo-Basic, par Linkakro
Catalogue des fonctions 82/83/84 FR/EN
 Adresse email Haut de page Bas de page 
 
Ruadh
Invité
Posté le : Dim 13 Déc 2015, 20:53   Citer 

Attention !


Code
Goto 1
While getkey
[...]
Lbl 1
[...]
End



Tu auras une erreur syntaxe.


Code
While getkey



Ç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
"



  Haut de page Bas de page 
 
Google_AdSense



Publicité    



 
Ruadh



Autorisation : Membre
Nb de messages : 30
Inscrit le : Ven 06 Nov 2015, 14:08
Posté le : Dim 13 Déc 2015, 21:10   Citer 


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 winkle.gif



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
"



 Adresse email Haut de page Bas de page 
 
Google_AdSense



Publicité    



 
Ti82-Lexilus



Autorisation : Membre
Nb de messages : 85
Inscrit le : Dim 13 Déc 2015, 16:27
Posté le : Dim 13 Déc 2015, 21:46   Citer 

Merci Ruadh et Migerton pour vos optimisations
Juste une question : qu'est ce que vous appellez DMS ?

----------------------
La programmation : l'avenir d'hier ...........

mes prgm pour ti82 : PrgmHEURE , PrgmCHRONOMÈTRE , PrgmQUITTER
 Adresse email Haut de page Bas de page 
 
Ruadh



Autorisation : Membre
Nb de messages : 30
Inscrit le : Ven 06 Nov 2015, 14:08
Posté le : Dim 13 Déc 2015, 22:01   Citer 

La fonction >DMS (menu angle) convertit un nombre dans le format DMS (degrés/minutes/secondes).

 Adresse email Haut de page Bas de page 
 
Ti82-Lexilus



Autorisation : Membre
Nb de messages : 85
Inscrit le : Dim 13 Déc 2015, 16:27
Posté le : Dim 13 Déc 2015, 22:32   Citer 

ok merci beaucoup

----------------------
La programmation : l'avenir d'hier ...........

mes prgm pour ti82 : PrgmHEURE , PrgmCHRONOMÈTRE , PrgmQUITTER
 Adresse email Haut de page Bas de page 
 
Google_AdSense



Publicité    



 
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