Poster un nouveau sujet Poster une réponse
lag volontaires et boléens (peut être mal écrit ...)
Auteur Message
Attila



Autorisation : Membre
Nb de messages : 11
Inscrit le : Jeu 24 Oct 2013, 14:17
Posté le : Mar 29 Oct 2013, 21:51   Citer 

Bonjour a tous programmeur de tout bois (et de tout82 aussi ...), pourriez vous m'indiquer les moyen de faire lager/ralentir un programme autrement qu'en utilisant des calculs pleins de racines et de carrés ...

Et sinon j'aimerai aussi savoir comment utilise-t-on les boléens ?Je sais à quoi ça ressemble mais je ne sais pas à quoi ils servent ...

 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 : Mar 29 Oct 2013, 23:17   Citer 

Bonjour,

Pour faire ralentir un prgm, il faut faire quelque chose d'inutile.
Tu peux faire un calcul bidon, ou bien une boucle qui tourne un certain temps.
Par exemple, tu peux mettre:
For(A,1,100
End
Ca n'aura aucun autre effet si ce n'est de ralentir le prgm.
Après tu change la valeur 100 par celle que tu juge appropriée pour ralentir ton prgm comme tu le veux.

Tu dis que tu sais à quoi ressemblent les booléens (2 o) tu entends par là que tu sais t'en servir en théorie? Sinon va voir ici: http://tout82.free.fr/forum/sujet.php?sujet=2741
Quand à leur utilisation bah elle est variée et dépend des cas.

Si tu as quelque chose du type:
If A>56
B+C->B
Tu peux mettre à la place:
B+C(A>56->B
Explication:
Si A>56 est vrai, alors C(A>56) est égal à C, donc B+C(A>56) vaut B+C.
Sinon C(A>56) vaut 0, et donc B+C(A>56) vaut B.

Pour prendre un exemple complet:
Si A est la position en absices d'un personnage que tu diriges avec les flèches directionnelles, et K la touche pressée.
Ce qu'on veut ici c'est incrémenter A si K vaut 26, et décrémenter A si K vaut 24.
Sans utiliser les booléens on ferait:
If K=24
A-1->A
If K=26
A+1->A
Mais comme tu t'en doutes il y a moyen d'optimiser en utilisant les booléens:
A-(K=24)+(K=26->A
Une seule instruction, plus de condition à tester, donc plus rapide et plus économique.

Tu verras qu'en fait au bout d'un moment on ne peut plus se passer des booléens winkle.gif.

----------------------
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 
 
linkakro



Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Mer 30 Oct 2013, 0:20   Citer 

Quand il est question de faire un calcul innutile sans boucle, il y a bien mieux que les racines carrées.
69! est déjà lent. Des opérations plus compliquées telles que FnInt peuvent donner n'importe quel temps (voire même bloquer la TI facilement dans le cas du BinAléat/randBin)

Utiliser les booléens dans la TI repose sur ces conversions :
FAUX <-> 0
VRAI --> 1
n'importe quoi non nul --> 1
Sachant donc que les opérations de logique génèrent des zéros/uns et interprètent les zéros/autre on peut tricher dans les programmes.

Ne pas se passer des booléens ?..
Souvent vrai sauf dans les programmes exigeant une grande rapidité.
Rassembler des actions avec les booléens est intéressant voire amusant pour alléger les codes mais cela effectue chaque opération de calcul systématiquement (au lieu de circonstanciel) et ce n'est pas toujours désirable.

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