Sujet TP 3 - CPGE du Lycée Montesquieu

Transcription

Sujet TP 3 - CPGE du Lycée Montesquieu
TP Master Mind
MP/PC-SI
Résumé
Dans ce TP, nous allons aborder les différentes boucles et tenter de comprendre leurs différences.
1
First try : boucle for
Figure 1 – Boucle for
On exécute la punition décrite par le cartoon :
1
2
3
for compteur in range ( 0 , 5 0 0 , 1 ) :
print ( "I␣will␣not␣ throw ␣ paper ␣ airplanes ␣in␣ class " )
print ( compteur )
Saisir et exécuter ce programme python.
Modifier le script pour afficher le numéro de ligne devant l’affichage de cette dernière.
2
Second try : boucle while
On exécute le script ci-dessous :
1
2
3
4
t e s t=True
while t e s t :
mot=i n p u t ( " saisir ␣un␣mot␣de␣5␣ lettres ␣:␣" )
t e s t =( l e n ( mot ) ! = 5 ) # les parenth èses sont facultatives !
Que fait ce script ?
Modifier celui-ci pour afficher la variable test en fin de boucle.
Que se passerait-il si la variable test n’était pas modifiée pendant la boucle ?
Peut-on utiliser ici une boucle for ? Une réponse argumentée est attendue !
1
3
Calcul de sommes
lucien1.py
1
2
3
4
5
6
lucien2.py
r e s u l t a t =0
compteur=0
while compteur <124 :
r e s u l t a t=r e s u l t a t+compteur
compteur=compteur+1
print ( r e s u l t a t )
1
2
3
4
r e s u l t a t =0
f o r compteur in range ( 0 , 1 2 4 , 1 ) :
r e s u l t a t=r e s u l t a t+compteur
print ( r e s u l t a t )
Entre lucien1 et lucien2, saisir et exécuter le programme qui vous semble le plus adapté.
Modifier le script python pour obtenir
100
X
k2 .
k=11
4
Chaînes de caractères
Quelle est la fonctionnalité du programme germaine.py
germaine.py
1
2
3
4
5
6
7
8
9
mot=i n p u t ( " Saisir ␣un␣mot␣ suivi ␣d’entrée␣:␣" )
p r e s e n t =0
f o r l e t t r e in mot :
i f l e t t r e ==’e ’ :
p r e s e n t =1
i f p r e s e n t ==1:
print ( "e␣est␣présent␣dans␣"+mot )
else :
print ( mot+"␣ne␣ contient ␣pas␣de␣e" )
Proposer à partir de ce script un programme qui détermine combien de lettres ont les mêmes occurences
(i.e. même lettre à la même position) dans deux mots de même longueur proposés par l’utilisateur.
Transformer ce programme en fonction verification(mot1,mot2) qui retourne le nombre de lettres
placées au même endroit dans ces deux mots.
5
PROBLÈME : Variante non commerciale du Master Mind
On se propose ici de programmer le jeu dont les règles sont les suivantes :
Deux personnes jouent : Lucien et Germaine 1 .
Pour commencer, l’ordinateur demande à Lucien de choisir un mot « secret » de 5 lettres que Germaine
va devoir déterminer par essais successifs (les lettres sont non accentuées).
Germaine doit alors proposer des mots de 5 lettres ; l’ordinateur lui indique à chaque fois uniquement
le nombre de lettres bien placées.
La partie est terminée lorsque Germaine a découvert le mot secret de Lucien.
Guide algorithmique 2 :
Demander la saisie d’un mot secret de 5 lettres.
Tant que le mot secret n’est pas découvert faire :
Demander la saisie d’un mot de 5 lettres (qui sera soumis à proposition).
Tester le nombre de lettres en bonne position et l’afficher ( utiliser la fonction créée précédemment).
Afficher «c’est gagné».
1. Vous interpréterez, le jeu étant programmé, les rôles de Lucien et Germaine alternativement.
2. ... uniquement parce que c’est le début !
2
TP Informatique - Introduction à Python
Lycée Montesquieu