[Ex] Révision de maths (tables)

Partagez vos scripts, et vos applications AutoIt.
Règles du forum
.
Répondre
Avatar du membre
Fish
Niveau 5
Niveau 5
Messages : 178
Enregistré le : sam. 23 oct. 2010 19:28
Localisation : Devant mon ordinateur.
Status : Hors ligne

[Ex] Révision de maths (tables)

#1

Message par Fish »

Voici le code d'un petit programme que fait réciter les tables aléatoirement avec des Inputbox, il y a 20 question et une note sur 20...

Dites moi ce que vous en pensez!

Code : Tout sélectionner

Global $compteur,$enter,$mul1,$mul2,$point,$reponse
$compteur = 0
$point = 0
call ("start")
Func start ()
$mul1 = Random (4,9,1) ; Choisit un nombre aléatoire.
$mul2 = Random (4,9,1) ; Un deuxième.
$enter = InputBox ("Revision 1.0 by Fish-Panai","combien font "&$mul1&" X "&$mul2&" ??") ; Montre l'Inputbox avec les nombres aléatoires saisis plus hauts.
if @error = 1 then Exit ; Si on appui sur "Cancel", sa quitte.
$compteur = $compteur + 1 ; On augmente le compteur de questions.
if $compteur = 20 then Call ("fin") ; Si c'est la 20ème question, on passe à la partie note.
$reponse = $mul1 * $mul2 ; On calcule la bonne réponse.
If $enter = $reponse Then call ("good") ; Si la réponse est correcte on lance la fonction good.
    MsgBox (0,"Non","mauvaise reponse, la reponsse était "&$reponse&"!!") ; Si la condition si-dessus n'est pas remplie
 alors on dit qu'on c'est trompé et on affiche la solution.
    Call ("start") ; Question suivante!
EndFunc ; Pas la peine de commenter...
func good () ; Si on a juste!
    MsgBox (0,"Bien joué!!" ,"Bonne reponse!!") ;...
    $point = $point + 1 ; On incrémente le compteur de bonne réponse (à la fin cela fera la note).
    Call ("start") ; Question suivante.
EndFunc ;...
Func fin ()
    MsgBox (0,"Fini!!","Le test est fini, votre note est de: "&$point&"/20.") ; On affiche la note.
    Exit ; On quitte.
EndFunc
 
Cordialement,
Fish-panai.
P.S (Pas Salé): Vive le poisson pané.
Avatar du membre
timmalos
Niveau 11
Niveau 11
Messages : 1970
Enregistré le : dim. 18 mai 2008 15:16
Status : Hors ligne

Re: [Ex]Révision de maths (tables)

#2

Message par timmalos »

Sans critiquer le programme, en soit y'a une tres mauvaise utilisation de la memoire. Vous programmez comme je le faisais en TI-BASIC, avec des GOTO et des Labels, mais cette programmation est terminée depuis bien longtemps. Prenez un crayon et un papier, et parcourez votre script. Regardez ce qu'il fait , la fonction Start est appelée récursivement. Au lieu de mettre sur 20 vous mettez sur 1000, un petit bot pour repondre plus vite, et le pc plante :P

Bref, essayez de refaire ce script sans JAMAIS utiliser call()
Avatar du membre
Fish
Niveau 5
Niveau 5
Messages : 178
Enregistré le : sam. 23 oct. 2010 19:28
Localisation : Devant mon ordinateur.
Status : Hors ligne

Re: [Ex] Révision de maths (tables)

#3

Message par Fish »

Bonjours timmalos.

Merci de cette astuce fort instructive, je m'attelle à cette tache :) ...

Part contre comment je vais faire? En utilisant que des If c'est sa?

Edit : C'est bon j'ai trouvé comment faire et effectivement timmalos, cela rend mon script plus court et plus concis, plus clair et moins gourmand en mémoire. Je vous remercie!

Sinon voila le nouveau :

Code : Tout sélectionner

