Pour commencer, ton algorithme présente quelques erreurs :
Code
:entAléat(1,10)->A
:entAléat(1,10)->B
:Disp A,"X",B
:Input R
:A*B->M
:If R=M
:Then
:Disp "Vrai"
:Then //c'est "Else" qui est à mettre ici
:Disp "Faux"
:Else //aucune utilité du "Else" ici
:End //aucune utilité du "End" également
Pour ton information, "Then" et "Else" s'utilisent de la façon suivante:
Mais ce dernier algorithme peut s'écrire plus brievement:
Code
:If [+condition]:[+conséquence]
Et pour répondre à ta question, ton algorithme peut s'écrire comme ceci:
Code
:0->C
:Lbl A
:EffEcr
:entAléat(1,10->A
:entAléat(1,10->B
:Disp A,"X",B
:Imput R
:A*B->M
:If R=M
:Then
:Disp "VRAI"
:C+1->C
:Else
:Disp "FAUX"
:End
:Disp "SCORE:",C
:Pause
:Goto A //renvoie à "Lbl A"
Bien entendu le programme peut être fait avec une meilleur présentation, mais je me suis limité à réécrire ton programme en y ajoutant le réel de score.
Bonne chance, et si tu t'appelles réellement Marceau, on a le même prénom ^_^ (pas courant!)
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Dim 12 Oct 2014, 16:57
autaz : un de tes propos est ambigu, le reste est pertinent.
Je conteste seulement le fait que tu déclares le End final en tant qu'inutile
Citer : autaz
Code
:If R=M
:Then
:Disp "Vrai"
:Then //c'est "Else" qui est à mettre ici
:Disp "Faux"
:Else //aucune utilité du "Else" ici
:End //aucune utilité du "End" également
Je distingue ce qui est inutile dans tous les cas et ce qui est facultatif dans certains cas.
Lorsque l'alternative est à la fin du programme, alors l'absence de End n'a aucune conséquence visible. En revanche si ce fragment de code sans End devait être recopié à l'intérieur d'un autre programme, alors des conséquences désastreuses pourraient se produire. Exemple historique : un jour j'ai posté un programme de factorisation en nombres premiers qui forçait la sortie d'une boucle en neutralisant un End, et Persalteas l'a recopié tel quel dans son programme de maths, et ses alternatives ne fonctionnaient plus.
Lorsque tu expliques l'usage d'un If sans Then/Else/End, alors tu devrais mentionner la limitation du nombre d'actions à l'intérieur.
Code
:If A
:Then
:B
:C
:End
Code
:If A
:B
Et y ajouter la notion de juxtaposition ne pose aucun problème.
Code
:If A:B
:If A:Then:B:C:End
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)