Forum

Catégorie : Programmes
Forum : Les programmes des internautes
Vues : 1781
Réponses : 10
Type : discussion
Etat : réponses autorisées

Chronométre (a temps réelle)

xiug le 01/07/2013 à 18:07
Voici mon Chronométre a temps réelle et oui haha ! c'est Magique
Voici le code !

Lbl 0
0->A
0->B
Lbl 1
69!
69!
69!
EffEcr
Disp "",B,"MINUTES",A,"SECONDES"
Fixe 0
A+0.3703703704->A
If A=60
Then
0->A
B+1->B
End
codeTouche->K
If K=105
Stop
Goto 1


Bon juste une question javais montre ce programme a un ami il lui il ma modifier il ma mi Fixe 0 (sa sert a quoi )
Il mavais supprimer des truck je sais plus !
Sinon Voila jai du me creuser la tete pour trouver une technique de seconde qui se raproche le plus possible au seconde réelle !
et tous sa en fesont attention au 69 !
VOILA VOILA !
m@thieu41 le 01/07/2013 à 19:53
Bonjour!
Essaye de mettre une balise code la prochaine fois sur ton prgm pour que ce soit plus clair pour nous à lire winkle.gif
Code
Lbl 0
0->A
0->B
Repeat K=105  //La boucle tournera jusqu'à ce que K soit égal à 105 (donc qu'on ait appuyé sur [entrer], c'est plus propre qu'un Goto je pense
69!
69!
69!
EffEcr
Disp "",B,"MINUTES",A,"SECONDES"
Fixe 0    //ceci sert à fixer le nombre de chiffre après la virgule à 0 (ça permet d'arrondir tes affichages des secondes)
A+0.3703703704->A   //La calto ne va pas toujours à la même vitesse (en fonction de l'état des piles, de la mémoire, etc, donc inutile d'être aussi précis je pense ^^)
If A=60
Then
0->A
B+1->B
End
codeTouche->K
End  // Ici, si K=105 le prgm sort de la boucle, il n'y a plus d'instructions donc il quittera


Je t'ai mis 2-3 commentaires après les //

Sinon voilà un prgm qui fait à peu près la même chose, mais plus optimisé (je te le mets pour que tu puisses comparer pour progresser winkle.gif

Code
Fixe 0
0  // Tous les résultats des calculs (un seul nombre est considéré par la calto comme un calcul) sont stockés dans une variable assez spéciale: Rép (Ans en anglais), dont je me sert ici
Repeat CodeTouche=105
Rép+0.15 //Tu peux mettre la valeur que tu veux ici (Le résultat du calcul est donc stocké dans Rép)
EffEcr
Disp "",Rép/60,"MINUTES",60partDec(Rép/60),"SECONDES  //Je me sert ici du modulo pour trouver le nombre de secondes (Un calcul passé en argument dans une fonction ne modifie pas Rép)
End


Voilà bonne chance pour la suite et continue comme ça bigmouth.gif
linkakro le 01/07/2013 à 20:20
Je pense que tu devrais temporiser avec For plutôt qu'avec trois 69! et un incrément décimal.

L'incrément décimal est original, mais source de quelques ambiguités.
Quoi qu'il en soit il peut permettre de supporter une calculatrice trop lente en augmentant la valeur, même si les affichage ne seront plus assez réguliers.

Le test A=60 est un problème puisque l'incrément est décimal. Il faut soit arrondir (mais c'est trop lent) soit utiliser un test d'inégalité. A>=60
Ou utiliser les calculs de division par 60 de m@thieu41.

Fixe 0 sert à afficher les nombres sans partie décimale.
Il est préférable d'utiliser Float si les nombres sont entiers On a moins de surprises si on oublie de réinitialiser mode pour de la physique.
Il est innutile de réitérer la configuration Fixe 0. Début, fin, c'est tout.

Calculer un reste avec le produit de la partie décimale est risque de bug d'arrondit. Mais ce n'est pas grâve pour ce programme.

