Pour résoudre un problème à l'aide d'un prgoramme informatique, nous devons parfois répéter des actions un nombre indéterminé de fois. En algorithmie cela se représente à l'aide de boucles avec des conditions de sorties. Un modèle très puissant.
Reprenons l'exemple vu dans le TD 2, avec le jeu de BlackJack. Une fois que les joueurs et les joueuses ont fini de jouer, c'est au tour du croupier ou de la croupière de jouer. Iel peut alors piocher autant de cartes qu'iel le souhaite, mais si son score dépasse 21 points, c'est a perdu.
Réalisez un arbre de décision pour représenter le jeu du croupier ou de la croupière.
Dans cet algorithme simplifié, iel s'arrête de piocher une carte lorsqu'iel a atteint au moins 16 points.
Votre arbre doit fonctionner qu'iel pioche 0, 1, 2 ou n cartes.
L'action « Piocher une carte » doit se trouver au milieu de votre arbre. Après cette action, vous devez vous demander si vous voulez remonter à une étape précédente pour piocher une nouvelle carte.
Reprenons maintenant l'exemple vu dans le TD 1, avec le jeu du plus ou moins. En tant que joueur ou joueuse, vous aviez 5 tentatives pour trouver le bon nombre entre 1 et 100.
Le joueur ou la joueuse décide de suivre une stratégie de dichotomie. Ainsi iel commence par proposé 50, ainsi quelque soit la réponse de l'ordinateur il passera de 100 nombres possibles à 50. Iel continue ensuite de jouer de manière à toujours diviser par 2 le nombre de solutions possibles après chaque étape.
Réalisez un arbre de décision pour représenter la stratégie de jeu du joueur ou de la joueuse en question.
Votre arbre doit fonctionner qu'iel utilise 1, 2, 3, 4, ou 5 essais pour trouver.
Pour résoudre cet exercice, vous aurez besoin de variables, car vous allez devoir boucler en proposant un nouveau nombre à chaque fois !
Voilà à quoi ressemble le début de l'arbre de décision en utilsiant 3 variables : MAX, MIN, et X
Au début, je commence par définir l'état de mes connaissances : le nombre est entre 1 (MIN) et 100 (MAX)
Je vais donc proposer le nombre pile au milieu, pour cela on fait la moyenne. Je vais donc proposer 50 (X).
Si on me répond que c'est plus petit que 50, alors maintenant je sais que mon nombre est entre 50 (MIN) et 100 (MAX) !
Je n'ai plus qu'à recommencer (boucler), je fais la moyenne, et je propose 75 (X)
Si on me répond que c'est plus grand que 75, alors maintenant je sais que mon nombre est entre 50 (MIN) et 75 (MAX) !
Je n'ai plus qu'à recommencer (boucler), je fais la moyenne, et je propose 62 (X)
etc.
À vous de compléter maintenant !