π
<-

Probleme expr(str1

Probleme expr(str1

Unread postby PiR » 15 Mar 2015, 19:49

Bonjour,
J'essaye de faire un programme de calcul mental.
J'ai un probleme, je génère bien des calculs aléatoire mais je ne peux pas comparer l'expression de ma chaine où il y a le calcul avec celle de la réponse de l'utilisateur.
Voici le code:
Code: Select all
0->C
0->X
" ->Str5
"+-*/->Str6
ClrHome
Lbl A
randInt(1,10)->A
{1,2->L1
{A,A->L2
LinReg(a+bx) L1,L2,Y1
Equ>String(Y1,Str4
DelVar Y1
ClrList L1,L2
sub(Str4,1,length(Str4)-3->Str4
Str4+Str5->Str5
If X=0
Then
sub(Str6,randInt(1,4),1)+Str5->Str5
X+1->X
Goto A
End
Output(1,1,Str5
Input Str3
End
If expr(Str5)=expr(Str3
Last edited by PiR on 15 Mar 2015, 22:43, edited 2 times in total.
Mes programmes (tous en basic) sont ici
User avatar
PiR
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Level up: 46.9%
 
Posts: 45
Joined: 25 Feb 2015, 18:33
Gender: Male
Calculator(s):
MyCalcs profile
Class: Terminale S-SI

Re: Probleme expr(str1

Unread postby Mingerton » 15 Mar 2015, 20:15

Il n'est pas possible de stocker la flèche STO dans une chaîne de cette manière. Je pense que le bug vient de là, puisque tu fais expr de Str5 ensuite. (pardonnez moi, je devais être très fatigué pour écrire une ânerie pareille ! ^^) Enfin, je suppose que ü=STO car c'est une syntaxe courante. Je peux me tromper bien sûr.

Pense à corriger ta syntaxe d'ailleurs, c'est pas très lisible et on peut pas comprendre toutes les variables ;)
Last edited by Mingerton on 16 Mar 2015, 18:25, edited 2 times in total.
User avatar
Mingerton
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Level up: 69.6%
 
Posts: 656
Images: 2
Joined: 13 May 2014, 19:36
Location: À l'infini
Gender: Male
Calculator(s):
MyCalcs profile
Class: Américaine

Re: Probleme expr(str1

Unread postby PiR » 15 Mar 2015, 22:42

J'ai regardé et ma chaine 5 est bien du type 5+9
Le problème vient du exp(Str5

PS: effectivement j'avais pas fait attention à la syntaxe, c'est corrigé
Mes programmes (tous en basic) sont ici
User avatar
PiR
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Level up: 46.9%
 
Posts: 45
Joined: 25 Feb 2015, 18:33
Gender: Male
Calculator(s):
MyCalcs profile
Class: Terminale S-SI

Re: Probleme expr(str1

Unread postby Wistaro » 16 Mar 2015, 10:06

Le problème est résolu ?
Nouveau sur le site, ClaudeBot [spider] ? Avant de poster sur le chat et sur le forum, n'oublie pas de lire les règles. En cas de problème, tu peux m'envoyer un message, je réponds rapidement.

Liens utiles:
Image
Découvre mes programmes et mon site!
User avatar
WistaroSuper Modo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 88.5%
 
Posts: 3191
Images: 37
Joined: 25 Feb 2013, 16:21
Location: Toulouse
Gender: Male
Calculator(s):
MyCalcs profile
Class: Ingénieur en électronique
YouTube: Wistaro
Twitter: Wistaro
GitHub: Wistaro

Re: Probleme expr(str1

Unread postby Bisam » 16 Mar 2015, 11:00

Je pense que le problème vient de l'espace au début de la chaîne Str5, initialisée par " ->Str5
Si tu tapes "->Str5, cela devrait marcher.
User avatar
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 69.6%
 
Posts: 5670
Joined: 11 Mar 2008, 00:00
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile

Re: Probleme expr(str1

Unread postby Wistaro » 16 Mar 2015, 12:12

En Ti-basic la fonction expr() est pas mal buggué en fait.

Par exemple, une erreur sur cette fonction renvoie un "Erreur". Sauf que quand tu fais "Goto " pour accéder à la ligne de l'erreur, ça te renvoie vers l'écran principal, à la ligne "prgmEXEMPLE".

De plus, comme le dit Bisam, un espace en trop dans la chaîne fait planter le programme. Cela devrait, à priori, corriger le problème.
Nouveau sur le site, ClaudeBot [spider] ? Avant de poster sur le chat et sur le forum, n'oublie pas de lire les règles. En cas de problème, tu peux m'envoyer un message, je réponds rapidement.

Liens utiles:
Image
Découvre mes programmes et mon site!
User avatar
WistaroSuper Modo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 88.5%
 
Posts: 3191
Images: 37
Joined: 25 Feb 2013, 16:21
Location: Toulouse
Gender: Male
Calculator(s):
MyCalcs profile
Class: Ingénieur en électronique
YouTube: Wistaro
Twitter: Wistaro
GitHub: Wistaro

Re: Probleme expr(str1

Unread postby Bisam » 16 Mar 2015, 13:43

Ce ne sont pas des bugs à proprement parler.

"expr" sert à convertir une chaîne en expression... or en TI-Basic z80, l'espace n'a aucune signification et cause une erreur lors du parsing, ce qui est normal.

Pour ce qui est du renvoi au mauvais endroit lors d'une erreur, c'est plus étrange, mais cela vient certainement là encore du fait que le programme se modifie lui-même au moment de l'exécution de l'instruction "expr".
User avatar
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 69.6%
 
Posts: 5670
Joined: 11 Mar 2008, 00:00
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile

Re: Probleme expr(str1

Unread postby grosged » 16 Mar 2015, 15:42

On pourrait directement faire un

Code: Select all
sub("+-*/",randInt(1,4),1→Str5

et ensuite ajouter un nombre en début , et un autre (nombre) en fin de chaîne Str5
User avatar
grosgedVIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 30.2%
 
Posts: 770
Images: 75
Joined: 14 Sep 2011, 12:29
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Probleme expr(str1

Unread postby Bisam » 16 Mar 2015, 16:29

En étant malin, on peut même récupérer les deux nombres d'un seul coup avec un seul passage par LinReg...
User avatar
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 69.6%
 
Posts: 5670
Joined: 11 Mar 2008, 00:00
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile

Re: Probleme expr(str1

Unread postby grosged » 16 Mar 2015, 16:40

ça ne serait pas en ajoutant au premier nombre, le deuxième exprimé en dixièmes ?
genre 4.9
Et dans ce cas, on remplacerait le "." par l'une des opérations +-*/ ?
(Le nombre 10 poserait problème)
User avatar
grosgedVIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 30.2%
 
Posts: 770
Images: 75
Joined: 14 Sep 2011, 12:29
Gender: Not specified
Calculator(s):
MyCalcs profile

Next

Return to TI-Basic

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.
1450 utilisateurs:
>1405 invités
>39 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)