Jeu du pendu [tb07] - Exercice

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

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

SNT4U16 - Initiation à la programmation TD - Dynamique de POP III - Fichiers sources

COMMUNAUTE ECONOMIQUE ET MONETAIRE DE L AFRIQUE CENTRALE LA COMMISSION

Introduction. communication. 1. L article 32 du Code des postes et des communications électroniques défi nit les

TP : Shell Scripts. 1 Remarque générale. 2 Mise en jambe. 3 Avec des si. Systèmes et scripts

C f tracée ci- contre est la représentation graphique d une

Guide pratique du référencement de web consultant eu. Commençons par l optimisation de vos pages, ou on page

Logiciel SuiviProspect Version Utilisateur

Le Format d une Adresse Postale

Guide Numériser vers FTP

1. Utilisation du logiciel Keepass

NOTICE D INSTALLATION

LES MOTEURS DE RECHERCHE SUR INTERNET

GUIDE D INSTALLATION INTERNET haute vitesse

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

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Les Enjeux du Référencement de Sites Internet. Un livre blanc réalisé par Benchmark Group pour Netbooster

5 Comment utiliser des noms de domaine supplémentaires?...9

Jeudi 10 avril 2014 Analyse et Référencement

NIMEGUE V3. Fiche technique 3.07 : Sauvegarde / Restauration manuelle

Programmation Visual Basic. Visite guidée d'un programme Visual Basic 6.0

SERVICES EN LIGNE DES SUBVENTIONS ET DES CONTRIBUTIONS

Notice d utilisation

Google fait alors son travail et vous propose une liste de plusieurs milliers de sites susceptibles de faire votre bonheur de consommateur.

La responsabilité civile des experts comptables. Intervention du 05 Septembre

ALOHA LOAD BALANCER METHODE DE CONTROLE DE VITALITE

Manuel de référence Ciel Auto-entrepreneur

Mon aide mémoire traitement de texte (Microsoft Word)

MUNIA Manuel de l'utilisateur

Manuel de mise en page de l intérieur de votre ouvrage

Agence web en Suisse romande CH-1260 Nyon

Cours de Probabilités et de Statistique

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

PRESENTATION DES RECOMMANDATIONS DE VANCOUVER

Plateforme AnaXagora. Guide d utilisation

1. Ouvrir Internet Explorer Faire défiler une page Naviguer dans un site Internet Changer d adresse Internet (URL) 2

Correction du baccalauréat ES/L Métropole 20 juin 2014

Le guide des assurances Working Holiday

Transférer une licence AutoCAD monoposte

Le guide des assurances Working Holiday

Annexe B : Exemples. Avis de vente aux enchères liées Système de plafonnement et d échange de droits d émission de gaz à effet de serre (GES)

Associer le tout. Démarche Lire. Lisez la question. Assurez-vous de bien la comprendre.

Conditions Générale de «Prestations de services»

OFFRE DE FORMATION DANS LE SYSTÈME LMD

Revision 1.0 FR. Guide service technique

SAS Foundation Installation sous Windows

Quelques algorithmes simples dont l analyse n est pas si simple

ITIL V2. La gestion des mises en production

INU Information et sites Web 10 avril 2015 SEO. Dominic Forest, Ph.D.

Procédure d installation de mexi backup

Aide à l Utilisation du site «Mon Monitoring»

Principes d AdWords. Quelques mots de présentation. Une audience large : les réseaux de ciblage. Réseau de recherche

Prise en main. août 2014

Leçon 01 Exercices d'entraînement

GENERALITES II. ORGANISATION ET ORGANES DE L EXAMEN III. INSCRIPTION A L EXAMEN, FRAIS ET CONDITIONS D ADMISSION IV. CONTENU ET MATIERE DE L EXAMEN

Comment rembourser votre hypothèque plus rapidement

Ma banque, mes emprunts et mes intérêts

PREMIERE DEMANDE D UNE CARTE NATIONALE D IDENTITE

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

COLLÈGE DE MAISONNEUVE

NOTICE TELESERVICES : Créer mon compte personnel

Dynamic Host Configuration Protocol

Algorithme. Table des matières

ALICEBOX. Guide d installation ADSL + TÉLÉPHONE + TV NUMERIQUE. Découvrir ma télécommande 12 TÉLÉCOMMANDE. Accès au médiacenter

1 Recherche en table par balayage

CONTACT EXPRESS 2011 ASPIRATEUR D S

G.T.I. Windows V1.1 Guide d Utilisation

La messagerie électronique avec La Poste

FAQ Conditions de candidature... 2 Procédure de candidature et remise de prix... 2 Le dossier de candidature... 3

