Inscription / Connexion Nouveau Sujet
Niveau seconde
Partager :

Simuler le lancer d'un dé (Algorithme)

Posté par
ophelie59230
28-12-09 à 18:58

Bonjour j'aurais besoin d'aide s'il vous plaît, je n'arrive pas à faire cet exercice, je propose 2 solutions à la fin. Merci d'avance.
Enoncé: a) écrire un algorithme en langage naturel qui simule n lancers d'un dé équilibré
        b) compléter l'algorithme par l'affichage du nombre de fois où l'on obtient la face numérotée 6 lors des n lancers

Solutions: a)n est le nombre du dé
              entrée: saisir S
              initialisation: S prend la valeur zéro
              traitement: Pour n allant de 1 à 6
                            | S prend la valeur S+n
                          Fin Pour
              sortie: afficher S

OU     n est le nombre de lancers de dé
              entrée: saisir n
              initialisation: S prend la valeur zéro
              traitement: Pour n allant de 1 à ?
                            | f prend la valeur d'un entier aléatoire de 1 à 6
              sortie: afficher f
b)je ne trouve pas, pouvez-vous me corriger au a) et peut être que je trouverais après. Merci encore.

Posté par
Coll Moderateur
re : Simuler le lancer d'un dé (Algorithme) 28-12-09 à 21:22

Bonjour,

La deuxième proposition me plaît beaucoup plus (je réponds ainsi parce qu'il y a de nombreuses manières de faire ! )

Ce programme, écrit avec Algobox, semble donner satisfaction :

1   VARIABLES
2     i EST_DU_TYPE NOMBRE
3     n EST_DU_TYPE NOMBRE
4     f EST_DU_TYPE NOMBRE
5   DEBUT_ALGORITHME
6     LIRE n
7     POUR i ALLANT_DE 1 A n
8       DEBUT_POUR
9       f PREND_LA_VALEUR round(0.501+5.998*random())
10      AFFICHER f
11      FIN_POUR
12  FIN_ALGORITHME

i est le compteur dans la boucle ; il ira de 1 jusqu'au nombre n que tu auras choisi
n est le nombre de lancers
f est la valeur lue sur la face du dé

la ligne 9 est la plus délicate ; elle permet de trouver un nombre entier aléatoire entre 1 et 6 ; cette ligne dépend beaucoup du langage utilisé et même de l'ordinateur...
_________________

Quelques modifications simples permettront de compter le nombre de fois où la valeur sortie est 6

Posté par
ophelie59230
re : Simuler le lancer d'un dé (Algorithme) 28-12-09 à 22:09

Comment fait-on pour que la valeur round soit comprise entre 1 et 6 sur la calculatrice?
Je n'arrive pas à trouver l'algorithme qui affiche 6
ou alors on remplace round par 6?
mais on doit afficher le nombre de fois où l'on obtient la valeur 6 et non afficher f (c'est-à-dire 6)

Posté par
Coll Moderateur
re : Simuler le lancer d'un dé (Algorithme) 29-12-09 à 07:45

1) pour afficher entre 1 et 6 :

Tu as certainement une fonction "alea" ou "rand" ou "random" ou ... qui donne un nombre aléatoire compris entre 0 et 1

Si tu multiplies le résultat par 6 tu auras un nombre aléatoire compris entre 0 et 6

Mais on veut un nombre entier compris entre 1 et 6 (un dé ne donne ni 0 ni 7...)

Ce que j'ai fait (mais on peut faire autrement) à la ligne 9 :
j'ajoute 0,501 et je multiplie par 5,998 le résultat aléatoire :
donc j'obtiens un résultat compris entre 0,501 et 0,501 + 5,998 = 6,499
et ensuite avec la fonction "round" j'arrondis ce résultat, ce qui donne bien un entier compris entre 1 et 6 puisque 0,501 est arrondi à 1 et que 6,499 est arrondi à 6

Tu peux trouver d'autres manières de faire. Bien sûr il faut veiller à ce que les nombres de 1 à 6 conservent la même probabilité (uniforme) d'être choisis par le programme.

2) pour compter combien de fois la valeur 6 est obtenue

Il faut modifier un peu le programme et j'aimerais bien lire tes idées à ce sujet.
Tu peux m'écrire tes instructions en français ordinaire (pas obligatoirement dans un langage de calculatrice), comme dans l'énoncé que tu as posté hier à 18 h 58 ; c'est très clair.

Posté par
ophelie59230
re : Simuler le lancer d'un dé (Algorithme) 29-12-09 à 22:56

entrée: saisir i
        saisir n
initialisation:
traitement: pour i allant de 1 à n
             et si f=6
             | f prend la valeur round(+1*6)
            fin pour
sortie: afficher n

Je ne pense pas que sa va car si f=6 on ne peut pas donner à f une valeur aléatoire.

