| delimiter un label |
| Auteur |
Message |
thedarkprogrammeur
Autorisation : Membre
Nb de messages : 27
Inscrit le : Sam 09 Jui 2012, 21:58
|
Posté le : Ven 15 Jui 2012, 22:05
|
|
|
Encore ce "thedarkprogrammeur" qui pose une question: c'est sa 5 eme en 5 jour, il est vraiment nul.
Alors voila j'ai un label dans lequel y'a une suite d'instruction a executer (jusque la tout va bien) mais plus tard dans le programme j'ai a nouveau besoin des instructions du label j'ecris donc Goto mon label
mais le probleme c'est qu je veux que le label s'arrete à la 7eme instruction j'ai mis end dans le label apres la 7eme mais sa bug , mon programme ressemble a sa:
| Code |
Lbl A
(instruction 1, 2, 3, 4, 5, 6, 7)
End
(suite des instructions)
Goto A
|
ps je ne peux pas reecrire mon label A jusqu'a la 7eme instruction. Merci
---------------------- Le jour que je deteste le plus?... le dimanche, car 32 heures après j'ai cours de sport |
 |
|
| |
snap
Autorisation : Membre
Nb de messages : 364
Inscrit le : Dim 13 Fév 2011, 14:17
|
Posté le : Ven 15 Jui 2012, 22:16
|
|
|
Pour faire ça :
| Code | EffVar A
Lbl A
(instruction 1, 2, 3, 4, 5, 6, 7)
If A : Goto 1
End
(suite des instructions)
1 -> A
Goto A
Lbl 1 |
---------------------- Commence un monopoly non graphique et compte bien le finir!
Lycée de l'escaut Valenciennes 
Fan de reflets d'acide!
le meilleur jeu du monde
http://snap-le-terrible.minitroopers.fr |
 |
|
| |
thedarkprogrammeur
Autorisation : Membre
Nb de messages : 27
Inscrit le : Sam 09 Jui 2012, 21:58
|
Posté le : Ven 15 Jui 2012, 22:23
|
|
|
merci de ta reponse snap, mais j'ai rien pigé 
---------------------- Le jour que je deteste le plus?... le dimanche, car 32 heures après j'ai cours de sport |
 |
|
| |
thedarkprogrammeur
Autorisation : Membre
Nb de messages : 27
Inscrit le : Sam 09 Jui 2012, 21:58
|
Posté le : Ven 15 Jui 2012, 22:25
|
|
|
ah bah non c'est bon j'ai compris tout seul : j'ai qu'a commencer un nouveau label a partir de la 7eme instruction: sa annulera automatiquement le 1er, non?
---------------------- Le jour que je deteste le plus?... le dimanche, car 32 heures après j'ai cours de sport |
 |
