| echantillonage (tirage de boule) |
| Auteur |
Message |
monsaibert
Invité
|
Posté le : Mar 10 Avr 2012, 17:48
|
|
|
Problème
Simuler un tirage de boule:
dans une urne on a 60 boules blanches,10boules rouges, 30 boules noires.
on tire une boule.
simuler 500 fois / etablir les 3 frequences.
J'ai fait un essais
.....
For(I,1,500
entAleat(1,100-> P
Si P < ou= 10
then
R+1->R (pour compter les rouges)
......là celà marche- le problème vient apres..
Si P > 10 et P < ou= à 40
then
N+1 -> N (pour compter les noires) là celà coince.
........
Tu as compris la methode ?..de 1 à 10 pour pour les rouges/ de 10 à 40 pour les noires , de 40 à 100 pour les blanches.
Autrement dit est-ce qu'un SI de ce type
" Si P > 10 et P < ou= à 40" peut marcher ?
|
| |
|
| |
darkmory
Autorisation : Membre
Nb de messages : 131
Inscrit le : Jeu 07 Jan 2010, 22:13
|
Posté le : Mar 10 Avr 2012, 21:32
|
|
|
sa marche tout à fait je suis curieux de voir le code final...
---------------------- chuck norris peut jouer au tout dernier prince of persia sur une calto
chuck norris peut ecrire tres vite et tres bien avec une psp
Cours de programmation via le fofo ici |
 |
|
| |
sandro
Autorisation : Membre
Nb de messages : 1366
Inscrit le : Ven 25 Mar 2011, 22:58
|
Posté le : Mar 10 Avr 2012, 23:09
|
|
|
Ton problème vient je crois du fait que tu ne met pas de FiinSi à la fin de tes Si, mais pas de Sinon non-plus
---------------------- mort à l'inutile, place à la mémoire libre et aux programmes |
 |
|
| |
monsalbert
Invité
|
Posté le : Mer 11 Avr 2012, 15:00
|
|
|
Merci à tous deux. C'est bon.
Bravo sandro! effectivement les finSi m'ont fait des misères, de même les else..
pour darkmory :
input K ( nombres de tirages)
0 -> R
0 -> N
0-> B
For(I,1,K
entAleat(1,100 -> P (boule tirée de 1 à 100)
If P <ou= 10
then
R+1 ->R
end
If P > 10 et P<ou= 40
then
N+1->N
end
If P > 40 et P <ou= 100
then
B+1 -> B
end
end
Disp R,N,B (somme :100)
|
| |
|
| |
linkakro
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
|
Posté le : Mer 11 Avr 2012, 19:05
|
|
|
Excellent, c'est rigoureux et valable dans de nombreux languages.
Mais on peut alléger les structures des tests en éliminant les Then et End facultatifs.
J'ai aussi supprimmé une condition sans influence.
| Code | Input K
0 -> R
0 -> N
0 -> B
For(I,1,K
entAléat(1,100 -> P
If P <ou= 10
R+1 ->R
If P>10 et P <ou= 40
N+1->N
If P>40
B+1 -> B
End
Disp R,N,B |
PS : Ah, les Then... Cela me marque de nostalgie car c'est le premier problème qui m'a mené sur ce forum.
---------------------- 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 |
 |
|
| |
monsaibert
Invité
|
Posté le : Ven 13 Avr 2012, 17:21
|
|
|
Merci Linka de tes felicitations! C'est mon premier code officiel fait tout seul!Un bon encouragement.
je remarque
- tu ne mets pas les then. Sont-ils toujours facultatifs?
- de meme tu ne mets aucun end aux Si . Sont-ils facultatifs?
Le seul end est au For? Mais lui il s'arrête à K( valeur de l'echantillon )de toutes façons.
Un End est obligatoire pour fermer un programme dans tous les cas? ..avant les Disp pour voir le travail.
|
| |
|
| |
Sangohan38
Autorisation : Membre
Nb de messages : 3293
Inscrit le : Sam 31 Déc 2005, 19:48
|
Posté le : Ven 13 Avr 2012, 18:55
|
|
|
Les Then/else/end sont facultatifs quand il n'y a qu'une instruction après le if. Par contre quand on ouvre une boucle (While ou for par exemple) il faut forcément la refermée pour retourner au début d'où sa présence ici.
Sangohan38
|
 |
|
| |
Google_AdSense
|
Publicité
|
|
|
|
| |
linkakro
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
|
Posté le : Ven 13 Avr 2012, 19:01
|
|
|
L'algorithme valable dans tous les languages pour un SI :
| Code | SI ... // test
Alors
// actions
Sinon // facultatif
// actions
FinSI |
Cela se traduit litéralement en TI-Basic :
| Code | If ... // test
Then
// actions
Else // facultatif
// actions
End |
Remarque : la TI n'utilise qu'un seul type de "End" pour toutes les boucles.
Prenons maintenant le cas où il n'y a PAS de Else et UNE SEULE action.
La TI admet alors une syntaxe particulière, propre à TI.
| Code | If ... //test
Then
// une seule action
End
///////////// cela se simplifie de la manière suivante :
If ... // test
... // l'unique action |
Maintenant une boucle comme le For
| Code | ... // actions
For( ...
// actions
End
... // autres actions pour la fin du programme, éventuellement rien |
---------------------- 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 |
 |
|
| |
monsaibert
Invité
|
Posté le : Sam 14 Avr 2012, 12:41
|
|
|
Merci pour ces precisions.
|
| |
|
| |