Forum

Catégorie : Programmes
Forum : Les programmes des internautes
Vues : 888
Réponses : 5
Type : discussion
Etat : réponses autorisées

Erreur programme

kyubiiss le 01/10/2012 à 18:24
Bonjour,
Hier j'ai recopié deux programme à la main et dans les deux programmes j'ai l'erreur située au niveau d'une chainec+sto :

Programme 1 : (Ce programme ne sert pas à grand chose appart qu'il génère un code avec des 0 et des 1 qui défillent sur l'écran.)
Code
EffEcr
"0->Chaîne0
For(A,1,25
If NbrAléat>.5
Then
Chaîne0+"0->Chaîne0 "L'erreur ce fait ici au niveau du sto
Else
Chaîne0+"1->Chaîne0
End
End
Repeat codeTouche
entAléat(1,9->A
Disp sous-Chaîne(Chaîne0,A,16
End
EffEcr
Output(4,6,"Cyril
EffVar AEffVar Chaîne0
Output(1,1,"

DIM INVALIDE


Programme 2 : (Jeu : Mind)

Code
:1->dim(LMI
:Lbl 0
:ClrHome
:Menu(">>>>> MIND <<<<<","JOUER",1,"RECORD",2,"QUITTER",3
:Lbl 1
:" ->Str0
:0->A
:1->B
:For(C,1,4
:Str0+sub("123456789",randInt(1,9),1->Str0
:End
:sub(Str0,2,4->Str0
:For(C,1,4
:For(D,1,4
:If C[different]D and sub(Str0,C,1)=sub(Str0,D,1
:Goto 1
:End
:End
:Repeat E=4
:A+1->A
:Input "",Str1
:Str1+"???->Str1
:0->E
:For(C,1,4
:For(D,1,4
:If sub(Str1,C,1)[different]sub(Str0,D,1
:Output(B,12+C,"·
:End
:For(D,1,4
:If C[different]D and sub(Str1,C,1)=sub(Str0,D,1
:Output(B,12+C,"&#726;    "c'est un symbole"
:End
:If sub(Str1,C,1)=sub(Str0,C,1
:Then
:E+1->E
:Output(B,12+C,"&#9633;   "c'est un symbole"
:End
:End
:B+1->B
:If B=8
:7->B
:End
:randBin(9,0
:ClrHome
:Output(1,7,"MIND
:If A<LMI(1) or not(LMI(1
:Then
:Output(8,2,"RECORD VAINCU!
:A->LMI(1
:End
:Disp "","","SCORE:",A,"RECORD:
:Pause LMI(1
:Goto 0
:Lbl 2
:Output(1,7,"MIND
:Disp "","","","RECORD:
:Pause LMI(1
:Goto 0
:Lbl 3
:Output(4,6,"Cyril
:DelVar ADelVar BDelVar CDelVar DDelVar EDelVar Str0DelVar Str1
:Output(1,1,"

DIM INVALIDE

Donc à la ligne
Code
Str0+sub("123456789",randInt(1,9),1->Str0
une erreur ce produit au niveau du sto également. Voici ce que j'ai sur ma calculatrice : Chaîne0+sous-Chaîne("123456789",entAléat(1,9),1->Chaîne0.

Et pour le L; je suis pas sur, je suis allé dans le catalogue j'appuie sur ) et c'est le premier truc qui s'affiche et ca ressemble à ca donc... puis LMI je tape les lettre MI sur ma calculette!?
Merci
linkakro le 01/10/2012 à 18:42
Ce forum ne supporte pas les caractères spéciaux. Ni unicode, ni ascii ni utf8...

Tu dois indiquer le type d'erreur pour qu'on puisse t'aider.

&#8594; est bien un sto.
&#7480; devrait être le caractère spécial L désignant les listes personnalisées et disponible dans 2nde+stat(liste)+droite+haut ou bien 2nde+0(catalogue)+L.
Il est effectivement suivi des lettres MI pour créer la liste LMI.

Chaine0 se trouve dans var+7+haut et ne ne doit pas être confondu avec chaîne(0 qui ne veut rien dire. (chaine() se trouve dans liste et catalogue et sert à concaténer des listes et matrices)
kyubiiss le 01/10/2012 à 18:47
A ok merci
Oui je n'avais pas vu que les erreurs avaient un nom.
Alors pour le programme 1 : DIM INVALIDE
Programme 2 : DIM INVALIDE
kyubiiss le 02/10/2012 à 19:07
???
Cytropus le 02/10/2012 à 20:03
A tout hasard, essaye de refermer les guillemets après le 0 ( c'est du barbarisme pour l'optimisation mais ça peut aider à voir l'erreur cupsmiley.gif)
linkakro le 02/10/2012 à 20:46
randInt(1,9)=entAléat(1,9)
Si tu as écrit rand*int(1.9 c'est faux

Il faut bien écrire l'espace à la ligne : " "->Str0 et le second guillemet est facultatif.