Poster un nouveau sujet Poster une réponse
programme proba
Auteur Message
luffy6
Invité
Posté le : Dim 15 Avr 2012, 15:16   Citer 

salut a tous ! je dois faire un programme qui consiste a afficher le nombre total d'invité a un anniversaire .La probabilité qu'une personne soit invité est de 0.3
Il y a 35 personnes pouvant etre inviter et ils seront numérotés de 1 a 35
Les résultat de la simulation seront une liste de 35 chiffres 0 ou 1 (1 pour invité et 0 pour non invité). On affichera le nombre total d'invité.

pouvez-vous m'aider a faire ce programme svp !
merci a toute réponse winkle.gif

  Haut de page Bas de page 
 
sandro



Autorisation : Membre
Nb de messages : 1366
Inscrit le : Ven 25 Mar 2011, 22:58
Posté le : Dim 15 Avr 2012, 15:23   Citer 


Code
seq(rand[inférieur ou égal]0.3,A,1,35
Pause Ans
sum(Ans



Après, si tu préffère, je peux faire quelquechose de plus lourd mais avec des instructions plus usuelles.

Sandro

----------------------
mort à l'inutile, place à la mémoire libre et aux programmes
 Adresse email Haut de page Bas de page 
 
luffy6
Invité
Posté le : Dim 15 Avr 2012, 15:25   Citer 

Oui je preferais quelque chose de plus lourd si possible !
merci

  Haut de page Bas de page 
 
Sangohan38



Autorisation : Membre
Nb de messages : 3293
Inscrit le : Sam 31 Déc 2005, 19:48
Posté le : Dim 15 Avr 2012, 15:34   Citer 

Je trouve sa assez simple comme programme ... A-tu cherché par toi même avant de demander car ce serai plus profitable pour toi.

M'enfin, voici le code:


Code
ClrList L1
35->dim(L1
For(A,1,35
int(rand10+1
If Ans<4
1->L1(A
End
ClrHome
Disp "NOMBRE D'INVITES:",Sum(L1



Sangohan38

 Adresse email Haut de page Bas de page 
 
Google_AdSense



Publicité    



 
sandro



Autorisation : Membre
Nb de messages : 1366
Inscrit le : Ven 25 Mar 2011, 22:58
Posté le : Dim 15 Avr 2012, 15:37   Citer 


Code
{0} -> L1
35 -> dim(L1)
For(A,1,35)
If rand[inférieur ou égal]0.3
Then
1 -> L1(A)
End
sum(L1 -> S
Disp S,L1



L1 est la liste qui s'optient en faisant [2nde][1]

C'est miex comme ça ou ça utilise encore trop d'opérations compliquées (dans ce cas, il faudra supprimer la liste et faire sans)

----------------------
mort à l'inutile, place à la mémoire libre et aux programmes
 Adresse email Haut de page Bas de page 
 
luffy6
Invité
Posté le : Dim 15 Avr 2012, 15:50   Citer 

Oui j'ai cherche ! C'est la ligne 35 -> dim(L1) que je ne savais pas faire !
Merci beaucoup Sandro et Sangohan

  Haut de page Bas de page 
 
sandro



Autorisation : Membre
Nb de messages : 1366
Inscrit le : Ven 25 Mar 2011, 22:58
Posté le : Dim 15 Avr 2012, 16:00   Citer 

tu peut aussi faire {0,0,0,0, ... ,0} -> L1 (avec un total de 35 zéros) à la place des 2 premières lignes, ça revient au même.

Sandro

----------------------
mort à l'inutile, place à la mémoire libre et aux programmes
 Adresse email Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Dim 15 Avr 2012, 17:38   Citer 

Ce problème est identique à un autre sujet récent
(histoire de puiser un maximum d'idées)

remarque : le "inférieur ou égal" versus "inférieur" ne change pas grand chose car la probabilité de rand=0.3 tend vers 0.

Le premier de sandro dans ce sujet fonctionne, mais j'ai bien envie de proposer deux autres solutions équivalentes :
Code
 // ceci

randBin(1,.3,35
Pause Ans
sum(Ans

 // ou bien cela

rand(35)<.3
Pause Ans
sum(Ans

 // je rappelle celui de SANDRO au point où j'en suis

seq(rand<0.3,A,1,35
Pause Ans
sum(Ans


Par contre le second code de sandro dans ce sujet est foireux à cause des boucles.
Soit le Then est en trop soit il manque un End. ahh.gif

Si on veut rester détaillé mais sans fioriture, voici quelque chose fortement inspiré de sandro.
Code
35->dim(L1
For(B,1,35
rand<0.3->L1(B
End
Pause L1
sum(L1



Je souris de voir le tic de sangohan38 avec la ligne "int(rand*10+1)" qui est propre à la TI82_basique. Les jeunots comme moi n'ont pas cette habitude à cause de la fonction "randInt" de ti82stat.
Que de nostalgie. winkle.gif

EDIT : j'ai corrigé quelques erreurs que j'ai commises en effectuant des copier/coller moodforlove.gif

----------------------
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)

Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store
 Adresse email Haut de page Bas de page 
 
Google_AdSense



Publicité    



 
Sangohan38



Autorisation : Membre
Nb de messages : 3293
Inscrit le : Sam 31 Déc 2005, 19:48
Posté le : Dim 15 Avr 2012, 19:06   Citer 

Je suis pas d'accord avec ton 9/20 dans le second code car sa fait une proba de 0.45 au lieu des 0.3 requis.
Et puis tu dimensionne la liste 2 au lieu de la 1 au départ.

Et tu remarquera que mon autre tic c'est décrire en anglais majoritairement et de ne jamais utiliser de chaînes. Que veux-tu je pense encore aux rares personnes ayant une 82 basique dans leurs sacs.

Sangohan38

 Adresse email Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Dim 15 Avr 2012, 19:18   Citer 

J'ai fais trop de copier/coller. Désolé. moodforlove.gif
Je corrige.

----------------------
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)

Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store
 Adresse email Haut de page Bas de page 
 
luffy6
Invité
Posté le : Dim 15 Avr 2012, 21:53   Citer 

merci a vous tous ! j'ai finalement pris celui de linkakro qui marche bien mais je ne vois pas tous les 0 et 1 j'en vois quelques un puis trois points !
ce n'est qu'un detail mais savais vous comment faire pour voir tous les 0 et 1 ?

  Haut de page Bas de page 
 
sandro



Autorisation : Membre
Nb de messages : 1366
Inscrit le : Ven 25 Mar 2011, 22:58
Posté le : Dim 15 Avr 2012, 22:07   Citer 

bah quand c'est en pause, tu défile avec gauche et droite.

----------------------
mort à l'inutile, place à la mémoire libre et aux programmes
 Adresse email Haut de page Bas de page 
 
luffy6
Invité
Posté le : Dim 15 Avr 2012, 22:11   Citer 

ok merci winkle.gif

  Haut de page Bas de page 
 
Poster un nouveau sujet Poster une réponse





  Page générée en 6 requêtes