Jeu de l oie [it11] - Exercice

Documents pareils
alg - Classes, instances, objets [oo] Exercices résolus

C++ - Classes, instances, objets [oo] Exercices résolus

Organigramme / Algorigramme Dossier élève 1 SI

Rappels sur les suites - Algorithme

Cours d Informatique

Quelques algorithmes simples dont l analyse n est pas si simple

Algorithmes récursifs

Feuille TD n 1 Exercices d algorithmique éléments de correction

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

TRIGONOMETRIE Algorithme : mesure principale

Cours d Algorithmique et de Langage C v 3.0

Algorithmique avec Algobox

Atelier Transversal AT11. Activité «Fourmis» Pierre Chauvet.

Chapitre 5 : Flot maximal dans un graphe

1 Recherche en table par balayage

Programmation Objet - Cours II

Algorithme. Table des matières

Décision Markovienne appliquée à un jeu de stop ou encore : Pickomino (Heckmeck Am Bratwurmeck)

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1

Auxiliaire avoir au présent + participe passé

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.

Master Poly Trader. Manuel d utilisateur. Group IV Benoît Perroud Marius Erni Lionel Matthey David Wenger Lotfi Hussami

Entraînement au concours ACM-ICPC

introduction Chapitre 5 Récursivité Exemples mathématiques Fonction factorielle ø est un arbre (vide) Images récursives

NIMEGUE V3. Fiche technique 3.07 : Sauvegarde / Restauration manuelle


Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation

Exe Livret Animateur_Exe Livret Animateur 01/02/11 11:10 Page1

Université Bordeaux 1, Licence Semestre 3 - Algorithmes et struct...

Algorithmique et Programmation, IMA

Jean-Philippe Préaux

CORRECTION EXERCICES ALGORITHME 1

LES REGLEMENTS AVEC SOCIEL.NET DERNIERE MISE A JOUR : le 14 juin 2010

Resolution limit in community detection

CEGEP DU VIEUX-MONTRÉAL

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12

Procédure pour emprunter ou réserver un livre numérique

L exclusion mutuelle distribuée

M06/5/COMSC/SP1/FRE/TZ0/XX INFORMATIQUE NIVEAU MOYEN ÉPREUVE 1. Mardi 2 mai 2006 (après-midi) 1 heure 30 minutes INSTRUCTIONS DESTINÉES AUX CANDIDATS

Customer Case Story À propos de Selligent

Programmation avec Xcas ou Python

Cours A7 : Temps Réel

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

La question est : dans 450 combien de fois 23. L opération est donc la division. Le diviseur. Le quotient

Introduction à l algorithmique et à la programmation (Info 2)

Mystères au PLUS! Jeu pédagogique pour les Sciences de la Vie et de la. Frédéric BLASSELLE, PLUS de Cappelle-la-Grande


Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Travaux dirigés d introduction aux Probabilités

QUI VEUT JOUER AVEC MOI?

Les nombres entiers. Durée suggérée: 3 semaines

APPRENDRE, VIVRE & JOUER AVEC LES JEUNES ESPOIRS DE L IHF

Compte rendu d activité

COMMUNAUTE ECONOMIQUE ET MONETAIRE DE L AFRIQUE CENTRALE LA COMMISSION

Introduction à la théorie des graphes. Solutions des exercices

DocForum 18 Juin Réussites d un projet Big Data Les incontournables

Sommaire. Structure. Liste simplement chaînée ALGORITHME ET STRUCTURES DE DONNÉES II

Le verbe : chanter Le verbe : jouer Le verbe : regarder. Je chantai Je jou Je regard. Tu chantas Tu jou Tu regard. Il chanta Il jou Il regard

Cours de Génie Logiciel

Triangle de Pascal dans Z/pZ avec p premier

Algorithmique et structures de données I

Baccalauréat ES Amérique du Nord 4 juin 2008

