Problème avec mes LIST
Posté le 19/05/2014 23:10
Bonjour, je suis en train de faire un programme, mais depuis quelques heures je suis bloque et je pense que c'est à cause d'une de mes List... Je vous demande votre aide en dernier recours car la j'en peux plus...!
Mon programme bug vers la fin à "Pv7 (e/π→4):" avec un "erreur argument"...
6ãDim List 1Ù
For 1ãZ To 6Ù
Ù
7ãDim List 2Ù
For 2ãY To 7Ù
Ù
8ãDim List 3Ù
For 3ãX To 8Ù
Ù
9ãDim List 4Ù
For 4ãW To 9Ù
Ù
10ãDim List 5Ù
For 5ãV To 10Ù
Ù
11ãDim List 6Ù
For 6ãU To 11Ù
Ù
12ãDim List 7Ù
For 7ãT To 12Ù
Ù
13ãDim List 8Ù
For 8ãS To 13Ù
Ù
14ãDim List 9Ù
For 9ãC To 14Ù
Ù
15ãDim List 10Ù
For 10ãB To 15Ù
Ù
Ù
"Hr Ti (%)"?ãList 1[Z]Ù
"Pvs de Ti"?ãList 2[Y]Ù
"Pour #E547 + OU pour (-)"Ù
"Pvs < (>) a Tx"?ãList 5[V]Ù
"Pvs > (<) a Tx"?ãList 6[U]Ù
"#E543 entre #E547Tx et #E547<"?ãList 7[T]Ù
"#E543#E553 tableau"?ãList 8[S]Ù
"Pvs de Tx (Pa):"Ù
List 5[V]-(List 5[V]-List 6[U]ÁList 8[S])ÀList 7[T]Ø
"Hr Te (%)"?ãList 3[X]Ù
"Pvs de Te"?ãList 4[W]Ù
"Valeur Pvint ET Pvex"Ù
"Hr=PvÁPvsãPv=HrÀPvs"Ù
"Pv int:"Ù
List 1[Z]ÀList 2[Y]ãIØ
"Pv ext:"Ù
List 3[X]ÀList 4[W]ãJØ
"epaisseur 1"?ãKÙ
"æ materiau 1"?ãLÙ
"Resi "?ãMÙ
"epaisseur 2"?ãNÙ
"æ materiau 2"?ãOÙ
"Resi "?ãPÙ
"epaisseur 3"?ãQÙ
"æ materiau 3"?ãRÙ
"Resi "?ãSÙ
"epaiss 4"?ãList 9[C]Ù
"æ materiau 4"?ãUÙ
"Resi"?ãVÙ
"epaisseur 5"?ãList 10[B]Ù
"æ materiau 5"?ãXÙ
"Resi "?ãYÙ
"Res diffu vapeur eauRd (m’.s.Pa/Kg)"Ù
(KÁL)+M+(NÁO)+P+(QÁR)+S+(List 9[C]ÁU)+V+(List 10[B]ÁX)+YãZØ
Ù
"Debit vapeur eau quitraverse la paroi Qmv (Kg/m’.s)"Ù
((I-J)ÁZ)ãAØ
Ù
"Pres partielle de vapeur aux interface:"Ù
"Pv int=Pv surf int"Ù
"Pv1 (e/æã1):"Ù
I-(AÀ(KÁL))ãBØ
Ù
"Pv2 (Rã1):"Ù
B-(AÀM)ãGØ
Ù
"Pv3 (e/æã2):"Ù
G-(AÀ(NÁO))ãHØ
Ù
"Pv4 (Rã2):"Ù
H-(AÀP)ãCØ
Ù
"Pv5 (e/æã3):"Ù
C-(AÀ(QÁR))ãDØ
Ù
"Pv6 (Rã3):"Ù
D-(AÀS)ãEØ
Ù
"Pv7 (e/æã4):"Ù <----------BUG ICI "erreur argument"
E-(AÀList 9[C]ÁU)ãFØ
Ù
"Pv8 (Rã4):"Ù
F-(AÀV)ãTØ
Ù
"Pv9 (e/æã5):"Ù
T-(AÀ(List 10[B]ÁX))ãWØ
Ù
"Pv10 (Rã5):"
merci d'avance
Citer : Posté le 23/05/2014 22:22 | #
Ceci n'existe pas.
La syntaxe est
pour le premier élément de la première liste.
graph 25+pro Invité
Citer : Posté le 23/05/2014 22:40 | #
Merci
Mais pour la deuxième liste je fais quoi ?
Citer : Posté le 23/05/2014 22:41 | #
Si tu veux accéder à la deuxième liste ? Il suffit de changer le numéro de liste :
donne le premier élément de la deuxième liste.
graph 25+pro Invité
Citer : Posté le 23/05/2014 22:44 | #
D'accord merci
graph 25+pro Invité
Citer : Posté le 23/05/2014 22:51 | #
En fait maintenant elle me met
Erreur dimension
Veux tu le programme entier ?
Citer : Posté le 23/05/2014 22:52 | #
Je voix que tu anticipes bien
graph 25+pro Invité
Citer : Posté le 23/05/2014 22:53 | #
Ben en fait j'ai mis 20 min a taper ça et la je suis complètement pommé dur ce programme
Citer : Posté le 23/05/2014 22:57 | #
Faisons simplement.
Si tu as une erreur dimension, c'est que tu as dépassé la taille de la liste, c'est-à-dire que tu essayes d'accéder à un élement qui n'existe pas (forcément, si tu dépasses le maximum ).
graph 25+pro Invité
Citer : Posté le 23/05/2014 23:04 | #
Voilà la fin du jeu si tu veux voir un peu :
For 1→Z To 200↵
Next↵
Int (100S+W÷5)→S↵
ClrText↵
Locate 6,3,”Score:”↵
Locate 13,3,S↵
If S>Mat F[1,1]↵
Then S→ Mat F[1,1]↵
Locate 5,5,”HIGHSCORE !!!”↵
Lbl Z↵
For 5→Q To 17↵
Locate Q,5,” “↵
Q=6Locate 5,5,”H”↵
Q=7Locate 6,5,”I”↵
Q=8Locate 7,5,”G”↵
Q=9Locate 8,5,”H”↵
Q=10Locate 9,5,”S”↵
Q=11Locate 10,5,”C”↵
Q=12Locate 11,5,”O”↵
Q=13Locate 12,5,”R”↵
Q=14Locate 13,5,”E”↵
Q=16Locate 15,5,”!”↵
If Q=17↵
Then Locate 16,5,”!”↵
Goto Z↵
IfEnd↵
Q=5Locate 17,5,”!”↵
Getkey=31Break↵
Next↵
Prog “FALLDOWN”↵
IfEnd↵
If S=Mat F[1,1]↵
Then While Getkey31↵
Locate 7,5,”HIGHSCORE”↵
Locate 4,7,”Already exists”↵
Locate 4,7,” “↵
WhileEnd↵
Prog “FALLDOWN”↵
IfEnd↵
Return↵
Lbl S↵
ClrText↵
Locate 4,4,”Highscore:”↵
Locate 15,4,Mat F[1,1]↵
Return↵
Lbl H↵
ClrText↵
Locate 2,3,”<− Left”↵
Locate 13,3,”Right −>”↵
Locate 4,6,”[ALPHA] → Pause”↵
Locate 4,7,”[SHIFT] → Play”↵
Return↵
Je l'ai représenté sans remplacer les matrices par les listes mais sur ma calculette elle y sont les listes
Merci d'avance et bon courage si tu trouve
graph 25+pro Invité
Citer : Posté le 23/05/2014 23:08 | #
Donc ce n'est pas par rapport au locate mais aux listes ?
Alors je met quoi ?
Citer : Posté le 24/05/2014 08:15 | #
À moins que je me trompe, ici tu n'utilises qu'une seule case de la matrice, donc à la limite une variable suffirait.
Mais de manière générale, voilà comment on utilise des listes.
Initialisation
Supprime la liste N si elle existe. La crée ensuite avec une longueur de L éléments, par défaut initialisés à 0.
Tu peux aussi utiliser la commande Seq pour des initialisations plus complexes.
Accès et écriture
Donne la valeur contenue à l'index I de la liste L. Renvoie une erreur argument si on dépasse la taille de la liste (fixée à l'initialisation).
Suppression
S'il y a autre chose que tu ne comprends pas, regarde ici.
Citer : Posté le 24/05/2014 08:22 | #
@Graph25+ Pro : utilise la balise code , surtout quand le programme est long. Merci
Vitesse des fonctions en Basic Casio | 7 days CPC | Casio Universal Wiki | Tutoriel Basic Casio
>>> Give me a click Brother <<< >>> Teste mon générateur de mots nouveaux <<<
>>> Random Youtube Video <<<
graph 25+pro Invité
Citer : Posté le 24/05/2014 11:16 | #
Merci donc si je comprend bien au lieu de "List 1[1]" je met pour
if S>Dim list F
then S→List F
ou
then S→List F[1]
Citer : Posté le 24/05/2014 11:20 | #
En général tu connaît la taille de tes listes, donc ça va.
Regarde où est précisément le curseur lorsque tu as ton erreur argument. S'il est sûr un appel de liste, vérifie que l'index est correct.
graph 25+pro Invité
Citer : Posté le 24/05/2014 11:26 | #
quand j'appuie sur exit le curseur est la
locate10,3,S
et il est entre le 3 et la virgule
graph 25+pro Invité
Citer : Posté le 24/05/2014 11:32 | #
donc si le curseur se situe au locate c'est que l'erreur argument n'est pas aux listes mais au locate ? mais je ne vois pas pourquoi
Citer : Posté le 24/05/2014 11:32 | #
Tu n'as pas oublié un guillement fermant plus haut ?
graph 25+pro Invité
Citer : Posté le 24/05/2014 11:36 | #
Non tous les guillemets sont bien en place et aucun n'est pas fermé ou pas ouvert. c'est bizarre
mais juste en dessous de ce locate il y a cette commande :
{1,1}→List F
Citer : Posté le 24/05/2014 11:38 | #
Cette commande est correcte.
Si le curseur est arrêté sur un Locate, c'est que l'un de ses paramètres est invalide. Mais S... ?
graph 25+pro Invité
Citer : Posté le 24/05/2014 11:41 | #
le S est pour le score et maintenant le curseur se situe la:
{1,1}→List F
et il est entre la list et le F
ce serait donc cette commande qui pose problème ?
Citer : Posté le 24/05/2014 11:43 | #
Il n'y a que 26 listes. Essaie
pour vérifier qu'il est bien compris entre 1 et 26 inclus.