Texte dans une matrice, Ti 83+ Texas
Guillaume20
-
ccm81 Messages postés 10909 Date d'inscription Statut Membre Dernière intervention -
ccm81 Messages postés 10909 Date d'inscription Statut Membre Dernière intervention -
Salut! Je cherche a faire une base de données des personnes de ma classe. Je programme en Basic directement sur ma Ti83+ Texas. J'ai réussi a stocker leur age, leur sexe, leur classe, etc... Mais je bloque sur un truc : comment stocker leurs noms? Est-il possible de stocker du texte dans une matrice? Ou alors y a t-il un moyen de convertir un nombre en texte, et vice-versa? Sinon, si vous avez une alternative (avec des listes par exemple?).
Merci d'avance!
Merci d'avance!
A voir également:
- Texte dans une matrice, Ti 83+ Texas
- Texte de chanson gratuit pdf - Télécharger - Vie quotidienne
- Transcription audio en texte word gratuit - Guide
- Excel cellule couleur si condition texte - Guide
- Boyaa texas poker - Télécharger - Cartes
- Insérer une image dans word sans bouger le texte - Guide
8 réponses
Bonjour
Je crois que tu vas devoir stocker tes noms dans une variable chaine de caractères str1, str2, ... Ma vielle TI83+ n'en dispose que de 10
Tu as ensuite les fonctions chaines
Accès par VARS/Strings
"TOTO" STO str1 pour stocker TOTO dans str1
length(str1) = nb de caractères de str1
InString(str1,str2) = rang du premier caractère de str2 dans str1
str1+str2 pour concaténer str1 et str2
sub(str1,d,n) = sous chaine de str1 commnençant au rang d et de longueur n
etc ...
Bonne programmation
Je crois que tu vas devoir stocker tes noms dans une variable chaine de caractères str1, str2, ... Ma vielle TI83+ n'en dispose que de 10
Tu as ensuite les fonctions chaines
Accès par VARS/Strings
"TOTO" STO str1 pour stocker TOTO dans str1
length(str1) = nb de caractères de str1
InString(str1,str2) = rang du premier caractère de str2 dans str1
str1+str2 pour concaténer str1 et str2
sub(str1,d,n) = sous chaine de str1 commnençant au rang d et de longueur n
etc ...
Bonne programmation
Non, ni dans les matrices, ni dans les listes
Il va te falloir jouer avec des chaines de noms du type
TOTO;TITI;TUTU;TATA
Et en prenant le même nombre de caractères pour chaque nom, ça te facilitera l'accès à un nom
Bon courage
Il va te falloir jouer avec des chaines de noms du type
TOTO;TITI;TUTU;TATA
Et en prenant le même nombre de caractères pour chaque nom, ça te facilitera l'accès à un nom
Bon courage
Oui, tu les nommes comme tu veux, mais je te conseille de leur donner à tous le même nombre de caractères
ex1 avec avec un séparateur éventuel "*" entre les noms
"*A01*A02*A03*A04" sto str1
et si tu veux avoir accès au N=2ième nom de str1
sub(str1,2+4*(N-1),3) sto str2
ex2 sans séparateur éventuel "*"
"A01A02A03A04" sto str1
et si tu veux avoir accès au N=2ième nom de str1
sub(str1,1+3*(N-1),3) sto str2
Bonne programmation
ex1 avec avec un séparateur éventuel "*" entre les noms
"*A01*A02*A03*A04" sto str1
et si tu veux avoir accès au N=2ième nom de str1
sub(str1,2+4*(N-1),3) sto str2
ex2 sans séparateur éventuel "*"
"A01A02A03A04" sto str1
et si tu veux avoir accès au N=2ième nom de str1
sub(str1,1+3*(N-1),3) sto str2
Bonne programmation
Je crois que j'ai mal compris ta question
1. Je peut créer des str avec des noms du genre "titi"?
Oui en majuscules
2. Si oui, est-ce que je peut les nommer avec un numéro (ex : "A1")?
non, les 10 variables chaines sont nommées "en dur" str1, str2, ..., str0, tu ne peux pas changer leur nom
3. je pourrais avoir plus d'explication
l'idée (message 5) est de mettre la liste des noms à la queue leu leu, dans une variable chaine, éventuellement séparés par un séparateur (j'ai mis une *) et s'ils ont le même nombre de caractères (les noms) il est assez simple de récupérer un nom avec son rang dans la chaine (mon exemple avec les noms A01, A02, etc ...), sinon c'est plus laboreiux
1. Je peut créer des str avec des noms du genre "titi"?
Oui en majuscules
2. Si oui, est-ce que je peut les nommer avec un numéro (ex : "A1")?
non, les 10 variables chaines sont nommées "en dur" str1, str2, ..., str0, tu ne peux pas changer leur nom
3. je pourrais avoir plus d'explication
l'idée (message 5) est de mettre la liste des noms à la queue leu leu, dans une variable chaine, éventuellement séparés par un séparateur (j'ai mis une *) et s'ils ont le même nombre de caractères (les noms) il est assez simple de récupérer un nom avec son rang dans la chaine (mon exemple avec les noms A01, A02, etc ...), sinon c'est plus laboreiux
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Un exemple

- Ecran du haut, le programme CHOIXNOM
tire un numéro N au hasard (de 1 à 5), on affiche ce numéro, puis on extrait le nom numéro N dans str1 qu'on met dans str2, et qu'on affiche
- Ecran du milieu, on met la liste des 5 noms dans str1 avec * comme séparateur mais tous les noms ont 3 caractères
- Ecran du bas. Une exécution du programme
Le nombre 2 a été tiré
le 2ième nom ALB est extrait dans str1 et mis dans str2
Bonne suite

- Ecran du haut, le programme CHOIXNOM
tire un numéro N au hasard (de 1 à 5), on affiche ce numéro, puis on extrait le nom numéro N dans str1 qu'on met dans str2, et qu'on affiche
- Ecran du milieu, on met la liste des 5 noms dans str1 avec * comme séparateur mais tous les noms ont 3 caractères
- Ecran du bas. Une exécution du programme
Le nombre 2 a été tiré
le 2ième nom ALB est extrait dans str1 et mis dans str2
Bonne suite
Sans problème, j'ai quelques souvenirs avec plus de 500 caractères, mais attention à ne pas saturer la mémoire
Au passage tu peux écrire un bout de programme pour entrer les noms et les mettre un à un dans str1, ce sera plus fiable que de les entrer en un seul coup
Au passage tu peux écrire un bout de programme pour entrer les noms et les mettre un à un dans str1, ce sera plus fiable que de les entrer en un seul coup
je t'explique
str1 commence par une étoile (séparateur)
les noms sont tous séparés par une étoile
2 = rang du premier caractère du premier nom de la liste
3 = nombre de caractères d'un nom
4 = idem+1 pour tenir compte du séparateur "*"
pour obtenir le nom de rang N dans str1
sub(str1,2+(N-1)*4+2,3)
En bref, pour N=1, on commence au caractère de rang 2, puis pour passer au nom suivant, on décale de 4 rangs
str1 commence par une étoile (séparateur)
les noms sont tous séparés par une étoile
2 = rang du premier caractère du premier nom de la liste
3 = nombre de caractères d'un nom
4 = idem+1 pour tenir compte du séparateur "*"
pour obtenir le nom de rang N dans str1
sub(str1,2+(N-1)*4+2,3)
En bref, pour N=1, on commence au caractère de rang 2, puis pour passer au nom suivant, on décale de 4 rangs
Joli problème de programmation et d'arithmétique
à l'aide de la fonction sub(str,debut,longueur)
N étant le n° du prénom P à modifier dans la liste str1
1. il te faut définir en fonction de N
- la partie gauche PG, de str1 jusqu'à l'étoile qui précède P
- la partie droite PD, de str1 qui commence à l'étoile qui suit P et qui finit à la fin de str1
tout ceci étant à tester très sérieusement avant de passer au 2
2. PR étant le prénom de remplacement
remplacer str1 par PG + PR + PD
RQ. Il faudra peut être ajouter une * au bout de str1, TI83 n'aime pas les variables str vides
Bon courage
à l'aide de la fonction sub(str,debut,longueur)
N étant le n° du prénom P à modifier dans la liste str1
1. il te faut définir en fonction de N
- la partie gauche PG, de str1 jusqu'à l'étoile qui précède P
- la partie droite PD, de str1 qui commence à l'étoile qui suit P et qui finit à la fin de str1
tout ceci étant à tester très sérieusement avant de passer au 2
2. PR étant le prénom de remplacement
remplacer str1 par PG + PR + PD
RQ. Il faudra peut être ajouter une * au bout de str1, TI83 n'aime pas les variables str vides
Bon courage
en tout cas merci!