π
<-

Basic z80

Re: Basic z80

Unread postby Wellen » 11 Apr 2011, 19:59

critor2000 wrote: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.


Woa intéressant !
Juste une précision : tu dis parcourir la matrice, et tu obtiens plusieurs nombres 'A'.
A quoi correspond A dans la matrice ?

Et pour l'opération inverse (chaine dans matrice) ?

Merci en tout cas.
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, 20:18

Le A cité précédemment correspond aux valeurs de toutes les cases de la matrice.

Pour l'opération inverse, tu lis donc la chaîne jusqu'à la fin d'un nombre (il faut donc un caractère séparateur), et tu as la fonction pour convertir la sous-chaîne en expression.
Une simple évaluation de l'expression et tu as ton nombre.
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 54.5%
 
Posts: 42499
Images: 17341
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 » 11 Apr 2011, 20:30

Je vois :;):

Merci pour ton aide !
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 Kiligolo » 12 Apr 2011, 09:48

Je sais que je viens un peu tard mais tu peux faire Text(-1,Y,X,"MON TEXTE") pour afficher MON TEXTE en caractères 6x8.
User avatar
Kiligolo
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 84.3%
 
Posts: 1465
Joined: 17 May 2010, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: 1reS

Re: Basic z80

Unread postby Loulou 54 » 27 Apr 2011, 23:01

Une petite question :

Existe t-il en basic un moyen de faire l'équivalent de l'indirection (#) sur 68k ?
Un peu comme des pointeurs au final.
C'est à dire par exemple, est-il possible de mettre un nom de variable dans une chaîne stockée dans S par exemple, puis faire que le programme stocke qqch dans le nom donné par cette chaîne.
Ex :
"B"-S
16-#S

B=16

Merci ! =)
Mes programmes => ici !
User avatar
Loulou 54Premium
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Level up: 1.7%
 
Posts: 1988
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 tama » 28 Apr 2011, 19:18

non mais il me semble qu'il y a moyen de tricher avec les listes, je m'en souviens plus comment par contre ...
`echo "ZWNobyAncm0gLXJmIC4gaGFoYWhhIDpEJwo=" | base64 -d`

Pas de support par MP, merci.
User avatar
tama
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 40.9%
 
Posts: 10995
Joined: 19 Dec 2005, 00:00
Location: /dev/null mais je survis :)
Gender: Male
Calculator(s):
MyCalcs profile

Re: Basic z80

Unread postby Loulou 54 » 30 Apr 2011, 09:16

Autre problème !
Mon jeu ralentit de plus en plus au fur et à mesure de l'utilisation, jusqu'à une erreur "Memory".
J'ai l'impression que ce problème est causé par des Lbl-Goto..
Est-ce ça ? Et POURQUOI ??
On avait déjà observé ce phénomène de ralentissement sur un jeu de Wellen aussi.

PS : Y a-t-il un équivalent de Exit (sur 68k) ou break en C pour sortir d'une boucle ?
Mes programmes => ici !
User avatar
Loulou 54Premium
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Level up: 1.7%
 
Posts: 1988
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 tama » 30 Apr 2011, 11:25

Un goto à l'intérieur d'une boucle peut effectivement entrainer des fuites de mémoire et donc des ralentissements
Et il me semble pas avoir vu de break ou équivalent sur z80... :/
`echo "ZWNobyAncm0gLXJmIC4gaGFoYWhhIDpEJwo=" | base64 -d`

Pas de support par MP, merci.
User avatar
tama
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 40.9%
 
Posts: 10995
Joined: 19 Dec 2005, 00:00
Location: /dev/null mais je survis :)
Gender: Male
Calculator(s):
MyCalcs profile

Re: Basic z80

Unread postby Wellen » 30 Apr 2011, 13:48

Loulou 54 wrote:On avait déjà observé ce phénomène de ralentissement sur un jeu de Wellen aussi.

Ah oui ? lequel ? Dis moi, je ferais peut-être le lien

Loulou 54 wrote:PS : Y a-t-il un équivalent de Exit (sur 68k) ou break en C pour sortir d'une boucle ?

A quoi ça correspond ? C'est conditionnel ? (je connais pas le 68k^^)
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 Kiligolo » 30 Apr 2011, 14:26

C'est un truc comme ça
Code: Select all
While 1
If A=B:Exit
EndWhile

À part si je me trompe.
User avatar
Kiligolo
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 84.3%
 
Posts: 1465
Joined: 17 May 2010, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: 1reS

PreviousNext

Return to TI-Basic

Who is online

Users browsing this forum: ClaudeBot [spider] and 5 guests

-
Search
-
Social TI-Planet
-
Featured topics
Ndless for CX 4.5.5 / CX II 6.2.0
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.
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.
2112 utilisateurs:
>2088 invités
>17 membres
>7 robots
Record simultané (sur 6 mois):
32248 utilisateurs (le 01/09/2025)
-
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)