Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Autres questions


Index du Forum » Autres questions » [Need Help] Programme Table Multiplication
Boby12 Hors ligne Membre Points: 39 Défis: 0 Message

[Need Help] Programme Table Multiplication

Posté le 19/09/2013 21:55

Bonjour tous le monde

Comme ça fait depuis le CM2 qu'on me dit que ça craint que je connaisse pas mes tables de multiplication j'ai décidé de faire un programme sur ma calto pour m’entraîner à programmer et à apprendre les table
J'ai rapidement fais le gros du code qui faisait bien ce que je voulais mais je veux le perfectionner. Cependant j'ai quelques détailles que je comprends pas trop comme: Comment gérer l'affichage du
"-Disp-" qui se met un peu au milieu de mon texte quand je lance le programme.
Mais aussi j'ai fais une grande boucle qui fait le gros du programme comme vous m'aviez dis de faire dans mon autre topic Le problème c'est quand je lui demande de s'arrêter (en appuyant sur F1) elle ne le fais tout simplement pas.

Voilà mon code dans l'état actuel des choses, je pourrais mettre le fichier en ligne si vous le désirez.


Locate 1,2,"CHOISIR TABLE"
?→T
Do
If T>0
Then T→A
Else Int (9Ran# +1 )→A
IfEnd
Int (9Ran# +1)→B
Locate 1,2,A
Locate 2,2,"x"
Locate 3,2,B
Locate 4,2,"="
AxB→C
?→D
If D≠C
Then Locate 1,4,"FAUX"
Locate 1,5,"REPONSE:"
Locate 9,5,C◢
IfEnd
F+1→F
ClrText
If D=C
Then Locate 1,4,"BIEN"◢
IfEnd
V+1→V
ClrText
LpWhile Getkey≠47
Locate 1,1,"RESULTATS JUSTES:"
Locate 18,1,V
Locate 1,2,"RESULTATS FAUX:"
Locate 17,2,F◢


Merci d'avance à ce qui vont me répondre.


Boby12 Hors ligne Membre Points: 39 Défis: 0 Message

Citer : Posté le 23/09/2013 22:45 | #


Ah non mais le G c'est moi qui l'ai foutu à la place de F dans mon programme, (parce que F je l'ai déjà utilisé)

du coup c'était plutôt

Do
Getkey→G
LpWhile G=0
LpWhile G!=47


Sinon si c'est bien à moi que tu voulais envoyer un MP, je l'ai toujours pas reçu.
Thiladon Hors ligne Membre Points: 150 Défis: 1 Message

Citer : Posté le 23/09/2013 22:53 | #


Bon et bien au final, la réponse n'en reste pas néanmoins semblable :


Do                      // On initialise la boucle
Getkey→G           // On demande une touche et on y attribue l'ID dans la variable G
LpWhile G=0        // Si G=0, la boucle se fini, sinon, elle retourne à Do
LpWhile G≠47      // Erreur : Il n'y à qu'une seule boucle ici ( un seule Do ) et G est forcément Inégal a 47 si il est égal a 0


---------------------

Mince, oui je me suis gouré de personne et j'ai envoyé le message a maliafo ._.
Maliafo Hors ligne Membre Points: 236 Défis: 27 Message

Citer : Posté le 23/09/2013 22:56 | #


S'pas grave, ça peut arriver de se tromper
Comment recouvrir la Terre avec du cuir ?
Avec la semelle de nos chaussures, on en fait autant
Thiladon Hors ligne Membre Points: 150 Défis: 1 Message

Citer : Posté le 23/09/2013 22:58 | #


Ouais fin là, paye mon insomnie quoi :x x')
Boby12 Hors ligne Membre Points: 39 Défis: 0 Message

Citer : Posté le 27/09/2013 22:07 | #


Voilà après une semaine, le programme est enfin fini, grâce à Thiladon qui m'a beaucoup aidé en MP
Voici le programme qu'il a fait en avance pour m'aider et qu'il m'a donné à la fin:


0->A~Z
Do
ClrText
"Choisir table "?->T
If T≥0 And T≤10
Then T->A
Else If T<0
Then Int (9Ran# +1)->A
IfEnd:IfEnd
Int (9Ran# +1)->B
AxB->C
Locate 3,2,"x"
Locate 4,2,B
"= "?-> D
If D!=C
Then "Faux, la bonne réponse etait :"
Locate 12,6,C
F+1->F
Else "Bonne reponse"
V+1->V
IfEnd
While Getkey
WhileEnd
Do
Getkey->G
LpWhile Not G
LpWhile G !=47
ClrText
Locate 1,1,"Bonne réponse:"
Locate 1,2,V
Locate 1,3,"Mauvaises réponses:"
Locate 1,4,F
Do
While Getkey
WhileEnd
Getkey->G
LpWhile Not G
Stop



Mais je m'en suis pas pour autant arrêté là donc voici mon code final:


Locate 7,3,"TABLE DE"
Locate 4,4,"MULTIPLICATION"
Do:LpWhile Getkey=31
Do:LpWhile Getkey!=31
ClrText
0->A~Z
ClrText
"CHOISIR TABLE "
?->T
If T>0
Then T->A
Else If T=0
Then Int (9Ran# +1)->A
IfEnd:IfEnd
Int (9Ran# +1)->B
AxB->C
Locate 2,2,A
Locate 3,2,"x"
Locate 4,2,B
Locate 5,2,"="
Locate 1,4,"SCORE:"
Locate 7,4,V-F
?-> D
If D!=C
Then "FAUX"
Locate 1,5,"REPONSE:"
Locate 9,5,C
F+1->F
Else Locate 1,4,"BONNE REPONSE"
V+1->V
IfEnd
While Getkey
WhileEnd
Do
Getkey->G
LpWhile Not G
LpWhile G !=47
ClrText
Locate 1,2,"RESULTATS JUSTES:"
Locate 18,2,V
Locate 1,3,"RESULTATS FAUX:"
Locate 17,3,F
Locate 1,5,"SCORE:"
Locate 7,5,V-F
Do
While Getkey
WhileEnd
Getkey->G
LpWhile Not G
Stop


Je vais peut être améliorer un jour le système de score pour qu'il soit plus gros. Parce que voir des trucs comme "15" en score c'est tout pourrie par rapport à des trucs comme "2354"

Merci à vous tous en tout cas, j'ai appris énormément de choses en codant ce programme avec votre aide
Positon Hors ligne Rédacteur Points: 2396 Défis: 57 Message

Citer : Posté le 28/09/2013 10:41 | #


Tant mieux, j'espère que tu sortiras de beaux programmes
Cartix Hors ligne Membre Points: 2748 Défis: 98 Message

Citer : Posté le 28/09/2013 11:36 | #


Do
While Getkey
WhileEnd
Getkey->G
LpWhile Not G

Je comprends pas trop le principe de cette boucle, normalement, il n'y aura jamais de valeurs dans G, non ?
Dark storm En ligne Labélisateur Points: 11631 Défis: 176 Message

Citer : Posté le 28/09/2013 11:37 | #


Ben si
là, c'est "tant que G=0"

du coup, G aura une valeur en sortie de boucle

Ajouté le 28/09/2013 à 11:37 :
Quoi que j'avais pas vu le dessus de la boucle
T'as raison

Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Thiladon Hors ligne Membre Points: 150 Défis: 1 Message

Citer : Posté le 28/09/2013 12:19 | #


Si on met pas la boucle au dessus, le programme va trop vite et du coup le
Getkey->G
LpWhile Not G


= la dernière touche que tu es appuyé, sans même avoir pu voir que tu devait appuyer sur une touche, ce qui fait que le score n’apparaît pas et le programme se finit sans qu'on ai vu notre score
Cartix Hors ligne Membre Points: 2748 Défis: 98 Message

Citer : Posté le 28/09/2013 17:47 | #


Je suis tout à fait d'accord, mais il est totalement illogique de mettre le while dans le do. Normalement, tu devrais faire ça :
While Getkey : WhileEnd
Do
Getkey →G
LpWhile Not G

Positon Hors ligne Rédacteur Points: 2396 Défis: 57 Message

Citer : Posté le 28/09/2013 20:21 | #


Do
Lpwhile Not Getkey


est suffisant d'ailleurs
Boby12 Hors ligne Membre Points: 39 Défis: 0 Message

Citer : Posté le 28/09/2013 23:09 | #


" il est totalement illogique de mettre le while dans le do"

Ah oui je me souviens que ça m'avais choqué moi aussi, puis j'ai complètement oublié
Thiladon Hors ligne Membre Points: 150 Défis: 1 Message

Citer : Posté le 28/09/2013 23:26 | #


Ah mais je l'avais pas mis dans le Do, ._.

Par contre je note le truc de Positon
Cartix Hors ligne Membre Points: 2748 Défis: 98 Message

Citer : Posté le 29/09/2013 12:04 | #


Oui, mais si je ne me trompe pas, au départ, il voulait faire en sorte que l'on quitte seulement en appuyant sur ESC, non ?
Boby12 Hors ligne Membre Points: 39 Défis: 0 Message

Citer : Posté le 01/10/2013 20:15 | #


Le truc de Position fonctionne

Merci encore

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 82 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd