dns sur calculatrice
-
Aarno59 dernière édition par
Bonjour, j'ai de nouveau un exercice sur calculatrice TI-83 plus. Voici l'énoncé : "Avec un dé cubique équilibré numéroté de 1 à 6, pour N lancers afficher le pourcentage d'obtention du 6". Pourriez vous me dire si le raisonnement suivant est bon : For (I, 1, N)
X prend la valeur ent (6aleatoire+1)
C prend la valeur 0
If X=6
Then C prend la valeur C+1
Disp "pour"
Disp "N"
Disp "lancers, le pourcentage de tomber sur 6 est de"
Disp "C/N100"
Disp "%"
End
je pense qu'il y a une erreur car je n'arrive pas au programme
merci de m'aider
-
Aarno59 dernière édition par
mon raisonnement est-il bon
pour i variant de 1 à N
X prend la valeur aléatoire de 1 à 6
C prend la valeur de 0
si X=6 alors C prend la valeur de C+1
afficher "pour"
afficher "N"
afficher "lancers, le pourcentage de tomber sur un 6 est de "
afficher "C/N*100"
afficher "%"
merci de m'aider après je dois le transcrire sur la calculatrice
-
Salut,
L'algorithme a l'air d'être ok mais on ne voit pas la fin de ta boucle "pour i variant de 1 à N".
C'est peut-être cela qui pose problème lors de la programmation. Je ne vois pas la fin de ta boucle "for".
-
Aarno59 dernière édition par
Comment puis-je faire pour terminer la boucle ? J'ai essayé de mettre "End" après C prend la valeur C+1 mais ca ne marche pas. Ai-je lancé le dé au début de l'algorithme ? Si non, comment dois-je faire ? Merci pour ton aide
-
Aarno59 dernière édition par
j'ai essayé en mettant end après c prend la valeur de 0 le programme me dit " fait" mais rien ne s'affiche
-
D'après ce que je vois ici programme sur TI83 c'est bien le mot "end" qui doit marquer la fin de la boucle. As-tu pensé à mettre un end aussi pour la fin du "if" ?
Sinon tu peux essayer aussi une boucle "while" ...
-
Aarno59 dernière édition par
merci je vais reessayer
-
Un moyen de vérifier qu'il exécute correctement les boucles est d'insérer des commandes du type
Disp "test de la boucle"
aux endroits stratégiques ...
-
Aarno59 dernière édition par
bonjour pour la boucle je ne sais pas ou la mettre
mais j'ai essayé une autre formule mais il me met erreur pour csaisir N
c prend la valeur 0
pour I allant de 1 à N
X prend la valeur d'un entier aléatoire entre 1 et 6
Si X=6
Alors
C prend la valeur C+1
Fin
Fin
Calculer C/N100 (sur calculatrice je pense que ça donne partEnt(C/N100) prend la valeur P
Afficher P=
Fin
Quand je lance le programme, il revient sur "C prend la valeur de 0"
Merci de m'aider
-
L'algorithme est bon. Il s'agit donc probablement d'une erreur de syntaxe.
Poste plutôt ton script que l'algorithme. Mais je ne te promets rien quant à l'aide que je peux t'apporter, ne connaissant pas spécifiquement ce langage de programmation.Encore une nouvelle piste : essaye d'enlever le end final. Je n'en vois pas dans les programmes de la page Xmaths.
-
Aarno59 dernière édition par
merci de m'aider
voici la programmation que je fais
IMPUT"N=",N
C->0
FOR (I,1N)
X->ENT(6ALEATOIRE +1)
IF X=6
THEN C->C+1
END
END
PARTENT(C/N100)->POURCENTAGE
DISP "POURCENTAGE="
je ne sais pas si le reste est bien mais déjà le c bloque
merci d'avance
-
Essaye de taper plutôt :
0->C et C+1->C (d'après le lien que je t'ai donné ça s'écrit dans cet ordre)
de même :
ENT(6*ALEATOIRE +1)->XLa syntaxe pour la boucle semble être plutôt : FOR(I,1,N,1)
-
Aarno59 dernière édition par
merci effectivement ça marche
j'aurai dû le deviner car pour l'opération on le met à l'envers
mais j'ai encore un problème il ne m'affiche pas le résultat
je mets DISP"POURCENTAGE="
DISP "P"
mais il n'affiche pas de chiffre
j'ai essayé en mettant après PARTENT....
POURCENTAGE->P
et ensuite DISP "POURCENTAGE="
DISP "P"
mais c'est pareil
je vais essayer d'autres trucs
merci pour ton aide
-
Aarno59 dernière édition par
le site donné est très bien je vais certainement trouver
-
Aarno59 dernière édition par
je ne trouve pas le bon code pour afficher le résultat
merci d'avance
-
Aarno59 dernière édition par
bonjour
je pense mettre trompé sur un point de mon raisonnement
sur la calculatrice après les 2 end j'ai mis partent(c/n100)
mais la je ne prends que la partie entière du calcul ce qui est faux
je dois mettre c/n100->pourcentage
mais je n'arrive toujours pas à faire afficher le résultat
-
Pour afficher ton pourcentage, j'ai trouvé (toujours sur la même page) la syntaxe : disp "face",F
Donc pour toi :
Disp "Le pourcentage est ", POURCENTAGE
(entre les guillemets on demande seulement l'affichage de texte, après la virgule l'affichage de la valeur de la variable qui s'appelle POURCENTAGE).
-
Aarno59 dernière édition par
merci pour les renseignements
mais le resultat qui s'affiche est toujours 0
j'ai essayé en mettant la ligne c/n*100->pourcentage avant les 2 fins mais rien ne va
j'ai contacté ma prof de math pour avoir un coup de pouce par msn
elle m'a répondu en me demandant l'utilité de cette ligne mais si on ne la met pas on ne peut pas connaitre le pourcentage
je suis complétement perdu déjà que les maths c'est pas mon point fort
merci encore pour ton aide
-
Essayons d'isoler le problème.
Enlève PARTENT pour voir.Reposte le script que tu as maintenant que je m'y retrouves ...
-
Aarno59 dernière édition par
input "N=",N
C->0
FOR (I,1,N,1)
ENT(6ALEATOIRE+1)->X
IF X=6
THEN C+1->C
END
END
C/N100->POURCENTAGE
DISP"POURCENTAGE=",POURCENTAGEj'ai essayé avec C/N*100 entre les 2 END mais c'est pareil
merci pour ta patience
-
Remplace C->0 par 0->C (je t'ai expliqué ça plus haut)
Rajoute une ligne de debuggage sous ENT(6*ALEATOIRE+1)->X :
disp "-",XCette ligne va nous permettre de savoir quels nombres sont générés. Peut-être que le 6 n'est jamais créé ...
-
Aarno59 dernière édition par
bonjour
pour le 0->C je l'avais bien tapé sur la calculatrice mais mal retranscrit
j'ai essayé mais j'obtiens des 1 et le programme revient sur c/n100-> pourcentage au niveau du o
alors maintenant mon programme donne ça
INPUT "N=",N
0->C
FOR(I,1,N,1)
ENT(6ALEATOIRE+1)->X
DISP "-",X mais j'ai également essayé " ",X
IF X=6
THEN
C+1->C
END
END
C/N100->P
DISP"POURCENTAGE =",P
le programme affiche que des 1
si je mets pourcentage en entier il revient toujours sur le o j'ai donc opté pour C/N100->P
je ne sais plus comment faire
merci
-
Mon interprétation : si la machine ne t'affiche que des 1, c'est normal que tu obtiennes une fréquence des 6 qui vaut 0 à la fin.
L'erreur viendrait donc de cette ligne : ENT(6*ALEATOIRE+1)->X puisque X vaut apparemment toujours 1.
Il faudrait donc chercher dans la notice d'utilisation (que je n'ai pas) comment on utilise ces fonctions ...
Sinon sur la page de Xmaths, j'ai trouvé dans le dernier programme (pour simuler un lancé de dé !) cette ligne :
int(rand6)+1
ce qui se traduirait dans TI83 "française" par
ent(aleatoire6)+1->X
ou bien
partent(aleatoire*6)+1->XAlors ent ou partent ?
-
Aarno59 dernière édition par
J'ai essayé de mettre ent(aleatoire*6)+1 mais je me retrouve toujours avec 0 en résultat
je dois partir je verrais avec les copains s'ils ont trouvé
merci pour ton aide et je continue à chercher
-
essaye avec "partent" plutôt que "ent"
-
Je confirme : la notice indique que la traduction de "int" est "partEnt" et non "Ent".
Le problème est sûrement là.
-
Aarno59 dernière édition par
merci pour tes indications mais le résultat reste à 0
même les copains n'y arrivent pas
-
et les X restent toujours à 1 ?
Rajoute Disp ALEATOIRE juste avant ENT(6*ALEATOIRE+1)->X
Je pense que le problème est dans la génération du nombre aléatoire.(Si tu en as marre, on peut laisse tomber là. Pour moi le fait que les copains n'y arrivent pas n'a jamais été un argument pour abandonner !)
-
Aarno59 dernière édition par
c'est vrai je continue
je vois le truc et je te dis mais je dois rendre mon dns demain
les autres exo m'ont posé moins de problème
merci
-
Aarno59 dernière édition par
j'ai essayé mais là le curseur revient sur la flèche de x
Dips ALEATOIREent(6*ALEATOIRE+1)->Xje me suis demandé s'il ne calcule pas C/N*100 avec le 0->C
comme programme maintenant j'ai
INPUT"X=",N
0->C
FOR (I,1,N,1)
Disp ALEATOIRE ENT(6ALEATOIRE+1)->X
IF X=6
THEN
C+1->C
END
END
DISP "POURCENTAGE="
DISP C/N100
mais le fait qu'il reveint sur ->X je n'ai pas de résultat
j'ai essayé de mettre la valeur de X en dehors de la boucle juste après la valeur de c mais ça ne donne rien
-
Je voulais que tu rajoutes le code sur une ligne à part ^^
Ce sont des lignes pour débogger qu'on pourra enlever quand on aura compris le problème.Cela donne donc :
INPUT"X=",N
0->C
FOR (I,1,N,1)
Disp ALEATOIRE
ENT(6ALEATOIRE+1)->X
IF X=6
THEN
C+1->C
END
END
DISP "POURCENTAGE="
DISP C/N100Je suis donc en train de tester la fonction "ALEATOIRE". Dis-moi ce qui s'affiche. Des nombres aléatoires s'affichent correctement ?
-
Aarno59 dernière édition par
lorsque je teste le programme il me met "erreur syntaxe" au niveau du "->X donc aucun nombre aléatoire ne s'affiche.
-
Remplace ENT par PARTENT dans la ligne qui plante.
Et rajoute aussi disp " X=",XCe qui nous donne :
INPUT"X=",N
0->C
FOR (I,1,N,1)
Disp ALEATOIRE
PARTENT(6ALEATOIRE+1)->X
DISP " X=",X
IF X=6
THEN
C+1->C
END
END
DISP "POURCENTAGE="
DISP C/N100
-
Aarno59 dernière édition par
Saisir N
C prend la valeur 0
Pour I allant de 1 à N
X prend la valeur d'un entier aléatoire entre 1 et 6
Si X=6
Alors
C prend la valeur C+1
Fin du Si
Fin du Pour
Pourcentage prend la valeur C/N100 Utilité de cette ligne ?
Afficher "Pourcentage = "
Afficher C/N100Sur la calculatrice cela donne :
Input "N=", N
0->c
For (I,1,N,1)
ent(6aléatoire+1)
à mettre dans X
If X=6
Then
C+1->C
End
End
Part ent(C/N100)->Pourcentage
A quoi sert cette ligne ?
Disp "POURCENTAGE="
Disp "C/N*100"Voici ce que ma prof m'a retourné après avoir corrigé mon exercice
-
Aarno59 dernière édition par
J'ai essayé ta formule mais pour le X j'obtiens plein de 0 et de 1 et à la fin j'obtiens pourcentage= 0
-
Bon on arrête là arno59 puisque ce fil est devenu un dialogue de sourds.
Si tu as une question précise, je peux par contre y répondre.
-
Aarno59 dernière édition par
je comprends
merci de ta patience
et à une autre fois peut-être