π
<-
Chat plein-écran
[^]

Basic z80

Basic z80

Message non lude Loulou 54 » 02 Avr 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 !
Avatar de l’utilisateur
Loulou 54Premium
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Prochain niv.: 1.6%
 
Messages: 1985
Images: 8
Inscription: 02 Aoû 2009, 00:00
Localisation: 54, près de Metz
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Ingé Logiciel chez Amazon

Re: Basic z80

Message non lude critor » 02 Avr 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
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 45%
 
Messages: 41669
Images: 15208
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: Basic z80

Message non lude Wellen » 02 Avr 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.
Avatar de l’utilisateur
WellenPremium
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Prochain niv.: 31.8%
 
Messages: 447
Inscription: 17 Déc 2010, 00:00
Localisation: Compiègne (Picardie)
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: étudiant UTC

Re: Basic z80

Message non lude critor » 02 Avr 2011, 11:43

Wellen a écrit: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
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 45%
 
Messages: 41669
Images: 15208
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: Basic z80

Message non lude Wellen » 02 Avr 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.
Avatar de l’utilisateur
WellenPremium
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Prochain niv.: 31.8%
 
Messages: 447
Inscription: 17 Déc 2010, 00:00
Localisation: Compiègne (Picardie)
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: étudiant UTC

Re: Basic z80

Message non lude critor » 02 Avr 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
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 45%
 
Messages: 41669
Images: 15208
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: Basic z80

Message non lude Loulou 54 » 02 Avr 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 !
Avatar de l’utilisateur
Loulou 54Premium
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Prochain niv.: 1.6%
 
Messages: 1985
Images: 8
Inscription: 02 Aoû 2009, 00:00
Localisation: 54, près de Metz
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Ingé Logiciel chez Amazon

Re: Basic z80

Message non lude Wellen » 02 Avr 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.
Avatar de l’utilisateur
WellenPremium
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Prochain niv.: 31.8%
 
Messages: 447
Inscription: 17 Déc 2010, 00:00
Localisation: Compiègne (Picardie)
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: étudiant UTC

Re: Basic z80

Message non lude Wellen » 11 Avr 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.
Avatar de l’utilisateur
WellenPremium
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Prochain niv.: 31.8%
 
Messages: 447
Inscription: 17 Déc 2010, 00:00
Localisation: Compiègne (Picardie)
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: étudiant UTC

Re: Basic z80

Message non lude critor » 11 Avr 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
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 45%
 
Messages: 41669
Images: 15208
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Suivante

Retourner vers TI-Basic

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 15 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
"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.
Offre de test des nouveautés de rentrée 2024 par Casio. Enseignant(e), reçois gratuitement 1 exemplaire, à ton choix, de la Graph Light ou bien de la Graph Math+
14€ remboursés par Casio sur l'achat de ta calculatrice Graph 35 d'ici le 31 Octobre 2024
10€ remboursés par Casio sur l'achat de ta calculatrice Graph 90+E d'ici le 31 Décembre 2024
10€ remboursés par Casio sur l'achat de ta calculatrice Graph 25 d'ici le 31 Décembre 2024
8€ remboursés par Casio sur l'achat de ta calculatrice Graph Math+ d'ici le 31 Octobre 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.
3€ remboursés par Casio sur l'achat de ta calculatrice fx-92 Collège d'ici le 30 Septembre 2024
5€ de remise immédiate sur l'achat de ta calculatrice TI-83 Premium CE Edition Python chez les revendeurs partenaires
4€ de remise immédiate sur l'achat de ta calculatrice TI-82 Advanced Edition Python chez les revendeurs partenaires
3€ de remise immédiate sur l'achat de ta calculatrice TI-82 Advanced chez les revendeurs partenaires
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234567891011121314
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1316 utilisateurs:
>1300 invités
>11 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)