Rallye Mathématiques de liaison 3 ème /2 nde et 3 ème /2 nde pro Epreuve finale Jeudi 21 mai 2015 Durée : 1h45

REGLEMENT OFFICIEL DU POKER DE TOURNOI EN ASSOCIATION

Développer, factoriser pour résoudre

Algorithmique en classe de première avec AlgoBox

REALISATION d'un. ORDONNANCEUR à ECHEANCES

THEME : CLES DE CONTROLE. Division euclidienne

Exercices Alternatifs. Une fonction continue mais dérivable nulle part

Exercices Alternatifs. Une fonction continue mais dérivable nulle part

Projet Active Object

Musée temporaire. Le jeu

Architecture des Systèmes d Information Architecture des Systèmes d Information

* POURQUOI CREER UNE MAILING

Grand jeu - Le secret du manoir de Kergroas

Probabilités conditionnelles Loi binomiale

TP 1. Prise en main du langage Python

= constante et cette constante est a.

Série TD 3. Exercice 4.1. Exercice 4.2 Cet algorithme est destiné à prédire l'avenir, et il doit être infaillible! Exercice 4.3. Exercice 4.

Les suites numériques

Probabilités Loi binomiale Exercices corrigés

IFT785 Approches Orientées Objets. FINAL Été Remise : Jeudi 19 août 2002 à 9h00 am

Jade. Projet Intelligence Artificielle «Devine à quoi je pense»

OLYMPIADES ACADEMIQUES DE MATHEMATIQUES. 15 mars 2006 CLASSE DE PREMIERE ES, GMF

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

Compte-rendu d une expérience Un album à jouer... Le château de Radégou

Chapitre 3. Mesures stationnaires. et théorèmes de convergence

Analyse Combinatoire

SESSION 2014 ÉPREUVE À OPTION. (durée : 4 heures coefficient : 6 note éliminatoire 4 sur 20)

kilimax 5 à 7 ans l école des loisirs livres

Sujet de rédaction. «Mon histoire»

ST U2 Imprimantes multifunctionelles (modèle table) et scanners Edit. 001 / Rév Fev 2011 Page 1 de 12

Big Data et Graphes : Quelques pistes de recherche

Situations pédagogiques Outils pour les différents profils

Théorie des Graphes Cours 3: Forêts et Arbres II / Modélisation

IFT3913 Qualité du logiciel et métriques. Chapitre 2 Modèles de processus du développement du logiciel. Plan du cours

ÉTUDE DE L EFFICACITÉ DE GÉOGRILLES POUR PRÉVENIR L EFFONDREMENT LOCAL D UNE CHAUSSÉE

LE PROBLEME DU PLUS COURT CHEMIN

Transcription:

Jeu de l oie [it11] - Exercice Karine Zampieri, Stéphane Rivière, Béatrice Amerein-Soltner Unisciel algoprog Version 8 avril 2015 Table des matières 1 Jeu de l oie / pg-jeudeloiea1 (C++) 1 1.1 Présentation du Jeu de l Oie......................... 1 1.2 Pseudo-code du jeu.............................. 2 1.3 Fonction partieterminee........................... 3 1.4 Procédure avancerposition.......................... 4 1.5 Procédure calculeroieposition........................ 5 1.6 Procédure analysersurprises......................... 5 1.7 Programme principal............................. 6 1 Jeu de l oie / pg-jeudeloiea1 (C++) Mots-Clés Schéma itératif, Algorithmique, Programmation, C++. Requis Structures de base, Structures conditionnelles (Conditions), Algorithmes paramétrés, Structures répétitives, Schéma itératif. Cet exercice simule les mouvements du pion d un seul joueur au jeu de l oie. 1.1 Présentation du Jeu de l Oie Le principe de ce jeu d enfants, est de déplacer un pion (jet de deux dés) par joueur sur une spirale de cases numérotées de 1 à 63 dont certaines d entre elles jouent un rôle particulier. (Jeu de l Oie (wikipedia) 1

Unisciel algoprog Jeu de l oie / it11 2 Règle 1 Celui qui du premier coup, jette 6 et 3, se place au numéro 26, et celui qui jette 4 et 5 va se placer au numéro 53. Règle 2 Le joueur qui arrive sur une oie (numéro de case divisible par 9) avance d autant de points qu il vient d amener. Règle 3 Celui qui s arrête sur le pont (nř6) va se placer au numéro 12. Le joueur qui arrive à l Hôtellerie (nř19) laisse passer deux tours sans jouer. Celui qui tombe dans le puits (nř31) reste jusqu à ce qu il en soit délivré par un autre qui prend sa place. Celui qui arrive au labyrinthe (nř42) retourne au numéro 30. Le joueur qui arrive dans la prison (nř52) attend sa délivrance. Celui qui va trouver la mort (nř58) retourne en 1. Règle 4 Celui qui est rejoint par un autre joueur va se mettre d où ce dernier est venu. Règle 5 Le joueur qui dépasse le numéro 63 retourne d autant de points qu il a jetés en trop, et s il vient sur une oie, il rétrograde encore d autant de points qu il a jeté. Règle 6 Celui qui atteint exactement le numéro 63 gagne la partie. 1.2 Pseudo-code du jeu L exercice simule les mouvements du pion d un seul joueur au jeu de l oie : il demande les entiers correspondant au jet des deux dés et calcule la nouvelle position du pion. Il affiche un message après chaque calcul de position pour signaler qu il peut y avoir déjà un autre joueur sur la case qu il vient atteindre. Voici un exemple d exécution. Vous etes en 0 Les valeurs de vos deux dés? 4 5 Premier coup 4 + 5 -- Allez en 53 Calcul 4 5 ==> 53 Vous etes en 53 Les valeurs de vos deux dés? 6 4 Bravo! Vous avez gagné sauf si un autre joueur est déjà là

Unisciel algoprog Jeu de l oie / it11 3 En vous aidant du graphe des appels et de l exemple d exécution, écrivez le pseudo-code du mouvement du pion d un joueur au jeu de l oie. position <- 0 // position effective TantQue (non partieterminee(position)) Faire saisirdes(de1,de2) avancerposition(position,de1,de2) Si (non partieterminee(position)) Alors Si (suruneoie(position)) Alors calculeroieposition(position,de1,de2) FinSi analysersurprises(position) Finsi FinTantQue afficher résultat 1.3 Fonction partieterminee Ce problème réalise : Règle 6 : Celui qui atteint exactement le numéro 63 gagne la partie. Définissez la constante entière DERNIERECASE (numéro de la dernière case) de valeur 63. Écrivez une fonction partieterminee(position) qui teste et renvoie Vrai si la position (entier) désigne la dernière case.

Unisciel algoprog Jeu de l oie / it11 4 Validez votre définition et fonction avec la solution. C++ @[jeudeloiea1a.cpp] 1.4 Procédure avancerposition Ce problème réalise : Règle 2 : Le joueur qui arrive sur une oie (numéro de case divisible par 9) avance d autant de points qu il vient d amener. Règle 5 : Le joueur qui dépasse le numéro 63 retourne d autant de points qu il a jetés en trop, et s il vient sur une oie, il rétrograde encore d autant de points qu il a jeté. Écrivez une fonction suruneoie(position) qui teste et renvoie Vrai si la position (entier) est sur une oie. Outil C++ L opération mod (reste de la division entière) est noté %. Aide simple Testez si la position est divisible par 9. Écrivez une procédure avancerposition(position,de1,de2) qui avance la position (entier) issue du jet de deux dés de1 (entier) et de2 (entier). Aide simple Calculez la position théorique dans calculpos (entier) puis testez si calculpos est au-delà de la dernière case, auquel cas appliquez la règle 5. Validez votre fonction et procédure avec la solution. C++ @[jeudeloiea1b.cpp]

Unisciel algoprog Jeu de l oie / it11 5 1.5 Procédure calculeroieposition Ce problème réalise : Règle 1 : Celui qui du premier coup, jette 6 et 3, se place au numéro 26, et celui qui jette 4 et 5 va se placer au numéro 53. Règle 2 : Le joueur qui arrive sur une oie (numéro de case divisible par 9) avance d autant de points qu il vient d amener. Écrivez une procédure calculeroieposition(position,de1,de2) qui calcule la nouvelle sur une oie dans position (entier) issue du jet de deux dés de1 (entier) et de2 (entier). Aide simple Testez le cas du premier jet (règle 1). Sinon avancez la position (règle 2). Validez votre procédure avec la solution. C++ @[jeudeloiea1c.cpp] 1.6 Procédure analysersurprises Ce problème réalise la règle 3 : 1. Celui qui s arrête sur le pont (nř6) va se placer au numéro 12. 2. Le joueur qui arrive à l Hôtellerie (nř19) laisse passer deux tours sans jouer. 3. Celui qui tombe dans le puits (nř31) reste jusqu à ce qu il en soit délivré par un autre qui prend sa place. 4. Celui qui arrive au labyrinthe (nř42) retourne au numéro 30. 5. Le joueur qui arrive dans la prison (nř52) attend sa délivrance. 6. Celui qui va trouver la mort (nř58) retourne en 1. Écrivez une procédure analysersurprises(position) qui analyse les surprises de la position (entier) et restitue dans position l éventuelle nouvelle position. Aide simple Testez la position par rapport aux numéros nř6 (pont), nř19 (Hôtellerie), nř31 (puit), nř42 (labyrinthe), nř52 (prison) et nř58 (mort) (structure Si en cascade par exemple).

Unisciel algoprog Jeu de l oie / it11 6 Validez votre procédure avec la solution. C++ @[jeudeloiea1d.cpp] 1.7 Programme principal Écrivez une procédure saisirdes(de1,de2) qui effectue la saisie validée de deux jets de dés de six faces dans de1 (entier) et dans de2 (entier). Affichez l invite : Les valeurs de vos deux dés? Écrivez une procédure jeudeloie qui demande les entiers correspondant au jet des deux dés dans de1 (entier) et dans de2 (entier), puis calcule la nouvelle position du pion. Il affiche un message après chaque calcul de position pour signaler qu il peut y avoir déjà un autre joueur sur la case qu il vient atteindre. Testez. Exemples d exécution. Vous etes en 0 Les valeurs de vos deux dés? 4 5 Premier coup 4 + 5 -- Allez en 53 Calcul 4 5 ==> 53 Vous etes en 53 Les valeurs de vos deux dés? 6 4 Bravo! Vous avez gagné sauf si un autre joueur est déjà là

Unisciel algoprog Jeu de l oie / it11 7 Vous etes en 0 Les valeurs de vos deux dés? 3 3 Calcul 3 3 ==> 6 Pont -- allez en 12 Vous etes en 12 Les valeurs de vos deux dés? 6 1 Calcul 6 1 ==> 19 Hotellerie -- Passez 2 tours Vous etes en 19 Les valeurs de vos deux dés? 6 6 Calcul 6 6 ==> 31 Puis -- Patience! Vous etes en 31 Les valeurs de vos deux dés? 5 6 Calcul 5 6 ==> 42 Labyrinthe -- allez en 30 Vous etes en 30 Les valeurs de vos deux dés? 2 3 Calcul 2 3 ==> 35 Vous etes en 35 Les valeurs de vos deux dés? 5 5 Sur une oie -- Avancez de 10 Calcul 5 5 ==> 55 Vous etes en 55 Les valeurs de vos deux dés? 4 4 Bravo! Vous avez gagné sauf si un autre joueur est déjà là Validez vos procédures avec la solution. C++ @[pg-jeudeloiea1.cpp]