0% ont trouvé ce document utile (0 vote)
50 vues3 pages

Activités 2

Le document présente deux sujets d'activités d'apprentissage. Le premier sujet décrit le jeu Numbermind, où un joueur doit deviner un numéro de téléphone en un maximum de 8 essais, et demande la traduction de l'algorithme en Python ainsi que le développement de modules associés. Le second sujet concerne l'évaluation des besoins matériels des écoles primaires au Maroc, demandant également la traduction d'un algorithme en Python et le développement de modules pour gérer les données et calculer les budgets nécessaires.

Transféré par

mohamed.naceri12
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
50 vues3 pages

Activités 2

Le document présente deux sujets d'activités d'apprentissage. Le premier sujet décrit le jeu Numbermind, où un joueur doit deviner un numéro de téléphone en un maximum de 8 essais, et demande la traduction de l'algorithme en Python ainsi que le développement de modules associés. Le second sujet concerne l'évaluation des besoins matériels des écoles primaires au Maroc, demandant également la traduction d'un algorithme en Python et le développement de modules pour gérer les données et calculer les budgets nécessaires.

Transféré par

mohamed.naceri12
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Activités d’apprentissage

Sujet 1 :
Le jeu Numbermind est un jeu à deux qui consiste à deviner un numéro de
téléphone.
Le principe du jeu est le suivant :

• - Le premier joueur propose une combinaison de 8 chiffres représentant


le numéro à deviner.
• - Le deuxième joueur annonce une proposition de 8 chiffres, si cette
proposition correspond au numéro à deviner, ce joueur est gagnant sinon
on lui affiche sa proposition à laquelle on garde tous les chiffres bien
placés et on remplace le reste par des tirets tout en mentionnant les
chiffres corrects mais mal placés dans la proposition
• - On répète l'étape précédente jusqu'a trouver le numéro cherché ou
atteindre un nombre d'essais égale à 8.

Pour simuler ce jeu, on donne l'algorithme du programme principal suivant:


0) Début Numbermind
1) Répéter
Ecrire("Saisir le numéro de téléphone à deviner :")
Lire(num)
Jusqu'a (Fn Verif(num))
2) Efface_ecran()
3) Deviner(num)
4) Fin Numbermind

Travail demandé :
a. Traduire l'algorithme Numbermind en un programme Python et
ajouter les déclarations nécessaires.
b. Développer le module Verif qui permet de vérifier si le numéro de
téléphone proposé est composé uniquement par 8 chiffres.
c. Développer le module Deviner qui consiste à :
o - vérifier chaque numéro proposé par le deuxième joueur, en
gardant les chiffres bien placés et en remplaçant le reste par des
tirets tout en mentionnant ceux qui sont correctes mais mal
placés dans la proposition et le nombre d'essai qui lui reste.
o - arrêter le jeu une fois que le deuxième joueur propose un
numéro identique au numéro à deviner ou bien on atteint un
nombre d'essai égale à 8.
o - Afficher le message " Bravo, vous avez gagné" si le joueur 2
réussit à deviner le numéro et le message "Désolé, vous avez
perdu " s'il ne devine pas le numéro après 8 essais

Exemple :
Pour le numéro de téléphone à deviner 68456231 , le programme affiche :

vous avez 8 essais


Proposer un numéro de téléphone :56426179
5 qui est à la position 1 dans la proposition n'est pas à sa bonne position
6 qui est à la position 2 dans la proposition n'est pas à sa bonne position
2 qui est à la position 4 dans la proposition n'est pas à sa bonne position
1 qui est à la position 6 dans la proposition n'est pas à sa bonne position
il vous reste 7 essais
--4-6---
Proposer un numéro de téléphone :63456331
3 qui est à la position 2 dans la proposition n'est pas à sa bonne position
3 qui est à la position 6 dans la proposition n'est pas à sa bonne position
il vous reste 6 essais
6-456-31
Proposer un numéro de téléphone :68456231
Bravo vous avez gagné

Sujet 2 :
Afin de répondre aux besoins des écoles primaires d’une région de Maroc, le
ministère de l’Éducation charge une commission de visiter ces écoles, de
chercher leurs besoins en matériels (Tableaux à craie et tables) et de
déterminer le(s) école(s) ayant le besoin le plus élevé.
Pour automatiser les tâches de cette commission, on se propose d’écrire un
programme permettant:

• de remplir un premier tableau TE par les N codes des écoles primaires


avec 2≤N≤250. Le code d’une école est une chaîne de 6 chiffres.
• de remplir un deuxième tableau TB par les besoins matériels des
écoles en tableaux à craie et en tables sous le format suivant
: Nombre_de_tableaux#Nombre_de_tables sachant que chaque
besoin ne doit pas dépasser 999. Exemples : "852#999", "0#105",
"52#0"
• de calculer dans un troisième tableau TBU, le budget nécessaire pour
chaque école calculé comme suit : P1*Nombre_de_tableaux +
P2* Nombre_de_tables sachant que P1 et P2 sont respectivement
les prix d’un tableau à craie et d’une table et qui sont deux constantes
dont les valeurs en Dirhams sont 80 et 160.
• d’afficher toutes les écoles ayant le besoin budgétaire le plus élevé en
matériels.

Pour cela on propose l’algorithme du programme principal suivant :


0) Début Besoin
1) Répéter
Ecrire ("Donner le nombre d’écoles à visiter : ")
Lire(N)
Jusqu’a (N dans [2..250])
2) PROC Remplir(TE,TB,N)
3) PROC Generer(TB,TBU,N)
4) PROCAfficher (TE,TBU,N)
5) Fin Besoin

Exemple : Pour N=8 et les deux tableaux TE et TB suivants :

TE 310600 035100 199600 001800 421200 600700 059700 776600


1 2 3 4 5 6 7 8

TB 10#8 100#16 17#0 32#50 8#0 0#0 5#5 2#10


1 2 3 4 5 6 7 8
Le tableau TBU sera :

TBU 2080 10560 1360 10560 640 0 1200 1760


1 2 3 4 5 6 7 8

En effet, l’école dont le code est "310600" a besoin de 10 tableaux à craie


et de 8 tables ("10#8"). Le budget est calculé comme suit :
10*80+8*160=2080.
Le programme affiche :
Le besoin budgétaire le plus élevé est 10560 D et les écoles concernées sont
: 035100 - 001800

Travail demandé :
a. Traduire l'algorithme Besoin en un programme Python et ajouter les
déclarations nécessaires.
b. Développer le module Remplir qui permet de remplir deux
tableaux TE et TB en respectant les contraintes décrites
précédemment.
c. Développer le module Generer qui permet de générer un troisième
tableau TBU le budget nécessaire pour chaque école.
d. Développer le module Afficher qui permet d’afficher le budget le plus
élevé et le(s) école(s) concernée(s) par ce budget.

Vous aimerez peut-être aussi