π
<-
Chat plein-écran
[^]

Basic z80

Basic z80

Unread postby Loulou 54 » 02 Apr 2011, 11:23

Bon voilà, je m'attaque au Basic z80 pour le concours ! :D:

Je voulais savoir comment on fait pour afficher un nombre dans l'écran graphique ?
Ou comment transformer un nombre en chaîne de caractères, sachant que la fonction equstring( ne s'applique pas aux variables, mais aux Yx !

Merci bien ! :#zen#:
Mes programmes => ici !
User avatar
Loulou 54Premium
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Level up: 1.6%
 
Posts: 1985
Images: 8
Joined: 02 Aug 2009, 00:00
Location: 54, près de Metz
Gender: Male
Calculator(s):
MyCalcs profile
Class: Ingé Logiciel chez Amazon

Re: Basic z80

Unread postby critor » 02 Apr 2011, 11:33

2 solutions:

- faire un algorithme qui étudie le nombre chiffre par chiffre et crée la chaîne (besoin de diverses boucles, dont certaines peuvent être économisées/accélérées par utilisation du logrithme décimal)

- le plus simple et rapide: créer une variable Yx contenant ce nombre (programme de Tle ES - il faut faire une régression linéaire de données statistiques bien choisies pour enregistrer une équation de droite dont l'un des 2 paramètres sera ce nombre - tu convertis en chaîne et tu découpes)


AUTOCALC utilise cette dernière solution dans le sous-programme Z1NUMSTR.
http://tiplanet.org/index.php?mod=ar ... voirid=981
A adapter...
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 45.3%
 
Posts: 41740
Images: 15259
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Basic z80

Unread postby Wellen » 02 Apr 2011, 11:35

Pour afficher dans l'ecran graphique, j'utilise Text(coord vert.,coord hor.,"Mon texte")
tu n'as qu'à remplacer "Mon texte" par ta variable S, genre Text(13,25,S
Les guillemets c'est pour la chaine de caractères mais ça je pense que t'as compris ^^

Les coordonnées sont en pixels (62*94), ( 0,0 en haut à gauche ) et Text( est ici :
:f21: :f43: :f102:
La procrastination, c'est rigolo.
User avatar
WellenPremium
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 31.8%
 
Posts: 447
Joined: 17 Dec 2010, 00:00
Location: Compiègne (Picardie)
Gender: Male
Calculator(s):
MyCalcs profile
Class: étudiant UTC

Re: Basic z80

Unread postby critor » 02 Apr 2011, 11:43

Wellen wrote:Pour afficher dans l'ecran graphique, j'utilise Text(coord vert.,coord hor.,"Mon texte")
tu n'as qu'à remplacer "Mon texte" par ta variable S, genre Text(13,25,S
Les guillemets c'est pour la chaine de caractères mais ça je pense que t'as compris ^^


Tu n'as pas du utiliser souvent Text( pour afficher un nombre alors...
Text( ne comprend pas les nombres aussi bien que Disp.
Il y a plein d'inconvénients et d'impossibilités...
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 45.3%
 
Posts: 41740
Images: 15259
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Basic z80

Unread postby Wellen » 02 Apr 2011, 11:54

Ca marche assez bien pour moi..

Tu veux parler du fait que text( affiche le premier chiffre du nombre et pas son dernier à l'endroit indiqué, et donc que ca décale tout lors de passage au centaines et milliers ?
La procrastination, c'est rigolo.
User avatar
WellenPremium
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 31.8%
 
Posts: 447
Joined: 17 Dec 2010, 00:00
Location: Compiègne (Picardie)
Gender: Male
Calculator(s):
MyCalcs profile
Class: étudiant UTC

Re: Basic z80

Unread postby critor » 02 Apr 2011, 12:01

De façon non exhaustive:

- Text( ignore le mode courant (normal, scientifique, ingénieur, nombre de décimales) et affiche le nombre comme il veut sans aucun contrôle (particulièrement embêtant si tu t'es tapé toute une interface graphique, et que tu dois afficher dans un cadre bien précis)

- Text( ne pemet pas d'afficher sous forme frationnaire

- Text( ne sait pas afficher les nombres complexes

- Text( ne sait pas afficher les listes ou matrices

- ...

(et tout ça ne cause aucun problème avec Disp)


D'où l'intérêt de convertir les nombres en chaînes, car les chaînes on sait les contrôler.
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 45.3%
 
Posts: 41740
Images: 15259
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Basic z80

Unread postby Loulou 54 » 02 Apr 2011, 12:16

Bah je pense que je vais me contenter de l'afficher avec Text car il ne s'agit que d'un entier ! :):
Merci à vous deux ! :;):
Mes programmes => ici !
User avatar
Loulou 54Premium
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Level up: 1.6%
 
Posts: 1985
Images: 8
Joined: 02 Aug 2009, 00:00
Location: 54, près de Metz
Gender: Male
Calculator(s):
MyCalcs profile
Class: Ingé Logiciel chez Amazon

Re: Basic z80

Unread postby Wellen » 02 Apr 2011, 13:29

Oui voilà en fait moi j'ai fait surtout des jeux et pas des programmes "calculatoires" donc je n'avais besoin que d'entiers.
Mais c'est vrai que vu comme ça..
La procrastination, c'est rigolo.
User avatar
WellenPremium
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 31.8%
 
Posts: 447
Joined: 17 Dec 2010, 00:00
Location: Compiègne (Picardie)
Gender: Male
Calculator(s):
MyCalcs profile
Class: étudiant UTC

Re: Basic z80

Unread postby Wellen » 11 Apr 2011, 19:02

Dites, est-ce possible de sauver le contenu d'une matrice dans une chaine de caractères ? Ou par un autre moyen ?

Parce que pour un jeu en Basic, necessitant 1 matrice pour le dessin d'un niveau.. Bah on se retrouve vite bloqué non ?

S'il était possible de sauver le contenu d'une matrice et de faire l'inverse(injecter une chaine dans une matrice), on n'aurait plus besoin que d'une voire deux matrices que l'on effacerait à chaque niveau..

Dommage qu'il y ait pas de variable locales à un programme en Basic (quoi il y en a ? où ça ?)
La procrastination, c'est rigolo.
User avatar
WellenPremium
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 31.8%
 
Posts: 447
Joined: 17 Dec 2010, 00:00
Location: Compiègne (Picardie)
Gender: Male
Calculator(s):
MyCalcs profile
Class: étudiant UTC

Re: Basic z80

Unread postby critor » 11 Apr 2011, 19:16

Oui, il est possible de sauvegarder une matrice dans une chaîne.

Tu pars donc d'une chaîne vide.
Il te faut parcourir la matrice, et tu convertis chaque nombre en chaîne,avant de le concaténer (addition) à ta super chaîne.

Pour la conversion nombre chaîne, il n'y a pas de fonction pour faire ça sur z80.
Il faut donc un petit programme.
L'algorithme "naturel" sera extrêmement lent.

Il faut donc se montrer malin, ce que je fais dans le sous-programme ZNUMSTR d'AutoCalc.

Si on doit convertir un nombre A, créons 2 liste:

L1: {0,A}
L2: {1,A}

L'équation de la droite reliant les points de coordonnées (0;A) et (1;A) est y=0*x+A.

Il suffit donc de demander une régression linéaire LinReg(), qui va enregistrer cette équation dans Y1.

Y1 est une variable de type "EXPR", et il y a sur z80 une instruction de conversion des expressions en chaînes de caractères.

Et voilà, tu as ton nombre sous forme de chaîne.
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 45.3%
 
Posts: 41740
Images: 15259
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Next

Return to TI-Basic

Who is online

Users browsing this forum: No registered users and 11 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Reprise de ton ancienne fx-92 Collège ou Graph 25/35/90 à 3€ peu importe son état. Même non fonctionnelle et donc invendable, même ancienne Graph 35 non conforme aux programmes (pas de Python), même ancienne Graph 25/35 inutilisable aux examens (pas de mode examen) et donc invendable. Etiquette de retour fournie, pas de frais de port à payer.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
12345
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1363 utilisateurs:
>1346 invités
>11 membres
>6 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)