π
<-

Aide pour un programme en Axe Parser

Assembleur, Axe, C/C++, ICE...

Re: Aide pour un programme en Axe Parser

Unread postby Wellen » 03 Jan 2011, 18:10

Hein ?!
que des nombres entiers ?

Wow...
De ce point de vue là.

Oui effecivement..Mais quand je lui demande de m'afficher un nombre décimal
Disp 2.35-Dec

J'ai une chaine de symboles.. Donc il ne tronque pas les decimales,
donc il faut quand meme que je me débrouille pour avoir un nombre entier lisible qui incrémente pas trop vite non ?
Parce que c'était ça l'idée d'utiliser la partie entière : t'ajoutes des décimales, genre 0.01, mais sa se voit pas au final gràace à la partie entière et donc ta variable augmente moins vite.

J'en suis arrivé à :
Code: Select all
Repeat getkey(15)
A+1-A
If A=100
0-A
1-S
End
Disp S-Dec
End

( A est simplement une variable intermediaire )


@tama : t'es pas en train de multiplier par 1 là ? :|:
Ps : Int et Ipart sont remplacés par d'autre commandes en Axe et dans la doc ya rien dessus (nouvelle version hein)
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: Aide pour un programme en Axe Parser

Unread postby tama » 03 Jan 2011, 22:06

oui et non, en fait ça joue sur les entiers, qui n'ont pas de nombre après la virgule (nan sans blague ?) et qui donc tronquent automatiquement, si tu essaies de mettre par exemple 1,25 dans un int, le int sera ... 1 (et c'est automatiquement l'entier inférieur, même si tu fais 1,85 par exemple)
Du coup, si on prend par exemple 1,652, en le multipliant par 1000 ça donnera 1652, et en divisant par 1000 on ne garde pas la partie décimale (0,652) donc ça donnera 1, le 1000 étant là pour être sûr de ne pas garder de décimale après la virgule après avoir multiplié
Ca marche dans des langages comme le C (avec les int), je ne sais pas si ça le fait pour Axe mais tu peux toujours tenter ;)
`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%
 
Posts: 10994
Joined: 19 Dec 2005, 00:00
Location: /dev/null mais je survis :)
Gender: Male
Calculator(s):
MyCalcs profile
Class: epita ING3 \o

Re: Aide pour un programme en Axe Parser

Unread postby kindermoumoute » 03 Jan 2011, 22:48

Tatata...
Je ne comprend vraiment rien à ce que tu cherche à faire. En Axe il n'y a pas de nombre à virgule comme en TI-Basic. Tu peux au mieux avoir un nombre entre 0 et 65355 dans les variables, et le meilleur moyen d'avoir des "décimaux" est de passer par les divisions (euclidienne attention).
Tutoriel sur l'axe parser, un langage de programmation pour z80 ultra rapide et beaucoup plus facile que l'ASM !
User avatar
kindermoumouteProgrammeur
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 2.6%
 
Posts: 849
Joined: 30 Sep 2009, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: Ecole d'ingénieur informatique et industriel

Re: Aide pour un programme en Axe Parser

Unread postby Kiligolo » 04 Jan 2011, 13:22

Sinon il n'y a juste qu'a multiplier par 10^[le nombre de chiffres après la virgule]. :D:
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: Aide pour un programme en Axe Parser

Unread postby Wellen » 04 Jan 2011, 18:02

Bon peu importe les décimales.
Je résume : je voulais au départ incrémenter une variable, score, dans la boucle principale, sans qu'elle augmente trop vite et donc pour ce faire j'ai simplement adapté un petit truc à moi du basic à l'Axe.
Donc, kindermoumoute, comment aurait-il fallu faire (en Axe directement) pour "ralentir" artificiellement une augmentation de variable dans la boucle principale, donc en temps réél, donc sans rajout de pause ni de boucles internes (et donc aussi sans rajout de décimales plutôt que d'entiers puisque ça n'existe pas) ?

Je rappelle que la variable doit être visible en temps réél, et qu'elle doit augmenter de 1 tous les 200 passages dans le boucle principale.
Donc le truc : rajouter 0.01 puis multiplier par 100 à la fin ne marche pas

@tama : Oui je vois ce que tu veux dire merci :):
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: Aide pour un programme en Axe Parser

Unread postby kindermoumoute » 04 Jan 2011, 18:18

Code: Select all
:.Dans la boucle
:DS(Z,100)
:A+1=A
:End
:.On affiche A

Mais il ne faut pas oublier de donner une valeur à A en début de code.

D'autre questions ?
Tutoriel sur l'axe parser, un langage de programmation pour z80 ultra rapide et beaucoup plus facile que l'ASM !
User avatar
kindermoumouteProgrammeur
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 2.6%
 
Posts: 849
Joined: 30 Sep 2009, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: Ecole d'ingénieur informatique et industriel

Re: Aide pour un programme en Axe Parser

Unread postby metallica » 04 Jan 2011, 18:22

Je pense qu'il faut faire:
Y+1-Y/100-X
et là à chaque fois que Y atteint la centaine, ça rajoute 1 à X.
Image
Image
User avatar
metallica
Niveau 3: MH (Membre Habitué)
Niveau 3: MH (Membre Habitué)
Level up: 12%
 
Posts: 14
Joined: 20 Nov 2010, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: Terminale SSI

Re: Aide pour un programme en Axe Parser

Unread postby kindermoumoute » 04 Jan 2011, 18:32

La fonction DS est parfaitement adaptée et optimisée pour ce genre de situation.
Tutoriel sur l'axe parser, un langage de programmation pour z80 ultra rapide et beaucoup plus facile que l'ASM !
User avatar
kindermoumouteProgrammeur
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 2.6%
 
Posts: 849
Joined: 30 Sep 2009, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: Ecole d'ingénieur informatique et industriel

Re: Aide pour un programme en Axe Parser

Unread postby Wellen » 04 Jan 2011, 18:38

Okay on y est :=):
J'avais compris que DS executait l'instruction seulement lorsque la variable se décrémentait mais pas après.. en fait c'est l'inverse :#sick#:
Merci.

kindermoumoute wrote:D'autres questions ?

Volontiers ^^
La gestion de listes ne se fait pas en Axe ? J'ai essayé d'attribuer une valeur à L1(1) par exemple et ça ne marche pas :#tsss#:
*On en arrive à la phase sauvegarde du score en fait, donc si ya une autre méthode..*
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: Aide pour un programme en Axe Parser

Unread postby tama » 04 Jan 2011, 18:47

@kindermoumoute : est-ce que

DSA+1=A

est équivalent à

for(Z,1,100
A+1=A
End

?

parce que je pense plutôt qu'il cherche à incrémenter le score tous les 200 passages dans la boucle principale, et non pas attendre 200 itérations puis incrémenter la variable... c'est subtil et sûrement pas clair, mais je pensais plus à quelque chose comme :

...
// Boucle principale
...
Z+1-Z
If Z=200
Then
// Augmenter le score
0-Z
End
// Fin de la boucle principale


Pour les listes, réfères-toi à la documentation, c'est pas tout à fait les mêmes listes qu'en TI-Basic, elles ont des significations particulières
`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%
 
Posts: 10994
Joined: 19 Dec 2005, 00:00
Location: /dev/null mais je survis :)
Gender: Male
Calculator(s):
MyCalcs profile
Class: epita ING3 \o

PreviousNext

Return to Langages alternatifs

Who is online

Users browsing this forum: ClaudeBot [spider] and 4 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.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
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.
1022 utilisateurs:
>995 invités
>21 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)