|
| |
F-BVXT
Autorisation : Membre
Nb de messages : 177
Inscrit le : Dim 27 Mai 2012, 20:38
|
Posté le : Ven 15 Jui 2012, 22:26
|
|
|
Pourquoi est-ce que tu as mis un End à la 5ème ligne, sans cela fonctionne aussi, non ?
| Code | EffVar A
Lbl A
(instruction 1, 2, 3, 4, 5, 6, 7)
If A : Goto 1
(suite des instructions)
1 -> A
Goto A
Lbl 1 |
| Citer | | ah bah non c'est bon j'ai compris tout seul : j'ai qu'a commencer un nouveau label a partir de la 7eme instruction: sa annulera automatiquement le 1er, non? |
Qu'est-ce que tu entend par annuler ?
Sinon, à l'exception des menus, les étiquettes (LBL et Goto) sont à éviter. En fait, quand tu as un Goto, il va parcourir tous le programme jusqu'à trouver le LBL, même si, comme dans ton cas, celui-ci se trouve juste au-dessus. Je te conseille de lire cet article (https://tout82.pages-perso.free.fr/forum/sujet.php?sujet=2757) pour plus d'information sur les LBL et Goto.
---------------------- Il y a 10 types de personnes dans le monde : celles qui comprennent le binaire et celles qui ne le comprennent pas. |
 |
|
| |
snap
Autorisation : Membre
Nb de messages : 364
Inscrit le : Dim 13 Fév 2011, 14:17
|
Posté le : Ven 15 Jui 2012, 22:29
|
|
|
Alors je t'explique 
Tu initialise une variable. Ici, on l'appelera A d'ou le EffVar A
Le programme commence. A est égal a 0
Le programme exécute les instructions.
Après la 7ème, il regarde si A est égal à 1.
Vu que A est égal à 0, il continue.
Par contre je sais pas pourquoi ta mis un end après, normalement sa met erreur 
Ensuite, il exécute les instructions d'après.
Le programme donne la valeur 1 à A
Il retourne au début.
Après la 7eme instruction, il regarde si A=1
Vu que A=1, il va au label 1 et continue le programme
---------------------- Commence un monopoly non graphique et compte bien le finir!
Lycée de l'escaut Valenciennes 
Fan de reflets d'acide!
le meilleur jeu du monde
http://snap-le-terrible.minitroopers.fr |
 |
|
| |
thedarkprogrammeur
Autorisation : Membre
Nb de messages : 27
Inscrit le : Sam 09 Jui 2012, 21:58
|
Posté le : Sam 16 Jui 2012, 1:20
|
|
|
merci a vous tous de vos réponses, et merci de m'expliquer clairement car je ne suis qu'un simple débutant sur TI 
---------------------- Le jour que je deteste le plus?... le dimanche, car 32 heures après j'ai cours de sport |
 |
|
| |
thedarkprogrammeur
Autorisation : Membre
Nb de messages : 27
Inscrit le : Sam 09 Jui 2012, 21:58
|
Posté le : Sam 16 Jui 2012, 1:23
|
|
|
F-BVXY : je voulais dire que ca mettais fin automatiquement au 1er
snap : oui c'est vrai sa faisais erreure et je ne comprenais pas pourquoi, mais merci maintenant grace a toi mon programme va beaucoup mieux
---------------------- Le jour que je deteste le plus?... le dimanche, car 32 heures après j'ai cours de sport |
 |
|
| |
F-BVXT
Autorisation : Membre
Nb de messages : 177
Inscrit le : Dim 27 Mai 2012, 20:38
|
Posté le : Sam 16 Jui 2012, 10:21
|
|
|
| Citer | | je voulais dire que ca mettais fin automatiquement au 1er |
Ah, dans ce cas la réponse est non :
| Code | LBL 0
...
LBL 1
...
LBL 2
... |
Dans cet exemple, la calculatrice lira d'abord le LBL 0, puis le LBL 1 et enfin le LBL 2.
Pour qu'elle ne lise pas le LBL 1 et passe directement au LBL 2 tu peux faire ça :
| Code | LBL 0
...
Goto 2
LBL 1
...
LBL 2
... |
Par contre, dans ce cas le LBL 1 ne sera jamais lu.
Pour qu'il soit lu, tu as besoin d'une condition qui différenciera le premier du deuxième passage. Comme on ne connait pas ton programme on a mis 1->A à la fin de la première boucle et If A:Goto1 (If A signifie If A [différent de] 0 mais ça fait économiser deux octets). Maintenant, tu peux mettre n'importe quoi comme condition, tant qu'elle est vérifiée au second passage mais pas au premier ; donc si la "suite des instructions" modifie une valeur, alors tu n'a qu'à mettre une condition pour cette valeur.
En espérant t'avoir aidé.
---------------------- Il y a 10 types de personnes dans le monde : celles qui comprennent le binaire et celles qui ne le comprennent pas. |
 |
|
| |
thedarkprogrammeur
Autorisation : Membre
Nb de messages : 27
Inscrit le : Sam 09 Jui 2012, 21:58
|
Posté le : Sam 16 Jui 2012, 19:13
|
|
|
oui beaucoup merci, mais en parlant d'octets, qu'est ce qui necessite les moins d'octet possible: une serie de ( Disp ou un output (complet)
---------------------- Le jour que je deteste le plus?... le dimanche, car 32 heures après j'ai cours de sport |
 |
|
| |
F-BVXT
Autorisation : Membre
Nb de messages : 177
Inscrit le : Dim 27 Mai 2012, 20:38
|
Posté le : Sam 16 Jui 2012, 19:25
|
|
|
Output( va forcément demander plus d'octets que Disp puisque tu as plusieurs données à rentrer et à séparer par des virgules. Maintenant, je crois que Output( est quand même plus rapide parce qu'il n'y a pas de calcul à faire pour la calculette contrairement à Disp où il faut qu'elle calcul la ligne sur laquelle elle écrira, sans effacer le texte écrit précédemment ; c'est donc à toi de faire les calculs pour savoir où écrire le texte avec Output(.
---------------------- Il y a 10 types de personnes dans le monde : celles qui comprennent le binaire et celles qui ne le comprennent pas. |
 |
|
| |
The K
Autorisation : Membre
Nb de messages : 850
Inscrit le : Sam 15 Oct 2011, 11:07
|
Posté le : Sam 16 Jui 2012, 22:48
|
|
|
Output est plus rapide que disp. Ni doubt !
Mais bon après si t'as qu'une ligne à afficher c'est pas flagrantissime non plus ! Après lequel prend le moins ça dépend ... Faut calculer au K par K.
---------------------- La la la ...
Avez-vous pensé à regarder le manuel avant de demander conseil ? Un manuel est fait avant tout pour être consulté : MANUEL
Vous avez un problème avec l'ordinateur avec votre calculatrice ? SOLUTION EN VIDEO
Mes programmes sur le site : Produit scalaire KMorpion Puissance 4 Mastermind
Mes nouveaux programmes de calcul formel : FCarré FPrime
Projet base de données : ici mais abandonné. Trop de travail ... |
 |
|
| |
Google_AdSense
|
Publicité
|
|
|
|
| |
F-BVXT
Autorisation : Membre
Nb de messages : 177
Inscrit le : Dim 27 Mai 2012, 20:38
|
Posté le : Sam 16 Jui 2012, 22:55
|
|
|
| Citer | | Après lequel prend le moins ça dépend ... |
Comment ça, ça dépend ?
Disp "A fait 3 octets
Output(1,1,"A fait 7 octets
Je vois vraiment pas de contre exemple ? 
---------------------- Il y a 10 types de personnes dans le monde : celles qui comprennent le binaire et celles qui ne le comprennent pas. |
 |
|
| |
Google_AdSense
|
Publicité
|
|
|
|
| |
The K
Autorisation : Membre
Nb de messages : 850
Inscrit le : Sam 15 Oct 2011, 11:07
|
Posté le : Sam 16 Jui 2012, 23:06
|
|
|
Ben par exemple si t'as un écran vierge et que tu dois afficher in truc à la deuxième ligne : DIsp "","ça prend 5 octets ou output(2,1,"ça prend 6 octets
Ou sinon par exemple si t'as un truc à afficher au centre de l'écran. Qu'est ce qui prend le moins de place ? Un disp avec des espaces après les guillemets ou un output ? 
---------------------- La la la ...
Avez-vous pensé à regarder le manuel avant de demander conseil ? Un manuel est fait avant tout pour être consulté : MANUEL
Vous avez un problème avec l'ordinateur avec votre calculatrice ? SOLUTION EN VIDEO
Mes programmes sur le site : Produit scalaire KMorpion Puissance 4 Mastermind
Mes nouveaux programmes de calcul formel : FCarré FPrime
Projet base de données : ici mais abandonné. Trop de travail ... |
 |
|
| |
Google_AdSense
|
Publicité
|
|
|
|
| |
F-BVXT
Autorisation : Membre
Nb de messages : 177
Inscrit le : Dim 27 Mai 2012, 20:38
|
Posté le : Sam 16 Jui 2012, 23:23
|
|
|
Ah oui d'accord je comprend pourquoi je n'y avais pas pensé alors, parce que j'utilise Disp que quand l'emplacement du texte est pas très important.
---------------------- Il y a 10 types de personnes dans le monde : celles qui comprennent le binaire et celles qui ne le comprennent pas. |
 |
|
| |
sandro
Autorisation : Membre
Nb de messages : 1366
Inscrit le : Ven 25 Mar 2011, 22:58
|
Posté le : Mer 20 Jui 2012, 8:41
|
|
|
sinon, un autre cas où aoutput est plus rentable : quand tu veux remplire presque tout l'écran d'un seul texte:
| Code | Disp "1234567890123456","1234567890123456","1234567890123456","1234567890123456",
"1234567890123456","1234567890123456","1234567890123456 |
prend plus de place que
| Code | Output(1,1,"1234567890123456123456789012345612345678901234561234567890
123456123456789012345612345678901234561234567890123456 |
132octets pour le premier code contre 118 pour le second (en pratique, ce ne serait pas des suites de 1234567890123456 mais un texte quelconque : ça revient au même mais c'est plus dure pour moi de vérifier que je n'ai rien oublié.
Sandro
---------------------- mort à l'inutile, place à la mémoire libre et aux programmes |
 |
|
| |