Poster un nouveau sujet Poster une réponse
Besoin d'aide pour une incompréhension de bug sur un chrono
Auteur Message
Nacki
Invité
Posté le : Mer 05 Oct 2011, 17:18   Citer 

Bonjours, alors voilà en se moment je cherche à créer un chronomètre pour ti82 mais cherchant toujours plus à optimiser mon programme, je voudrais savoir qu'elle est l'erreur sur se morceau de programme :


Code

EffEcr
0→V
0→Q
Output(4,7,"SEC"
Output(4,13,"MIN"
Output(4,5,V)
Output(4,11,Q)
codeTouche→R
If R=105
Then
Lbl W

Goto W
V+1→V
BinAléat(29,1
If V=60
Then
Q+1→Q
0→V
Goto V



Voilà merci pour les future réponse ! happy.gif



PS : Merci de faire preuve d'indulgence, je suis débutant dans le domaine^^

  Haut de page Bas de page 
 
Nacki
Invité
Posté le : Mer 05 Oct 2011, 17:21   Citer 

Excuser pour l'erreur de script "&#8594", c'est chiffre/symbole sont des flèche. →

  Haut de page Bas de page 
 
sandro



Autorisation : Membre
Nb de messages : 1387
Inscrit le : Ven 25 Mar 2011, 22:58
Posté le : Mer 05 Oct 2011, 17:39   Citer 

Je doit avouer ne pas trop avoir compris ton code (le problème vient propablement soit des Goto/Lbl, soit d'un manque de End).

Voici un chornomètre que je te propose :

Code
EffEcr
0 -> S        //0 secondes (les minutes sont aussi inclues là dedans)
Output(4,7,"SEC"
Output(4,13,"MIN"
Pause     //attand que l'on appuie sur [entrer] pour commencer
Reapeat codeTouche //répéter jusqu'à ce que l'on appuit sur une touche
For(T,1,20   //ralentit (remplacer 20 par le nombre qui fait la plus haute
précision)
End
S+1 -> S   //ajoute un au nombre de secondes
Output(4,5,60partDec(S/60    //nombre de secondes
Output(4,11,60ent(S/60       //nombre deminutes
End    //Fin de la boucle du reapeat



Sandro

PS : évite d'utiliser des If pour un chronomètre : selon que la condition est vraie ou fausse, le temps d'execution est différent. évite aussi de metre un Goto qui sort d'un If ou d'une boucle : à chaque execution, le programme va ralentir un tout petit peu.

----------------------
mort à l'inutile, place à la mémoire libre et aux programmes
 Adresse email Haut de page Bas de page 
 
programmathss
Invité
Posté le : Mer 05 Oct 2011, 17:46   Citer 


Code

If R=105
Then
Lbl W

Goto W



Javoue cette phrase ma choqué ^^'

Un label est toujours ouvert quoique il arrive
il manque un end de la boucle If/then/end
et, ce programme va tourner en rond entre label W, rien et revenir au label W, rien et revenir au label W etc... cupsmiley.gif

  Haut de page Bas de page 
 
Nacki
Invité
Posté le : Mer 05 Oct 2011, 18:30   Citer 

Merci pour ton code sandro, comme je le disais, je suis très nouveau en programmtation ^^'



Citer : programmathss

Code

If R=105
Then
Lbl W

Goto W



Javoue cette phrase ma choqué ^^'

Un label est toujours ouvert quoique il arrive
il manque un end de la boucle If/then/end
et, ce programme va tourner en rond entre label W, rien et revenir au label W, rien et revenir au label W etc... cupsmiley.gif



Excuse moi je me suis tromper quand j'ai recopier mon code, j'ai inverser les deux notgood.gif

  Haut de page Bas de page 
 
sandro



Autorisation : Membre
Nb de messages : 1387
Inscrit le : Ven 25 Mar 2011, 22:58
Posté le : Mer 05 Oct 2011, 18:34   Citer 

Même dans ce cas, ça ne sert à rien vue que tu ne saute que une ligne vide.

D'ailleur, il est où ton Lbl V ?

----------------------
mort à l'inutile, place à la mémoire libre et aux programmes
 Adresse email Haut de page Bas de page 
 
Nacki
Invité
Posté le : Mer 05 Oct 2011, 19:55   Citer 

Il n'y en a pas. Je l'ai mis au hasard, je n'ai pas trop eu de cours comme tu as sans doute pu le comprendre^^

  Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Mer 05 Oct 2011, 21:04   Citer 

sandro : ta méthode avec des divisions est bourrin mais originale. bigmouth.gif
Et Heureusement que les erreurs d'arrondits sont très négligeables.

Pour éviter des soucis futurs :
La vitesse de ta calculatrice dépend de son modèle et de sa mémoire libre.
Ainsi, un chrono parfait sur ta calculatrice ne le sera sûrement pas sur une autre.
(sinon il faut utiliser une TI84+ avec horloge intégrée)

----------------------
ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)

Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store
 Adresse email Haut de page Bas de page 
 
sandro



Autorisation : Membre
Nb de messages : 1387
Inscrit le : Ven 25 Mar 2011, 22:58
Posté le : Mer 05 Oct 2011, 21:12   Citer 

C'est le seul moyen que je vois d'afficher en minutes secondes en prenant le même temps à chaque itération : si on utilise un if, à chaque passage de minute, on prend du retard. Et comme de toute façon il faut ralentir, autant bien utiliser une partie de la vitesse en trop pour augmenter la précision.

Sandro

----------------------
mort à l'inutile, place à la mémoire libre et aux programmes
 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