|
Programmes et jeux pour calculatrices Casio Graph et calculatrice ClassPad 300, jeux casio, cours...: Forums |
Bon anniversaire à prediksimacau (29 ans)
Forum Casio
Un espace convivial pour poser vos questions ou simplement venir discuter...
Entrer
|
Forum Programmation
Toutes les discussions à propos de la programmation sur calculatrices Casio...
Entrer
|
Foire aux Questions
Les réponses aux questions les plus courantes sont ici !
Entrer
|
Auteur |
Prg à plusieurs pages : prb |
|
Kijou Membre

 Messages: 24 | Message posté: 12-02-2007 à 10:44  
Salut !
J'ai fait un programme (pour mettre des cours) avec un petit menu au début, mais dans chaque catégorie il y a plusieurs pages, je voudrais que lorsqu'on appuyes sur la fleche du bas (ou autre, peu importe) ça change la page. Et si possible quand on appuyes sur la touche du haut ça revienne à la page d'avant.
J'ai fait ceci :
Quote:
| ClrText
Locate 4,2,"F1 : Fonctions"
Locate 4,3,"F2 : Limites"
Locate 4,4,"F3 : Trucs"
Locate 4,5,"F4 : Bidules"
Locate 4,6,"F5 : Muches"
Lbl 0
Getkey=79=>Goto 1
Getkey=69=>Goto 2
Getkey=59=>Goto 3
Getkey=49=>Goto 4
Getkey=39=>Goto 5
Goto 0
Lbl 1
ClrText
Locate 1,1,"---------------------"
Locate 7,2,"FONCTIONS"
Locate 1,3,"---------------------"
Locate 1,4,"DROITE TANGEANTE :
Locate 1,5,"Y = f'(a)(x-a) ‰ f(a)"
Getkey=37=>Goto 7
Lbl 7
ClrText
"OUEP"
Stop |
|
Donc le début marche bien : Quand j'appuyes sur F1 ça va dans le Lbl 1 mais le problème c'est que la machine n'attend pas que j'appuyes sur la fleche du bas pour passer au Lbl7, elle affiche le Lbl 1 puis passe direct au 7 sans qu'on puisse lire. Que faire ?
Aidez moi please c'est urgent
|  |
PierrotLL Administrateur

 Messages: 1854 Calculatrice : Graph 85 | Message posté: 12-02-2007 à 13:26  
Tu peux mettre a chaque fin de page une boucle du genre Do
 Getkey
 Ans=28  Goto 1
 Ans=37  Goto 2
 LpWhile 1

Je te propose aussi un autre système que je trouve plus simple a mettre en place et a modifier quand tu voudras rajouter des pages.1  A
 While A
 ClrText
 If A=1
 Then "PAGE 1"
 "FONCTIONS"
 IfEnd
 If A=2
 Then "PAGE 2"
 "DERIVE"
 IfEnd
 If A=3
 Then "PAGE 3"
 "LIMITES"
 IfEnd
 Do
 Getkey
 LpWhile Ans=0
 Ans=28  A  1  A-1  A
 Ans=37  A  3  A+1  A
 Ans=47  0  A
 WhileEnd
|  |
Kijou Membre

 Messages: 24 | Message posté: 12-02-2007 à 14:40  
Merci, par contre j'ai pas compris la deusième solution, tu peux m'expliquer un peu plus, je dois mettre ça où comment, par raport à ce que j'ai déja ?
|  |
Kijou Membre

 Messages: 24 | Message posté: 12-02-2007 à 14:46  
Merci avec la première méthode ça marche nikel, par contre pour revenir à la page d'avant ça marche pas, quand j'appuyes sur la fleche du bas il va à la page suivante, mais quand j'appuyes sur haut il fait rien.
Quote:
| ClrText
Locate 4,2,"F1 : Fonctions"
Locate 4,3,"F2 : Limites"
Locate 4,4,"F3 : Trucs"
Locate 4,5,"F4 : Bidules"
Locate 4,6,"F5 : Muches"
Lbl 0
Getkey=79=>Goto 1
Getkey=69=>Goto 2
Getkey=59=>Goto 3
Getkey=49=>Goto 4
Getkey=39=>Goto 5
Goto 0
Lbl 1
ClrText
Locate 1,1,"™™™™™™™™™™™™™™™™™™™™™"
Locate 7,2,"FONCTIONS"
Locate 1,3,"™™™™™™™™™™™™™™™™™™™™™"
Locate 1,4,"DROITE TANGEANTE :"
Locate 1,5,"Y = f'(a)(x-a) + f(a)"
Do
Getkey
Ans=28=>Goto 1
Ans=37=>Goto 7
LpWhile 1
Stop
Lbl 7
ClrText
"OUEP"
Stop |
|
|  |
Kijou Membre

 Messages: 24 | Message posté: 12-02-2007 à 15:03  
J'ai compris mon erreur maintenant ça marche nikel merci de ton aide !
Par contre juste une question comme ça : Je peux pas faire de Lbl précédé d'un nombre (par exemple lbl 19) parcequ'il me fait un Arg Error ...
Comment je fais pour avoir plus de Lbl parceque j'ai plein de pages alors si j'ai que 10 Lbl ça va pas suffir, comment faire ?
|  |
Kijou Membre

 Messages: 24 | Message posté: 12-02-2007 à 16:16  
Désolé pour le mutli post mais là je suis vraiment bloqué avec l'histoire des Lbl et Goto.
J'ai déja 10 Lbl (0 à 9)
Mais il m'en faut plus, donc j'ai décidé de mettre A, mais ça ne marche pas, quand je mets à un Lbl A et un Goto A il me met Go Error.
J'ai bien essayer en donnant une valeur à A (au début du prog j'ai mis 10->A) mais ça ne fonctionnne pas non plus.
J'ai aussi essayer avec des minuscules mais il me fait une Arg Error cette fois.
Que faire ?
|  |
PierrotLL Administrateur

 Messages: 1854 Calculatrice : Graph 85 | Message posté: 12-02-2007 à 17:55  
