|
|
Envoyé: 13.04.2010, 17:27
|
Constellation
enregistré depuis: mars. 2010
Messages: 71
Status: hors ligne dernière visite: 08.11.11
|
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 (6*aleatoire+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/N*100"
Disp "%"
End
je pense qu'il y a une erreur car je n'arrive pas au programme
merci de m'aider
|
|
|
|
| |
|
|
|
Envoyé: 14.04.2010, 08:31
|
Constellation
enregistré depuis: mars. 2010
Messages: 71
Status: hors ligne dernière visite: 08.11.11
|
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
|
|
|
|
|
|
Envoyé: 14.04.2010, 09:34
|
Webmaster
enregistré depuis: juil.. 2004
Messages: 2984
Status: hors ligne dernière visite: 17.05.12
|
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".
Thierry
Prof de math à Paris.
|
|
|
|
|
|
Envoyé: 14.04.2010, 10:51
|
Constellation
enregistré depuis: mars. 2010
Messages: 71
Status: hors ligne dernière visite: 08.11.11
|
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
|
|
|
|
|
|
Envoyé: 14.04.2010, 11:11
|
Constellation
enregistré depuis: mars. 2010
Messages: 71
Status: hors ligne dernière visite: 08.11.11
|
j'ai essayé en mettant end après c prend la valeur de 0 le programme me dit " fait" mais rien ne s'affiche
modifié par : arno59, 14 Avr 2010 - 11:12
|
|
|
|
|
|
Envoyé: 14.04.2010, 12:04
|
Webmaster
enregistré depuis: juil.. 2004
Messages: 2984
Status: hors ligne dernière visite: 17.05.12
|
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" ...
Thierry
Prof de math à Paris.
|
|
|
|
|
|
Envoyé: 14.04.2010, 12:35
|
Constellation
enregistré depuis: mars. 2010
Messages: 71
Status: hors ligne dernière visite: 08.11.11
|
merci je vais reessayer
|
|
|
|
|
|
Envoyé: 14.04.2010, 14:52
|
Webmaster
enregistré depuis: juil.. 2004
Messages: 2984
Status: hors ligne dernière visite: 17.05.12
|
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 ...
Thierry
Prof de math à Paris.
|
|
|
|
|
|
Envoyé: 15.04.2010, 10:10
|
Constellation
enregistré depuis: mars. 2010
Messages: 71
Status: hors ligne dernière visite: 08.11.11
|
bonjour pour la boucle je ne sais pas ou la mettre
mais j'ai essayé une autre formule mais il me met erreur pour c
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
Fin
Calculer C/N*100 (sur calculatrice je pense que ça donne partEnt(C/N*100) 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
|
|
|
|
|
|
Envoyé: 15.04.2010, 11:27
|
Webmaster
enregistré depuis: juil.. 2004
Messages: 2984
Status: hors ligne dernière visite: 17.05.12
|
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.
Thierry
Prof de math à Paris.
|
|
|
|
|
|
Envoyé: 15.04.2010, 14:35
|
Constellation
enregistré depuis: mars. 2010
Messages: 71
Status: hors ligne dernière visite: 08.11.11
|
merci de m'aider
voici la programmation que je fais
IMPUT"N=",N
C->0
FOR (I,1N)
X->ENT(6*ALEATOIRE +1)
IF X=6
THEN C->C+1
END
END
PARTENT(C/N*100)->POURCENTAGE
DISP "POURCENTAGE="
je ne sais pas si le reste est bien mais déjà le c bloque
merci d'avance
modifié par : arno59, 15 Avr 2010 - 14:41
|
|
|
|
|
|
Envoyé: 15.04.2010, 15:08
|
Webmaster
enregistré depuis: juil.. 2004
Messages: 2984
Status: hors ligne dernière visite: 17.05.12
|
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)->X
La syntaxe pour la boucle semble être plutôt : FOR(I,1,N,1)
Thierry
Prof de math à Paris.
|
|
|
|
|
|
Envoyé: 15.04.2010, 17:20
|
Constellation
enregistré depuis: mars. 2010
Messages: 71
Status: hors ligne dernière visite: 08.11.11
|
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
|
|
|
|
|
|
Envoyé: 15.04.2010, 17:29
|
Constellation
enregistré depuis: mars. 2010
Messages: 71
Status: hors ligne dernière visite: 08.11.11
|
le site donné est très bien je vais certainement trouver
|
|
|
|
|
|
Envoyé: 15.04.2010, 17:56
|
Constellation
enregistré depuis: mars. 2010
Messages: 71
Status: hors ligne dernière visite: 08.11.11
|
je ne trouve pas le bon code pour afficher le résultat
merci d'avance
|
|
|
|
|
|
Envoyé: 16.04.2010, 11:25
|
Constellation
enregistré depuis: mars. 2010
Messages: 71
Status: hors ligne dernière visite: 08.11.11
|
bonjour
je pense mettre trompé sur un point de mon raisonnement
sur la calculatrice après les 2 end j'ai mis partent(c/n*100)
mais la je ne prends que la partie entière du calcul ce qui est faux
je dois mettre c/n*100->pourcentage
mais je n'arrive toujours pas à faire afficher le résultat
|
|
|
|
|
|
Envoyé: 16.04.2010, 12:05
|
Webmaster
enregistré depuis: juil.. 2004
Messages: 2984
Status: hors ligne dernière visite: 17.05.12
|
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).
Thierry
Prof de math à Paris.
|
|
|
|
|
|
Envoyé: 16.04.2010, 13:22
|
Constellation
enregistré depuis: mars. 2010
Messages: 71
Status: hors ligne dernière visite: 08.11.11
|
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
|
|
|
|
|
|
Envoyé: 16.04.2010, 14:11
|
Webmaster
enregistré depuis: juil.. 2004
Messages: 2984
Status: hors ligne dernière visite: 17.05.12
|
Essayons d'isoler le problème.
Enlève PARTENT pour voir.
Reposte le script que tu as maintenant que je m'y retrouves ...
Thierry
Prof de math à Paris.
|
|
|
|
|
|
Envoyé: 16.04.2010, 16:55
|
Constellation
enregistré depuis: mars. 2010
Messages: 71
Status: hors ligne dernière visite: 08.11.11
|
input "N=",N
C->0
FOR (I,1,N,1)
ENT(6*ALEATOIRE+1)->X
IF X=6
THEN C+1->C
END
END
C/N*100->POURCENTAGE
DISP"POURCENTAGE=",POURCENTAGE
j'ai essayé avec C/N*100 entre les 2 END mais c'est pareil
merci pour ta patience
|
|
|
|
|
|
Envoyé: 17.04.2010, 08:46
|
Webmaster
enregistré depuis: juil.. 2004
Messages: 2984
Status: hors ligne dernière visite: 17.05.12
|
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 "-",X
Cette ligne va nous permettre de savoir quels nombres sont générés. Peut-être que le 6 n'est jamais créé ...
Thierry
Prof de math à Paris.
|
|
|
|
|
|
Envoyé: 17.04.2010, 11:26
|
Constellation
enregistré depuis: mars. 2010
Messages: 71
Status: hors ligne dernière visite: 08.11.11
|
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/n*100-> pourcentage au niveau du o
alors maintenant mon programme donne ça
INPUT "N=",N
0->C
FOR(I,1,N,1)
ENT(6*ALEATOIRE+1)->X
DISP "-",X mais j'ai également essayé " ",X
IF X=6
THEN
C+1->C
END
END
C/N*100->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/N*100->P
je ne sais plus comment faire
merci
|
|
|
|
|
|
Envoyé: 17.04.2010, 13:25
|
Webmaster
enregistré depuis: juil.. 2004
Messages: 2984
Status: hors ligne dernière visite: 17.05.12
|
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(rand*6)+1
ce qui se traduirait dans TI83 "française" par
ent(aleatoire*6)+1->X
ou bien
partent(aleatoire*6)+1->X
Alors ent ou partent ?
Thierry
Prof de math à Paris.
|
|
|
|
|
|
Envoyé: 17.04.2010, 13:36
|
Constellation
enregistré depuis: mars. 2010
Messages: 71
Status: hors ligne dernière visite: 08.11.11
|
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
modifié par : arno59, 17 Avr 2010 - 13:59
|
|
|
|
|
|
Envoyé: 17.04.2010, 14:02
|
Webmaster
enregistré depuis: juil.. 2004
Messages: 2984
Status: hors ligne dernière visite: 17.05.12
|
essaye avec "partent" plutôt que "ent"
Thierry
Prof de math à Paris.
|
|
|
|
|
|
Envoyé: 17.04.2010, 14:05
|
Webmaster
enregistré depuis: juil.. 2004
Messages: 2984
Status: hors ligne dernière visite: 17.05.12
|
Je confirme : la notice indique que la traduction de "int" est "partEnt" et non "Ent".
Le problème est sûrement là.
Thierry
Prof de math à Paris.
|
|
|
|
|
|
Envoyé: 17.04.2010, 17:12
|
Constellation
enregistré depuis: mars. 2010
Messages: 71
Status: hors ligne dernière visite: 08.11.11
|
merci pour tes indications mais le résultat reste à 0
même les copains n'y arrivent pas
|
|
|
|
|
|
Envoyé: 18.04.2010, 09:24
|
Webmaster
enregistré depuis: juil.. 2004
Messages: 2984
Status: hors ligne dernière visite: 17.05.12
|
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 !)
Thierry
Prof de math à Paris.
|
|
|
|
|
|
Envoyé: 18.04.2010, 10:13
|
Constellation
enregistré depuis: mars. 2010
Messages: 71
Status: hors ligne dernière visite: 08.11.11
|
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
|
|
|
|
|
|
Envoyé: 18.04.2010, 10:35
|
Constellation
enregistré depuis: mars. 2010
Messages: 71
Status: hors ligne dernière visite: 08.11.11
|
j'ai essayé mais là le curseur revient sur la flèche de x
Dips ALEATOIREent(6*ALEATOIRE+1)->X
je 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(6*ALEATOIRE+1)->X
IF X=6
THEN
C+1->C
END
END
DISP "POURCENTAGE="
DISP C/N*100
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
|
|
|
|
|
|
Envoyé: 18.04.2010, 11:57
|
Webmaster
enregistré depuis: juil.. 2004
Messages: 2984
Status: hors ligne dernière visite: 17.05.12
|
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(6*ALEATOIRE+1)->X
IF X=6
THEN
C+1->C
END
END
DISP "POURCENTAGE="
DISP C/N*100
Je suis donc en train de tester la fonction "ALEATOIRE". Dis-moi ce qui s'affiche. Des nombres aléatoires s'affichent correctement ?
Thierry
Prof de math à Paris.
|
|
|
|
|
|
Envoyé: 18.04.2010, 12:41
|
Constellation
enregistré depuis: mars. 2010
Messages: 71
Status: hors ligne dernière visite: 08.11.11
|
lorsque je teste le programme il me met "erreur syntaxe" au niveau du "->X donc aucun nombre aléatoire ne s'affiche.
|
|
|
|
|
|
Envoyé: 18.04.2010, 12:52
|
Webmaster
enregistré depuis: juil.. 2004
Messages: 2984
Status: hors ligne dernière visite: 17.05.12
|
Remplace ENT par PARTENT dans la ligne qui plante.
Et rajoute aussi disp " X=",X
Ce qui nous donne :
INPUT"X=",N
0->C
FOR (I,1,N,1)
Disp ALEATOIRE
PARTENT(6*ALEATOIRE+1)->X
DISP " X=",X
IF X=6
THEN
C+1->C
END
END
DISP "POURCENTAGE="
DISP C/N*100
Thierry
Prof de math à Paris.
|
|
|
|
|
|
Envoyé: 18.04.2010, 13:05
|
Constellation
enregistré depuis: mars. 2010
Messages: 71
Status: hors ligne dernière visite: 08.11.11
|
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/N*100 Utilité de cette ligne ?
Afficher "Pourcentage = "
Afficher C/N*100
Sur la calculatrice cela donne :
Input "N=", N
0->c
For (I,1,N,1)
ent(6*aléatoire+1) à mettre dans X
If X=6
Then
C+1->C
End
End
Part ent(C/N*100)->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
|
|
|
|
|
|
Envoyé: 18.04.2010, 13:42
|
Constellation
enregistré depuis: mars. 2010
Messages: 71
Status: hors ligne dernière visite: 08.11.11
|
J'ai essayé ta formule mais pour le X j'obtiens plein de 0 et de 1 et à la fin j'obtiens pourcentage= 0
|
|
|
|
|
|
Envoyé: 18.04.2010, 13:45
|
Webmaster
enregistré depuis: juil.. 2004
Messages: 2984
Status: hors ligne dernière visite: 17.05.12
|
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.
Thierry
Prof de math à Paris.
|
|
|
|
|
|
Envoyé: 18.04.2010, 17:10
|
Constellation
enregistré depuis: mars. 2010
Messages: 71
Status: hors ligne dernière visite: 08.11.11
|
je comprends
merci de ta patience
et à une autre fois peut-être
|
|
|
|