Programmer avec le langage Linotte
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

Programmer avec le langage LinotteConnexion

Besoin d'un conseil sur la programmation en Linotte ?

Le Deal du moment : -29%
DYSON V8 Origin – Aspirateur balai sans fil
Voir le deal
269.99 €

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

more_horiz
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? ».

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

more_horiz
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
privacy_tip Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
power_settings_newSe connecter pour répondre