Code
     // 0->A   // EDIT : à supprimmer
     // 0->B
Fixe 0
EffEcr
Repeat codeTouche=105
Text(0,0,Rép/60,"MINUTES",60partDéc(Rép/60),"SECONDES"
Rép+1            // touchez à l'incrément si vous voulez, attention au For
For(W,0,15):End  // je vous laisse ajuster ce 15 à la valeur idéale
End
Float

edit : oubliez le codetouch() qui n'a pas de sens autre qu'un bug sur codeTouche. Je ne le savais pas et la rumeur de l'usage de la parenthèse circulait.
m@thieu41 le 01/07/2013 à 20:44
Juste une petite remarque sur ton code linka: inutile d'initialiser A et B à 0, un simple "0" suffit pour mettre Rép (ou Ans) à 0 winkle.gif
linkakro le 01/07/2013 à 22:01
Exactement, j'ai oublié de supprimmer.
xiug le 01/07/2013 à 23:07
Merci pour c'est information !
bellakatia le 13/09/2014 à 14:42
bonjour,
j'ai un souci je suis coincée là:

Code

Lbl 0
0->A
0->B
Repeat K=105
69!
69!
69!
Effecr
Disp "",B,"MINUTES",A,"SECONDES"
                                 //je ne sait pas où ( ) c'est//
A+0.3703703704->A
If A=60
Then
0->A
B+1->B
End
codeTouch(K)                      // la ( est automatiquement affichée//
If K=105
Stop
Goto 1



voilà merci de m'éclairer sur ce souci !
Cytropus le 13/09/2014 à 15:26
Bonjour !

Quand tu dis que tu es bloquée, essaye d'être un peu plus précise car on peut être coincé à un seul endroit pour beaucoup de raisons différentes...

Si tu ne connais pas une fonction, tu peux toujours regarder dans la signature de linkakro. Sinon, précise bien la fonction. Si c'est "Disp" comme j'ai cru comprendre, c'est [prgm][>][3] il me semble. La virgule utiliser est celle du clavier situé au dessus du 9.

Quand au Codetouche, c'est normal que la ( apparaisse automatiquement


Voilà, en espérant t'avoir aidé. happy.gif
N'hésite surtout pas à poser tes questions si je n'ai pas totalement répondu à ta question

Sur ce, bonne continuation !
linkakro le 13/09/2014 à 17:43
La parenthèse ne sert à rien. C'est un défaut des applications et des logiciels de TI dédiées au public français.
Code
getKey->K     // ti82 / ti82stats / ti83
codeTouche->K // ti82statsfr
getKey->K     // ti83plus / ti82plus - par défaut
codeTouch(->K // ti83plus / ti82plus - application française

Tous les logiciels français éditeurs de codes utilisent la version de l'application, même les éditeurs TIgraphlink français de ti82 et ti83.
Pour ta calculatrice qui inclus cette stupide parenthèse, saisis donc comme mon exemple.
.. le 29/09/2014 à 20:25
Comment on affiche fixe et = sur la ti 82+ ?
Aussi comment passer du mode d'écriture en insertion (en permanence) et faire un retour a la ligne au milieu d'un ligne écrite ?
Merci d'avance !!
linkakro le 29/09/2014 à 20:36
Fixe : menu mode en sélectionnant un numéro sur la ligne de Float.
= : menu 2nde+math(test)
insertion : inser=2nde+suppr/del
L'insertion dure jusqu'au prochain déplacement de curseur ou suppression. Il n'y a pas de mode d'insertion par défaut.
Insérer un retour à la ligne : mode insertion et retour à la ligne : 2nde+suppr(inser)+entrer.

Toutes les fonctions, presque tous les symboles et quelques variables sont dans le catalogue 2nde+zéro. Les autres variables dans le clavier ou le menu variable. Tu peux te débrouiller.
Le catalogue de persalteas et moi accessible via ma signature donne tous les emplacements et traductions de ti82 à 84plus.