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...).
Accueil­Portail­Calendrier­FAQ­Rechercher­S'enregistrer­Membres­Groupes­Connexion
Poster un nouveau sujet   Répondre au sujetPartager | 
 

 un goto

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : 1, 2  Suivant
AuteurMessage
Emyl
Elite
Elite


Masculin 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 :(

MessageSujet: 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 ^^
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
critor2000
Modérateur
Modérateur


Masculin 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

MessageSujet: 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...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://annazoo.free.fr
Bisam
Elite
Elite


Masculin 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

MessageSujet: Re: un goto   Lun 9 Fév - 16:40

Ne peut-on pas faire quelque chose du genre :

Code:
goto expr(string(x))
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
critor2000
Modérateur
Modérateur


Masculin 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

MessageSujet: 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
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://annazoo.free.fr
tama
Animateur
Animateur


Masculin 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

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

_________________
Modérateur des salons z80

Lisez le Journal de tibank, y a du bon ! :)

Envie de nous voir IRL ? participez à la réunion Nord de tibank !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://tamast.actifforum.com/index.htm
Mic
Administrateur
Administrateur


Masculin 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

MessageSujet: Re: un goto   Lun 9 Fév - 19:17

C'est pratique quand même ces indirections # sur 68k...

_________________
Responsable de TI-BANK (http://www.ti-bank.fr)

Projet 1 : How well do you know your World ? [68k] (19%)
Projet 2 : Da Vinci Flight [68k] (0.5%)
Projet 3 : Mastermind Nspire [Nspire] (80%)
Projet 4 : Ephy Nspire [Nspire] (0%)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.ti-bank.fr
Xywez
Animateur
Animateur


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

MessageSujet: 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) ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
critor2000
Modérateur
Modérateur


Masculin 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

MessageSujet: 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...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://annazoo.free.fr
Emyl
Elite
Elite


Masculin 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 :(

MessageSujet: 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 :
Code:
X->str1
prgm(str1)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
critor2000
Modérateur
Modérateur


Masculin 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

MessageSujet: 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...)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://annazoo.free.fr
Emyl
Elite
Elite


Masculin 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 :(

MessageSujet: 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
Code:
Archive prgm0
peut-on le faire en basic ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Bisam
Elite
Elite


Masculin 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

MessageSujet: 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(".
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
critor2000
Modérateur
Modérateur


Masculin 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

MessageSujet: 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?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://annazoo.free.fr
Emyl
Elite
Elite


Masculin 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 :(

MessageSujet: 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 ^^
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
critor2000
Modérateur
Modérateur


Masculin 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

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

Code:
"":Asm(prgmRESOURCE

(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).

Code:
prgmTEMP

(lance le programme principal)

Code:
"":Asm(prgmRESOURCE

(détruit tous les programmes temporaires)


Cela te convient?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://annazoo.free.fr
 

un goto

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 2Aller à la page : 1, 2  Suivant

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Le Forum de TI-BANK.fr :: Forum TIz80 :: Programmation-
Poster un nouveau sujet   Répondre au sujet