;=====================|Variables|=======================
Global $compteur,$enter,$mul1,$mul2,$point,$reponse
$compteur = 0
$point = 0
;==================|Révision de maths|==================
while 1
$mul1 = Random (4,9,1) ; Choisit un chiffre au hasard.
$mul2 = Random (4,9,1) ; Choisit un autre chiffre au hasard.
$reponse = $mul1 * $mul2 ; Calcule les deux chiffres contenus dans les variables.
$enter = InputBox ("Révision 1.0 By Fish-Panai","combien font "&$mul1&" X "&$mul2&" ??") ; Pose la question.
if @error = 1 then Exit ; Si l'utilisateur appui sur "Cancel", le programme se ferme.
$compteur = $compteur + 1 ; On incrémente le compteur pour bien avoir à la fin 20 questions.
if $compteur = 20 then ; On vérifie si le compteur est à 20 pour finir le test.
    MsgBox (0,"Fini!!","Le test est fini, votre note est de: "&$point&"/20.") ; Si c'est le cas on affiche la note.
    Exit ; On quitte le programme (toujours si c'est fini).
ElseIf $enter = $reponse Then ; Si la réponse correcte est entrée alors...
    MsgBox (0,"Bien joué!!" ,"Bonne reponse!!") ; On affiche la Msgbox bien joué!
    $point = $point + 1 ; On incrémente la variable des points.
Else ; Sinon.
    MsgBox (0,"Non","mauvaise reponse, la reponsse était "&$reponse&"!!") ; C'est que la réponse est fausse, on affiche la Msgbox contenant la réponse.
EndIf ; Fin de la condition.
WEnd ; Fin de la boucle.
 
Cordialement,
Fish-panai.
P.S (Pas Salé): Vive le poisson pané.
Colin117
Niveau 5
Niveau 5
Messages : 114
Enregistré le : jeu. 18 nov. 2010 17:57
Localisation : Vers là bas !
Status : Hors ligne

Re: [Ex] Révision de maths (tables)

#4

Message par Colin117 »

Salut, j'ai trouver ton programme bien amusant alors j'ai nettoyer ton code (enfin a ma façon ^^' ), et je l'ai améliorer avec un For au lieu d'un While, avec plusieurs fin possible :
► Afficher le texte
► Afficher le texte
Avatar du membre
Fish
Niveau 5
Niveau 5
Messages : 178
Enregistré le : sam. 23 oct. 2010 19:28
Localisation : Devant mon ordinateur.
Status : Hors ligne

Re: [Ex] Révision de maths (tables)

#5

Message par Fish »

Merci même si il y a quelques fautes d'orthographe :lol: .
Cordialement,
Fish-panai.
P.S (Pas Salé): Vive le poisson pané.
Colin117
Niveau 5
Niveau 5
Messages : 114
Enregistré le : jeu. 18 nov. 2010 17:57
Localisation : Vers là bas !
Status : Hors ligne

Re: [Ex] Révision de maths (tables)

#6

Message par Colin117 »

En effet, l'orthographe n'est pas mon fort ^^'
► Afficher le texte
Avatar du membre
bloodwolff
Membre émérite
Membre émérite
Messages : 655
Enregistré le : ven. 18 avr. 2008 22:36
Localisation : Québec
Status : Hors ligne

Re: [Ex] Révision de maths (tables)

#7

Message par bloodwolff »

Fish a écrit :Merci même si il y a quelques fautes d'orthographe :lol: .
En regardant seulement les 2 premières lignes de ton code :roll:

Code : Tout sélectionner

$mul1 = Random (4,9,1) ; [strike]Choisit[/strike] Choisis un chiffre au hasard.
$mul2 = Random (4,9,1) ; [strike]Choisit[/strike] Choisis un autre chiffre au hasard.

Avec sa je sens que je vais me faire corriger mes scripts ! :lol:
Compte skype : bloodwolfff
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [Ex] Révision de maths (tables)

#8

Message par pierrotm777 »

Alors la, j'adore.

Une bonne idée de jeu dans la voiture pour réviser avant l'entrevue avec le patron pour la prochaine augmentation ! :P
Avatar du membre
zeshrek
Niveau 10
Niveau 10
Messages : 984
Enregistré le : mer. 17 nov. 2010 09:31
Localisation : Sur ma chaise
Status : Hors ligne

Re: [Ex] Révision de maths (tables)

#9

Message par zeshrek »

bloodwolff a écrit :
Fish a écrit :Merci même si il y a quelques fautes d'orthographe :lol: .
En regardant seulement les 2 premières lignes de ton code :roll:

Code : Tout sélectionner

$mul1 = Random (4,9,1) ; [strike]Choisit[/strike] Choisis un chiffre au hasard.
$mul2 = Random (4,9,1) ; [strike]Choisit[/strike] Choisis un autre chiffre au hasard.
Avec sa je sens que je vais me faire corriger mes scripts ! :lol:
Avec 'ça' !


Allez hop, ça, c'est fait !
-------------->[] Trop tard, je suis déjà sorti
Si vis pacem para bellum
Avatar du membre
Fish
Niveau 5
Niveau 5
Messages : 178
Enregistré le : sam. 23 oct. 2010 19:28
Localisation : Devant mon ordinateur.
Status : Hors ligne

Re: [Ex] Révision de maths (tables)

#10

Message par Fish »

@ Zeshrek : :lol: :lol: Et autrement tu pense quoi du piti script??
Cordialement,
Fish-panai.
P.S (Pas Salé): Vive le poisson pané.
Répondre