Swiss Auto. Roulez en toute sérénité

PROJET ALGORITHMIQUE ET PROGRAMMATION II

DE LA HOLDING ANIMATRICE A LA HOLDING PATRIMONIALE : QUELLES CONSEQUENCES? 15 septembre 2014

PROTEGER SA CLE USB AVEC ROHOS MINI-DRIVE

Systemes d'exploitation des ordinateurs

WHITEPAPER. Quatre indices pour identifier une intégration ERP inefficace

KeePass - Mise en œuvre et utilisation

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores

COTISANT AU RÉGIME GUIDE D ACCÈS AU COMPTE

Universalis Guide d installation. Sommaire

Service d information pour remise de paiement de factures Scotia

Esterel The french touch star touch esterel advance

UE Programmation Impérative Licence 2ème Année

Traitement de texte : Quelques rappels de quelques notions de base

Guide d implémentation. Réussir l intégration de Systempay

Faire de la publicité sur GOOGLE AD-WORDS

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

Effectuer un paiement par chèque

INTÉRÊT DU SCANNER 3D DANS LA MESURE DE L'ANTÉVERSION DES COLS FÉMORAUX

MANUEL D UTILISATION DE LA SALLE DES MARCHES APPEL D OFFRES OUVERT ACCES ENTREPRISES. Version 8.2

Créer votre propre modèle

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Manuel d'installation de GESLAB Client Lourd

GFM 296 UNIVERSITE LA SAGESSE FACULTÉ DE GESTION ET DE FINANCE GUIDE POUR LA REDACTION DU MEMOIRE DE MASTER MBA (FORMULAIRE D)

Sage 100 pour SQLServer. Version Manuel de référence

Définition des Webservices Ordre de paiement par . Version 1.0

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

1 Année LMD-STSM Algorithmique et Programmation. Série de TD 2

Application 1- VBA : Test de comportements d'investissements

Les 3 erreurs fréquentes qui font qu'un site e-commerce ne marche pas. Livret offert par Kiro créateur de la formation Astuce E-commerce

Transcription:

Jeu du pendu [tb07] - Exercice Karine Zampieri, Stéphane Rivière, Béatrice Amerein-Soltner Unisciel algoprog Version 8 avril 2015 Table des matières 1 Jeu du pendu / pg-jeupendua1 (C++) 1 1.1 Présentation du jeu.............................. 1 1.2 Saisie d un mot (7 points).......................... 2 1.3 Procédures et fonctions utilitaires (4 points)................ 3 1.4 Proposition d une lettre (4 points)...................... 4 1.5 Divination (4+1 points)........................... 4 1 Jeu du pendu / pg-jeupendua1 (C++) Mots-Clés Tableaux, Algorithmique, Programmation, C++. Requis Structures de base, Structures conditionnelles, Algorithmes paramétrés, Structures répétitives, Schéma itératif, Tableaux. Cet exercice réalise le jeu du pendu. 1.1 Présentation du jeu Jeu du pendu Il se joue à deux. L un pense à un mot, par exemple : L I C E N C E et écrit une suite de tirets à la place des lettres : _ L autre doit deviner ce mot en ne connaissant au départ que sa longueur. Pour s aider, il peut demander l existence d une lettre. Il a droit à sept propositions. À chaque lettre proposée, si celle-ci figure dans le mot, les occurrences de la lettre sont écrites à leur place. Exemple : Pour E : _ E E 1

Unisciel algoprog Jeu du pendu / tb07 2 Si elle ne figure pas dans le mot, le joueur est pénalisé d un point. Au bout de sept pénalisations, le joueur est «pendu» à moins qu il ne trouve le mot avant. Le jeu est en général agrémenté d une sinistre potence dont le malheureux pendu se dessine progressivement à chaque mauvaise proposition. Déroulement du programme 1. Le premier joueur entre un mot de 3 à 10 lettres pendant que l autre joueur ne regarde pas. 2. Le mot s affiche avec des tirets à la place des lettres. 3. Le programme demande la saisie d une lettre. 4. Le second joueur tape une lettre. En cas de succès, le mot s affiche (avec les lettres trouvées). En cas d échec, le programme indique combien de propositions il reste. 5. Le mot s affiche avec des lettres et des tirets, selon qu elles aient été découvertes ou non. 6. Le programme reprend au point 3 sauf si le joueur a épuisé tous ses coups ou trouvé le mot. À la fin de la partie, le programme affiche si le joueur est pendu ou non. Paramètres formels des tableaux Il sera impératif de les définir correctement : Par référence dans le cas d un paramètre effectif en Résultat ou en Modifié. Par référence constant en Donnée. 1.2 Saisie d un mot (7 points) L idée est d utiliser Un tableau d au plus dix caractères pour mémoriser le mot à deviner, Et un tableau de booléens pour les lettres déjà proposée. De plus, pour éviter d avoir des mots dont certaines lettres seraient en minuscule et d autres en majuscule, seules des lettres majuscules pourront être saisies. (1 point) Définissez les constantes entières NMIN de valeur 3 (longueur minimale) et NMAX de valeur 10 (longueur maximale) des mots. Puis définissez le type TabCarac comme étant un tableau de NMAX caractères.

Unisciel algoprog Jeu du pendu / tb07 3 (1 point) Écrivez une fonction estmajuscule(c) qui teste et renvoie Vrai si un caractère c est une lettre majuscule (donc compris entre A et Z ), Faux sinon. (2 points) Déduisez une procédure saisirmajuscule(c) qui effectue la saisie validée d une lettre majuscule dans un caractère c, c.-à-d. que la procédure doit demander un caractère jusqu à ce que estmajuscule(c) soit vraie. (3 points) Écrivez une procédure saisirmot(mot,n) qui effectue une saisie sécurisée de n (entier) qui doit être compris entre NMIN et NMAX puis fait la saisie d un TabCarac dans mot de n lettres par appel à la procédure saisirmajuscule. (0.5 point) Écrivez le début du programme qui déclare un entier n et un TabCarac adeviner puis effectue sa saisie. Testez. 1.3 Procédures et fonctions utilitaires (4 points) (1 point) Écrivez une procédure inittentative(t,n) qui initialise les n premières cases d un TabCarac t avec des blancs soulignés (_). Définissez la constante entière NLETTRES de valeur 26 puis le type TabBool comme étant un tableau de NLETTRES de booléens. (1 point) Écrivez une procédure initpropositions(t,n) qui initialise à Faux les n premières cases d un TabBool t. (1 point) Écrivez une procédure affichermot(mot,n) qui affiche les n premiers caractères d un TabCarac mot.

Unisciel algoprog Jeu du pendu / tb07 4 (1 point) Écrivez une procédure afficherpotence(n) qui affiche le texte d ordre n (entier) de la pendaison : LA POTENCE EST PROCHE... VOUS ETES...PENDU (<- Texte) 1 2 3 4 5 6 7 (<- valeur de n) Par exemple, pour n valant 3 le texte affiché sera : LA POTENCE EST Aide simple Si n >= 1 alors afficher LA. Si n >= 2 alors afficher POTENCE. Si n >= 3 alors afficher EST. et ainsi de suite jusqu à n >= 7. 1.4 Proposition d une lettre (4 points) (3 points) Écrivez une procédure incluredansmot(c,adeviner,mot,n,ok) qui inclut le caractère c dans un TabCarac mot si celui apparait dans les n premiers caractères d un TabCarac adeviner. Dans ce cas, le booléen ok sera fixé à Vrai si la lettre c a été trouvé au moins une fois dans adeviner. (1 point) Écrivez une procédure proposerlettre(prop,c) qui saisit une lettre majuscule dans c si celle-ci n a pas déjà été proposée dans le TabBool prop. La procédure fixera ensuite le booléen correspondant à Vrai. 1.5 Divination (4+1 points) Reste à définir la procédure qui permet à un joueur de proposer des lettres jusqu à ce qu il trouve le mot de n lettres d un TabCarac adeviner en au plus sept coups. Cette procédure devra : Déclarer et initialiser un tableau de booléens. Puis, tant que le joueur n a pas épuisé ses sept propositions et qu il n a pas trouvé le mot : Afficher partiellement le mot à deviner. Demander et effectuer la saisie d une lettre majuscule. Réaliser les changements à faire dans le tableau de booléens en fonction de la lettre proposée. Diminuer le nombre de propositions restantes et l afficher en cas d échec. Enfin afficher le résultat en indiquant si le joueur est pendu ou non.

Unisciel algoprog Jeu du pendu / tb07 5 (1 point) Écrivez une fonction motcomplet(mot,n) qui teste et renvoie Vrai si les n premières cases d un TabCarac mot sont des lettres, Faux sinon (il reste au moins un blanc souligné). Définissez la constante entière NCOUPS de valeur 7. (3 points) Écrivez une procédure devinermot(adeviner,n) qui réalise l algorithme spécifié ci-avant, c.-à-d. qui permet à un joueur de proposer des lettres jusqu à ce qu il trouve le mot adeviner de n lettres ou qu il ait épuisé ses NCOUPS propositions. (0.5 point) Complétez votre programme en appelant la procédure précédente. Validez votre programme avec la solution. Solution simple C++ @[pg-jeupendua1.cpp]