Posté par
Coll Moderateur
re : Simuler le lancer d'un dé (Algorithme) 30-12-09 à 08:39

Il n'y a pas besoin de saisir i

Que ferait ton programme ? Tu rentres n au début et à la fin il affiche n
Donc (s'il marche) il ne s'est rien passé...

Avec un langage comme le tien, je refais le programme du 28/12 à 21 h 22

entrées :
  saisir n
initialisations :
traitement :
  pour i allant de 1 à n
      f prend la valeur arrondi(0,501 + 5,998 aléatoire() )
      afficher f
  fin pour
fin de l'algorithme

Tu vois que pour cette version il n'y a aucune initialisation

Que fait ce programme ?

Il te demande combien de lancers de dé tu veux simuler ? C'est le nombre n
Puis, dans une boucle qu'il parcourt n fois (pour les n lancers)
. Il simule un lancer et calcule la valeur montrée par le dé : c'est le nombre f
. Il affiche cette valeur lue sur le dé

Comprends-tu bien ce fonctionnement ?

Sinon pose des questions.
Si oui comment ajouter deux ou trois lignes pour compter le nombre de fois où le nombre 6 est sorti ? (Bien sûr il ne faut pas tout casser du programme qui simule des lancers. Il faut juste ajouter ce qui va compter le nombre de 6 pour n lancers)

Posté par
ophelie59230
re : Simuler le lancer d'un dé (Algorithme) 02-01-10 à 21:04

Je comprends le fonctionnement de l'algorithme mais je ne comprends pas comment on peut faire pour que quand f est égal à 6 on compte les n lancers.

entrée: saisir n
initialisation: n prend la valeur 0
traitement: Pour i allant de 1 à n
             | f prend la valeur d'un entier aléatoire (0,501+5,998*aléatoire())
            Fin pour
           Si f=6
            | n prend la valeur n+1
sortie: afficher n

Je pense que c'est ça mais je ne suis pas sûre.

Posté par
Coll Moderateur
re : Simuler le lancer d'un dé (Algorithme) 02-01-10 à 21:14

Vois-tu que les deux premières lignes sont tout à fait contradictoires ?

Première ligne : tu rentres une valeur de n
Deuxième ligne : tu mets ce n à zéro

Donc... cela ne sert à rien de rentrer une valeur de n puisqu'aussitôt après tu l'annules !
______________

Mais il y a des idées !

Donc : il faut absolument que le nombre de lancers et le compteur des 6 soient représentés par des lettres différentes.
n : nombre de lancers
k : compteur, par exemple

D'accord ?

entrées :
    saisir n
initialisations :
    k prend la valeur 0
traitement :
    pour i allant de 1 à n
        f prend la valeur arrondi(0,501 + 5,998 aléatoire() )
        si f = 6
            k prend la valeur k + 1
        fin du si
    fin pour
    afficher k
fin de l'algorithme


Posté par
ophelie59230
re : Simuler le lancer d'un dé (Algorithme) 02-01-10 à 21:46

Merci beaucoup! J'ai compris en fait n est le nombre de lancers global et k est le nombre de lancers qui ont donné 6.

Posté par
Coll Moderateur
re : Simuler le lancer d'un dé (Algorithme) 02-01-10 à 21:52

Tout à fait

Tu vois que c'est amusant les algorithmes !

Je t'en prie et à une prochaine fois !

Posté par
ophelie59230
re : Simuler le lancer d'un dé (Algorithme) 02-01-10 à 22:32

Posté par
Psy-4
algorithme de simulation de lancers de dés 05-11-12 à 12:12

Bonjour, j'ai un exercice du même type à faire, il faut que j'établisse un algorithme permettant de simuler le lancer de 100 dés equilibrés et donnant le nombre de fois où le 6 a été obtenu. J'ai réalisé un algorithme mais je ne suis pas sûre. Voilà ce que j'ai fait:
VARIABLES
    i est du type nombre
    f est du type nombre
    k prend la valeur 0

DEBUT  ALGORITHME
    pour i allant de 1 à 100
    f prend la valeur floor(6*random())+1
    SI f=6
          DEBUT SI
     k prend la valeur k+1
     FIN SI
     FIN POUR
AFFICHER k


Dans mon algorithme k est le nombre de fois où le 6 a été obtenu
Pourriez-vous me dire si c'est juste svp?(sachant que c'est sur Algobox) Merci d'avance!

Répondre à ce sujet

Seuls les membres peuvent poster sur le forum !

Vous devez être connecté pour poster :

Connexion / Inscription Poster un nouveau sujet
Une question ?
Besoin d'aide ?
(Gratuit)
Un modérateur est susceptible de supprimer toute contribution qui ne serait pas en relation avec le thème de discussion abordé, la ligne éditoriale du site, ou qui serait contraire à la loi.


Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1225 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !