
Le Forum de TI-BANK.fr Le forum de la banque de programmes pour calculatrices graphiques Texas Instruments (aide débutants, résolution problèmes...). |
| | |
| Auteur | Message |
|---|
Emyl Elite


Age: 17 Classe: Terminal S ^^ Calculatrice(s): Ti-84+ TI-83+ TI-82 Messages: 212 Efficacité: 4 Localisation: Sur sa chaise (électrique) Date d'inscription: 21/12/2008
Divers Dernière note en maths: 7.5/10 ouais !! coef 1/8... oh :(
 | Sujet: un goto Lun 9 Fév - 11:25 | |
| enfin voila je voudrais savoir comment faire un goto qui évolue je m'explique : soit X le niveau du joueur, je voudrais que le monde qui l'entoure évolue (change) selon X quelque chose du genre : | Code: | Goto x Lbl x=1 ... Lbl x=3 ... Lbl x=2 ... |
bien entendue, ce qui marqué plus haut ne marche pas. je voudrais contourner le :
| Code: | If x=0:Goto 0 If x=1:Goto 1 If x=2:Goto 2 ... Lbl 0 Lbl 1 Lbl 2 |
je rappelle que je suis sur 84+ et 83+ merci d'avance ^^ |
|  | | critor2000 Modérateur


Age: 31 Classe: Professeur lycée/collège Calculatrice(s): 2xNspire (1er prix concours TI-Bank 2008), V200, 2x92+HW1, 92II, 2x92, 89HW2, 85, 2x84+SE, 2x84+, 1x83+SE, 1x83+, 2x82Stats.fr, 4x82, 76.fr, Collège+, Graph35+, Graph25+, fx-92Collège2D+, 3xHP48GX Messages: 2309 Efficacité: 24 Localisation: dans le train entre Montpellier et Nîmes (France) Date d'inscription: 25/10/2008
Divers Dernière note en maths: 14/20
 | Sujet: Re: un goto Lun 9 Fév - 11:34 | |
| Heureux de voir que tu te lances enfin dans la programmation. Malheureusement, je ne crois pas que ce soit possible... Les Lbl/Goto sont justement des étiquettes figées (statiques). Peux-tu préciser ce que tu veux faire? Il y a peut-être une solution contournant les Goto... (boucles, sous-programmes, tests...) Si c'est pour faire un menu, je fais exactement comme tu as fait... |
|  | | Bisam Elite


Age: 32 Classe: Prof de Maths Sup Calculatrice(s): Voyage 200 + TI 92 (de 1996) Messages: 792 Efficacité: 7 Localisation: Lyon Date d'inscription: 11/03/2008
Divers Dernière note en maths: 14.8/20 à la 2ème épreuve de l'agreg 2000
 | Sujet: Re: un goto Lun 9 Fév - 16:40 | |
| Ne peut-on pas faire quelque chose du genre : | Code: | goto expr(string(x)) |
|
|  | | critor2000 Modérateur


Age: 31 Classe: Professeur lycée/collège Calculatrice(s): 2xNspire (1er prix concours TI-Bank 2008), V200, 2x92+HW1, 92II, 2x92, 89HW2, 85, 2x84+SE, 2x84+, 1x83+SE, 1x83+, 2x82Stats.fr, 4x82, 76.fr, Collège+, Graph35+, Graph25+, fx-92Collège2D+, 3xHP48GX Messages: 2309 Efficacité: 24 Localisation: dans le train entre Montpellier et Nîmes (France) Date d'inscription: 25/10/2008
Divers Dernière note en maths: 14/20
 | Sujet: Re: un goto Lun 9 Fév - 18:07 | |
| Y'a pas de fonction string() sur 83/84 qui convertir un nombre en une chaîne... Ensuite, je pense que l'interpréteur Basic ne fera aucune évaluation à droite d'une commande Goto ou Lbl.
Dernière édition par critor2000 le Lun 9 Fév - 18:11, édité 1 fois |
|  | | tama Animateur


Age: 18 Classe: oui. (2ème année à l'Epita, sinon) Calculatrice(s): TI-84+, TI89 tita HW3, TI89 tita HW4 (eh oui, 3 TI :#geek#:) Messages: 10279 Efficacité: 29 Localisation: Paris ... dans un rayon de 15 km Date d'inscription: 19/12/2005
Divers Dernière note en maths: 13/20
 | Sujet: Re: un goto Lun 9 Fév - 18:10 | |
| ouép et je doute que sur 89 ça marche par contre p'tet que goto #x devrait marcher ... sur 89 (c'est l'indirection, ça existe pas sur 83+/84+) enfin là n'est pas le sujet |
|  | | Mic Administrateur


Age: 25 Classe: Prof de Maths Calculatrice(s): Voyage 200 & TI-Nspire CAS Messages: 11433 Efficacité: 13 Localisation: Orléans Date d'inscription: 07/09/2004
Divers Dernière note en maths: -/20
 | Sujet: Re: un goto Lun 9 Fév - 19:17 | |
| C'est pratique quand même ces indirections # sur 68k... |
|  | | Xywez Animateur

Age: 20 Classe: PSI Calculatrice(s): Ti 84 + SE Messages: 3877 Efficacité: 8 Localisation: Uranus Date d'inscription: 11/05/2006
Divers Dernière note en maths: ** biiiip **
 | Sujet: Re: un goto Lun 9 Fév - 20:16 | |
| je vois pas trop le problème mais bon... un if avec une condition (genre telle valeur sur une variable) ? |
|  | | critor2000 Modérateur


Age: 31 Classe: Professeur lycée/collège Calculatrice(s): 2xNspire (1er prix concours TI-Bank 2008), V200, 2x92+HW1, 92II, 2x92, 89HW2, 85, 2x84+SE, 2x84+, 1x83+SE, 1x83+, 2x82Stats.fr, 4x82, 76.fr, Collège+, Graph35+, Graph25+, fx-92Collège2D+, 3xHP48GX Messages: 2309 Efficacité: 24 Localisation: dans le train entre Montpellier et Nîmes (France) Date d'inscription: 25/10/2008
Divers Dernière note en maths: 14/20
 | Sujet: Re: un goto Lun 9 Fév - 20:41 | |
| Il trouve ça trop lourd à écrire, voilà tout... Peut-être aussi qu'il a bien plus que 3 conditions... |
|  | | Emyl Elite


Age: 17 Classe: Terminal S ^^ Calculatrice(s): Ti-84+ TI-83+ TI-82 Messages: 212 Efficacité: 4 Localisation: Sur sa chaise (électrique) Date d'inscription: 21/12/2008
Divers Dernière note en maths: 7.5/10 ouais !! coef 1/8... oh :(
 | Sujet: Re: un goto Lun 9 Fév - 21:12 | |
| ben oui il y en aurait des dizaines, voir peut être un peu plus :) je pense en effet créer des sous-programmes, mais ça fera toujours | Code: | If X=0:prgm0 If X=1:prgm1 If X=2:prgm2 If X=3:prgm3 If X=4:prgm4 ... |
ce n'est pas une perte de place ? on ne pourrais pas faire du genre (encore ^^) un peu du même genre que ce que proposait Bisam :
|
|  | | critor2000 Modérateur


Age: 31 Classe: Professeur lycée/collège Calculatrice(s): 2xNspire (1er prix concours TI-Bank 2008), V200, 2x92+HW1, 92II, 2x92, 89HW2, 85, 2x84+SE, 2x84+, 1x83+SE, 1x83+, 2x82Stats.fr, 4x82, 76.fr, Collège+, Graph35+, Graph25+, fx-92Collège2D+, 3xHP48GX Messages: 2309 Efficacité: 24 Localisation: dans le train entre Montpellier et Nîmes (France) Date d'inscription: 25/10/2008
Divers Dernière note en maths: 14/20
 | Sujet: Re: un goto Lun 9 Fév - 21:35 | |
| Très bien de penser à gagner de la place dès tes "débuts" en programmation. Tu iras loin! Ce que tu demandes, lancer un programme à partir d'une chaîne de caractères est possible, mais uniquement en assembleur. Ne prends pas peur: on te demande pas de programmer en assembleur... Si c'est ce que tu veux, on doit pouvoir te trouver rapidement un petit utilitaire assembleur tout fait qui fait ça sur 83+ et 84+. Le seul truc dommage (selon ce que tu veux faire) est que tu perds alors la compatibilité avec les calculatrices de type 83/82Stats/82Stats.fr. Il faudrait donc faire une 2ème version, en remplaçant le programme assembleur par un autre (et qui peut-être ne fonctionnera pas tout-à-fait pareil... donc quelques modifications avant et après son lancement peuvent être nécessaires...) |
|  | | Emyl Elite


Age: 17 Classe: Terminal S ^^ Calculatrice(s): Ti-84+ TI-83+ TI-82 Messages: 212 Efficacité: 4 Localisation: Sur sa chaise (électrique) Date d'inscription: 21/12/2008
Divers Dernière note en maths: 7.5/10 ouais !! coef 1/8... oh :(
 | Sujet: Re: un goto Mar 10 Fév - 12:08 | |
| ok je vais chercher. Mais chaque sous programme risque de prendre pas mal de place, et de plus on n'en n'utilise qu'un à la fois. On ne peut pas archiver les programmes en mettant peut-on le faire en basic ? |
|  | | Bisam Elite


Age: 32 Classe: Prof de Maths Sup Calculatrice(s): Voyage 200 + TI 92 (de 1996) Messages: 792 Efficacité: 7 Localisation: Lyon Date d'inscription: 11/03/2008
Divers Dernière note en maths: 14.8/20 à la 2ème épreuve de l'agreg 2000
 | Sujet: Re: un goto Mar 10 Fév - 12:33 | |
| En fait, si tu veux rendre ton programme lisible, le mieux est de faire ce que tu as proposé : utiliser un sous-programme avec un paramètre (qui sera une variable globale sur une z80... car à part en assembleur, il n'y a pas d'autres moyens de transférer une valeur d'un programme à un autre)... mais le problème sera reporté plus loin : c'est dans ce sous-programme que tu devras faire les tests ! Tu ne gagneras pas beaucoup de place (voire tu en perdras un tout petit peu) mais ce sera beaucoup plus simple pour toi de modifier ton programme par la suite ! Par ailleurs, pour revenir à mon "string(", je n'avais pas fait attention que la commande n'existait pas (toutes les autres existent : "expr(", "instring(" et "sub(" notamment) mais on peut peut-être ruser en utilisant la commande "Equ>string(". |
|  | | critor2000 Modérateur


Age: 31 Classe: Professeur lycée/collège Calculatrice(s): 2xNspire (1er prix concours TI-Bank 2008), V200, 2x92+HW1, 92II, 2x92, 89HW2, 85, 2x84+SE, 2x84+, 1x83+SE, 1x83+, 2x82Stats.fr, 4x82, 76.fr, Collège+, Graph35+, Graph25+, fx-92Collège2D+, 3xHP48GX Messages: 2309 Efficacité: 24 Localisation: dans le train entre Montpellier et Nîmes (France) Date d'inscription: 25/10/2008
Divers Dernière note en maths: 14/20
 | Sujet: Re: un goto Mar 10 Fév - 12:39 | |
| Il n'est pas possible d'archiver/désarchiver à partir d'un programme Basic (la commande est interdite par le système d'exploitation. Mais, j'ai déjà pensé moi-même à ce problème de place, car ayant déjà développé des programmes qui occupent un bon pourcentage de la mémoire vive (10Ko, 5Ko...). L'ensemble des programmes 83+/84+ que j'ai mis sur TI-Bank utilisent un petit système que j'ai développé à partir d'un utilitaire assembleur disponibles sur Internet. Cet utilitaire permet de copier un programme archivé en mémoire principale. Pourquoi copier et non désarchiver? L'archive/désarchivage peut lancer une défragmentation de la mémoire, qui est prioritaire sur l'exécution du programme, et peut prendre du temps... C'est assez embêtant. La simple copie contourne de problème. - Tous les programmes sont en mémoire d'archive sauf 2 (un programme "lanceur", et le programme assembleur pour lire la mémoire d'archive) - Le programme "lanceur" copie temporairement les programmes archivés nécessaires en mémoire principale, et lance le programme principal. - A la fin de l'exécution du programme principal, le programme "lanceur" nettoie la mémoire en effaçant les programmes temporaires. Est-ce que ce système te conviendrait? |
|  | | Emyl Elite


Age: 17 Classe: Terminal S ^^ Calculatrice(s): Ti-84+ TI-83+ TI-82 Messages: 212 Efficacité: 4 Localisation: Sur sa chaise (électrique) Date d'inscription: 21/12/2008
Divers Dernière note en maths: 7.5/10 ouais !! coef 1/8... oh :(
 | Sujet: Re: un goto Mar 10 Fév - 21:25 | |
| oui ça serait pas mal. t'aurais pas le nom du l'utilisataire pour simplifier la recherche SVP ^^ |
|  | | critor2000 Modérateur


Age: 31 Classe: Professeur lycée/collège Calculatrice(s): 2xNspire (1er prix concours TI-Bank 2008), V200, 2x92+HW1, 92II, 2x92, 89HW2, 85, 2x84+SE, 2x84+, 1x83+SE, 1x83+, 2x82Stats.fr, 4x82, 76.fr, Collège+, Graph35+, Graph25+, fx-92Collège2D+, 3xHP48GX Messages: 2309 Efficacité: 24 Localisation: dans le train entre Montpellier et Nîmes (France) Date d'inscription: 25/10/2008
Divers Dernière note en maths: 14/20
 | Sujet: Re: un goto Mar 10 Fév - 22:41 | |
| L'utilitaire assembleur s'appelle RESOURCE. La documentation est en anglais. Une fois que tu es habitué, c'est très pratique. Un maximum de 9 programmes temporaires sont gérés, sous les noms TEMP1 à TEMP9. En gros voilà la structure de ton programme lanceur: (détruit tous les programmes temporaires, si l'exécution précédente du programme a été interrompu anormalement)
| Code: | "0NOM_DU_SOUS_PROGRAMME_1":Asm(prgmRESOURCE |
(le 1er sous-programme archivé est copié en mémoire principale sous le nom TEMP1)
| Code: | "0NOM_DU_SOUS_PROGRAMME_2":Asm(prgmRESOURCE |
(le 2ème sous-programme archivé est copié en mémoire principale sous le nom TEMP2)
| Code: | "0NOM_DU_PROGRAMME_PRINCIPAL":Asm(prgmRESOURCE |
(le programme principal est copié en mémoire principale sous le nom TEMP3)
Dans tous les cas, un programme TEMP est crée, et pointe sur le dernier programme copié en mémoire (il faut donc mettre le programme principal en dernier).
(lance le programme principal)
(détruit tous les programmes temporaires)
Cela te convient? |
|  | | |
| Page 1 sur 2 | Aller à la page : 1, 2  |
| | Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |
|