Tu as quelle calculatrice? normalement tu peux utiliser les lettres de l'alphabet pour les Lbl. Avec le second programme que je t'avais proposer, tu peux mettre une infinité de page (enfin, pas trop quand même, juste de -10000000000 à 10000000000 ). Je t'explique comment ça marche. La variable A contient le numéro de la page qu'on regarde. Au début, on commence a la page 1, ce qui explique le 1->A au début. Ensuite, j'ai mis une boucle qui attend qu'on appuie sur une touche, n'importe laquelle. Si on appuie sur la flèche Haut, on revient a la page précédente, si on appuie sur la flèche Bas, on vas a la page suivante, si on appuie sur Exit, on quitte le programme. Comme ça, on peut faire autant de page qu'on veut, et le programme prend moins de place. C'est la technique que je préfère
|  |
Kijou Membre

 Messages: 24 | Message posté: 12-02-2007 à 18:39  
Ha ok merci j'ai tout compris !
|  |
Kijou Membre

 Messages: 24 | Message posté: 12-02-2007 à 18:49  
Uhm j'ai compris mais quand je rajoute le menu ça ne marche pas, pour la première catégorie "Fonctions" ça fonctionne, mais pour la deusième "Complexes" ça ne marche pas il me renvoie une Go Error, d'où viens le problème svp ?
ClrText
 Locate 4,2,"F1 - Fonctions"
 Locate 4,3,"F2 - Complexes"
 Locate 4,4,"F3 - Limites"
 Locate 4,5,"F4 - Bidules"
 Locate 4,6,"F5 - Muches"
 Lbl 0
 Getkey=79  Goto 1
 Getkey=69  Goto 2
 Getkey=59  Goto 3
 Getkey=49  Goto 4
 Getkey=39  Goto 5
 Goto 0
 Lbl 1
 1  A
 While A
 ClrText
 If A=1
 Then ClrText
 Locate 1,1,"---------------------"
 Locate 7,2,"FONCTIONS"
 Locate 1,3,"---------------------"
 Locate 1,6,"DROITE TANGEANTE :"
 Locate 1,7,"Y = f'(a)(x-a) + f(a)"
 IfEnd
 If A=2
 Then ClrText
 Locate 1,1,"FACTORISATION :"
 Locate 1,2,"Soit P un polynome."
 Locate 1,3,"Soit a une racine."
 Locate 1,4,"Alors :"
 Locate 1,5,"P(x) = (x-a) Q(x)"
 Locate 1,6,"Q(x) = (ax Z+bx+c)"
 Locate 1,7,"Resoudre par systeme."
 IfEnd
 If A=3
 Then ClrText
 Locate 1,1,"UNICITE DE SOLUTION :"
 Locate 1,2,"Soit f sur [a;b]."
 Locate 1,3,"Si f est derivable,"
 Locate 1,4,"strict. croi/decroi,"
 Locate 1,5,"x entre f(b) et f(a):"
 Locate 1,6,"Alors une solution"
 Locate 1,7,"unique x sur [a;b]"
 IfEnd
 Do
 Getkey
 LpWhile Ans=0
 Ans=28  A  1  A-1  A
 Ans=37  A  3  A+1  A
 Ans=47  0  A
 WhileEnd
 Stop
 Lbl 2
 1  B
 While B
 ClrText
 If B=1
 Then ClrText
 Locate 1,1,"---------------------"
 Locate 7,2,"COMPLEXES"
 Locate 1,3,"---------------------"
 Locate 1,4,"- FORME ALGEBRIQUE :"
 Locate 1,5," z = a + ib"
 Locate 1,6,"- FORME TRIGO :"
 Locate 1,7," z = [p;  ]"
 IfEnd
 If B=2
 Then ClrText
 Locate 1,1,"p = |z| =  a2+b2"
 Locate 1,2,"a = cos  x p"
 Locate 1,3,"b = sin  x p"
 Locate 1,5,"z = (p x cos  )"
 Locate 1,6," + i(p x sin  )
 IfEnd
 If B=3
 Then ClrText
 Locate 1,1,"CALCUL TRIGO :"
 Locate 1,2,"z1z2 = [p1p2;  1+  2]"
 Locate 1,3,"z1 Z = [p1 Z;2 x  1]"
 IfEnd
 Do
 Getkey
 LpWhile Ans=0
 Ans=28  B  1  B-1  B
 Ans=37  B  3  B+1  B
 Ans=47  0  B
 WhileEnd
 Stop
Voilà mon programme.
|  |
PierrotLL Administrateur

 Messages: 1854 Calculatrice : Graph 85 | Message posté: 12-02-2007 à 19:43  
Tu as du oublier de fermer un guillemet, ça empèche la calto de trouver le Lbl 2, tu trouveras ici un débugueur qui pourra surement t'aider
|  |
Kijou Membre

 Messages: 24 | Message posté: 12-02-2007 à 19:50  
Merci bien encore une fois ! ^^
|  |
emin3m95 Membre

 Messages: 208 Calculatrice : Graph 35+ | Message posté: 13-02-2007 à 08:51  
j'ai mis au point un système comme celui-ci en mode graph. Il peut contenir jusqu'à 40 pages. Et on y rajoute facilement une nouvelle page.
 |  |
Meetic
- Les règles du jeu ont changé | MeeticAffinity
|
 |
|
|
|
|