Rechercher
Résultats par :
Recherche avancée
Qui est en ligne ?
Il y a en tout 2 utilisateurs en ligne :: 0 Enregistré, 0 Invisible et 2 Invités

Aucun

Voir toute la liste


Partagez
Voir le sujet précédentAller en basVoir le sujet suivant
Posting Freak
Messages : 1188
Date d'inscription : 2004-12-09
Voir le profil de l'utilisateurhttp://langagelinotte.free.fr/

[simple] [résolu] Trouver un nombre par dichotomie...

le Thu 15 Jul - 15:59
Proposez un livre qui permet de trouver un nombre aléatoire (entre 1 et 1000)par dichotomie.

<!-- m --><a class="postlink" href="http://fr.wikipedia.org/wiki/Dichotomie">http://fr.wikipedia.org/wiki/Dichotomie</a><!-- m -->

Exemple, soit a un nombre aléatoire valant 650.

Je reprends l'exemple de wikipedia :

Code:
Pierre propose à Paul le jeu suivant:
« choisis en secret un nombre compris entre 0 et 100;
je vais essayer de le deviner le plus rapidement possible, mais tu ne dois répondre à mes questions que par oui ou par non ».
Paul choisit 65 et attend les questions de Pierre:


est-ce que le nombre est plus grand que 50? (100 divisé par 2)
oui
est-ce que le nombre est plus grand que 75? ((50 + 100) / 2)
non
est-ce que le nombre est plus grand que 63? ((50 + 75 + 1) / 2)
oui
Pierre réitère ses questions jusqu'à trouver 65.
Par cette méthode itérative, Pierre est sûr de trouver beaucoup plus rapidement le nombre qu'en posant des questions du type « est-ce que le nombre est égal à 30? ».
Member
Messages : 62
Date d'inscription : 2008-05-28
Voir le profil de l'utilisateurhttp://ifiction.free.fr

[simple] Trouver un nombre par dichotomie...

le Fri 27 Aug - 23:05
On devrait pouvoir le faire avec ça, bien que cela manque encore de tests au cas où le lecteur tape n'importe quoi :

Code:
Livre:
Dichotomie
Les grands rôles :

nombre_testé est un nombre valant 500
réponse est un texte vide
borne_haute est un nombre valant 1000
borne_basse est un nombre valant 0
Paragraphe :
Début
les rôles :

présentation est un texte valant "Choisis en secret un nombre compris entre 0 et 1000 ;

je vais essayer de le deviner le plus rapidement possible, mais tu ne dois répondre à mes questions que par oui ou par non.
"
les actions :

tu affiches présentation
va vers question
Paragraphe :
question
les rôles :

question est un texte valant "Est-ce que le nombre est plus grand que "
les actions :

si borne_haute - borne_basse est plus petit que 2 alors va vers solution
tu affiches la question
tu affiches nombre_testé
tu demandes la réponse
si la réponse est égale à "oui" alors lis
borne_basse vaut nombre_testé
va vers plus_haut
ferme
si la réponse est égale à "non" alors lis
borne_haute vaut nombre_testé
va vers plus_bas
ferme
Paragraphe :
plus_haut
les actions :

nombre_testé vaut nombre_testé + borne_haute
nombre_testé vaut nombre_testé / 2
nombre_testé vaut arrondi nombre_testé
va vers question
Paragraphe :
plus_bas
nombre_testé vaut nombre_testé + borne_basse
nombre_testé vaut nombre_testé / 2
nombre_testé vaut arrondi nombre_testé
va vers question

Paragraphe :
solution
Tu affiches "Je crois que j'ai trouvé ! Le nombre secret est :
"
Tu affiches borne_haute
Voir le sujet précédentRevenir en hautVoir le sujet suivant
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum