Page 1 of 1

aide pour programme

PostPosted: 01 Jun 2016, 15:13
by moussier pain
Salut tous !
C'est mon premier post, alors excusez-moi si jamais il est pas parfait ^^

Donc : je crée un programme en TI-Basic sur ma 83premium qui à pour but de tirer au hasard une boule de couleur (toutes différentes) dans "une urne" (imaginaire) , le tout 8 fois et en éliminant à chaque fois la boule tirée.

J'ai donc réussi à réaliser le programme de base qui tire 8 boules et affiche leur couleur, mais je n'ai aucune idée de la méthode à suivre pour que les boules tirées ne puissent plus être retirées. j'ai donc besoin de votre aide pour cela, svp.

Voilà, j'espère avoir était assez clair ! ;) Merci d'avance !

Re: aide pour programme

PostPosted: 01 Jun 2016, 15:15
by Hamza.S
bonjour,

il doit y avoir une fonction qui tire avec ou sans remise, mais il faut la trouver ;)

Re: aide pour programme

PostPosted: 01 Jun 2016, 15:17
by loupiot
Tu peux par exemple stocker dans une liste le numéro des boules tirées (avec la commande augmenter liste) et faire une vérification à chaque tirage des nombres dans la liste ;
si le nombre tiré est dans la liste, alors on retire jusqu’à ce que ça ne soit lus le cas. Sinon, on le stocke dans la liste.

Re: aide pour programme

PostPosted: 01 Jun 2016, 15:20
by Hamza.S
il doit vérifier à chaque fois, ça devient lent

je crois que la fonction c'est
Code: Select all
randIntNoRep(

Re: aide pour programme

PostPosted: 01 Jun 2016, 16:28
by loupiot
oui, ça marche, ça renvois une liste avec des nombres tous différents.
D'ailleurs, j'ai remarqué une petite erreur de l'OS ;
Quand j'ouvre l'aide sur le catalogue de la fonction listentaleatsansrep, je trouve (onder, boven), alors que c'est du néerlandais

Re: aide pour programme

PostPosted: 01 Jun 2016, 17:59
by moussier pain
Merci ! je vais essayer avec randintnorep alors !

edit : je viens d'essayer, ca ne fonctionne pas :'( . j'ai mis :
Code: Select all
RandIntNoRep(1;49)->X


C'est TRES lent, genre 1sec par tirage, et ca tire tout le temps la même boules, même si je relance le programme. En fait ca affiche la dernière carte tirée quand j'avais
Code: Select all
RandInt
.

Une idée ?

Re: aide pour programme

PostPosted: 02 Jun 2016, 16:37
by Bisam
D'après le manuel, la fonction est
Code: Select all
listEntAléatSansRép(a, b, n)
obtenue dans le menu
Math
PROB
8
.
Cela renvoie une liste de n valeurs aléatoires sans répétition prises entre a et b.
J'imagine que cela renvoie une erreur si n est supérieur au nombre d'éléments compris entre a et b !

Re: aide pour programme

PostPosted: 02 Jun 2016, 18:55
by moussier pain
Bisam wrote:D'après le manuel, la fonction est
Code: Select all
listEntAléatSansRép(a, b, n)
obtenue dans le menu
Math
PROB
8
.
Cela renvoie une liste de n valeurs aléatoires sans répétition prises entre a et b.
J'imagine que cela renvoie une erreur si n est supérieur au nombre d'éléments compris entre a et b !


Merci, mais ça ne marche tjrs pas :'( Même probleme qui cité plus haut : ca tire tjrs la même carte :/ pourtant j'ai bien mis en argument (1,10,8) pour dire qu'il y a 10 boules et 8 tirages.

Mon programme sans la nouvelle fonction ressemeble à ça si ça peut aider :

Code: Select all
0→T
While T≠8
T+1→T
nbrAléatEnt(1,10)→X
If X=1
Then
Disp "JAUNE"
Else
If X=2
Then
Disp "ROUGE"
Else
If X=3
Then
Disp "BLEUE"
Else
If X=4
Then
Disp "ROSE"
Else
If X=5
Then
Disp "VIOLET"
Else
If X=6
Then
Disp "VERT"
Else
If X=7
Then
Disp "CYAN"
Else
If X=8
Then
Disp "NOIR"
Else
If X=9
Then
Disp "BLANC"
Else
Disp "ORANGE"

End
End
End
End
End
End
End
End
End
End
End