TP n 5 – Algorithmique : instructions conditionnelles

publicité
Lycée Jean Bart – PCSI – Année 2013-2014 – 19 & 26 novembre 2013
TP n05 – Algorithmique :
instructions conditionnelles
Objectifs du TP
Le but principal de ce TP est de mettre en pratique ce que vous avez vu en cours concernant les instructions
conditionnelles (principalement : “SI-ALORS” et “SI-ALORS SINON”). ∗
Il s’agit donc du dernier volet de votre apprentissage des bases de programmation. Dans ce domaine en effet, “tout”
repose principalement sur des boucles et des instructions conditionnelles.
Quelques remarques importantes avant de rentrer dans le vif du sujet :
ä N’oubliez pas de sauvegarder votre travail : pensez à enregistrer vos programmes dans votre dossier “Travail”
(où vous aurez pris soin de créer un sous-dossier “Informatique”). Faites en sorte que ces sauvegardes soient
organisées : par exemple, sauvegardez l’exercice 1 du TP 3 sous le nom tp03 ex01.py.
ä Vous avez un trou de mémoire ? Vous ne vous souvenez plus du nom de telle commande en Python, ou
de la syntaxe exacte pour un range ou un while ? Pensez que vous trouverez sur le site les énoncés des
exercices précédents, ainsi que les programmes correspondant à ces exercices. Vous y trouverez également
un aide-mémoire de syntaxe en Python : celui que vous avez eu en DS, et qui sera complété au fil des
séances, et en fonction de vos remarques. L’adresse électronique du site est :
www.pcsijbmath.sitew.fr
1. Traduction en Python des instructions conditionnelles
On donne ci-dessous la syntaxe en Python des instructions conditionnelles. Ne pas oublier qu’à l’instar des “for” et
des “while”, les instructions suivant un “if” devront être indentées (si on souhaite qu’elles dépendent de la condition
suivant le if).
ä if(condition):... else:
:si (condition) alors. . . sinon (“condition” étant un booléen)
ä if(condition 1):... elif(condition 2):...... elif(condition n):... else:
:si (condition 1) alors. . . autrement si (condition 2). . . . . . autrement si (condition n). . . sinon
∗. Et que vous connaissiez certainement déjà puisqu’elles sont au programme d’algorithmique en Lycée.
2
PCSI — Année 2013-2014 — Informatique: TP — 19 & 26 novembre 2013
2. Mise en application
Exercice 1. — Ecrire un programme qui demande à l’utilisateur son âge, et qui retourne “MAJEUR” ou
“MINEUR” suivant la réponse fournie.
Exercice 2. — Ecrire un programme qui demande à l’utilisateur une température (en degrés Celsius), et qui
retourne “LIQUIDE” si la température est comprise entre 00 et 1000 , “SOLIDE” si la température est en-dessous
de 00 et “GAZ” si la température est au-dessus de 1000 .
Exercice 3. — Lettres. Ecrire un programme demandant à l’utilisateur de saisir une lettre au clavier, et
de retourner “VOYELLE” si la lettre saisie en est une, et “CONSONNE” si c’est une consonne. †
1) Niveau 1 : on part du principe que l’utilisateur est bien intentionné, et qu’il va effectivement bien saisir une
lettre (pas n’importe quel caractère au clavier).
2) Niveau 2 : on part cette fois du principe que l’utilisateur peut taper n’importe quel caractère. Modifier le
programme précédent pour le programme affiche en outre un message comme “Vous n’avez pas tapé une lettre !”
s’il a effectivement rentré un signe de ponctuation ou le et commercial etc. . .
Exercice 4. — Minimum, maximum, moyenne.
1) Ecrire un programme demandant à l’utilisateur de saisir N valeurs (N étant un entier choisi par l’utilisateur),
et de retourner la plus grande de ces N valeurs. ‡
2) Modifier le programme précédent pour qu’il affiche en outre la plus petite et la moyenne des valeurs saisies.
Exercice 5. — Le jeu du plus ou moins. Créer un programme qui demande à l’utilisateur de deviner un
entier aléatoire entre 1 et 1000, et qui continue jusqu’à ce que la réponse convienne. §
A chaque proposition de l’utilisateur, le programme devra indiquer si le nombre saisi par l’utilisateur est plus grand
ou plus petit que le nombre à deviner. Et lorsque l’utilisateur a découvert le nombre, le programme affichera le
nombre d’essais nécessaire pour y parvenir. ¶
Exercice 6. — Horaires de bureau. Ecrire un programme demandant à l’utilisateur le jour et l’heure de
la semaine, et qui retourne “Bureau ouvert” ou “Bureau fermé” suivant les cas. Le bureau est ouvert du lundi au
vendredi de 9h à 16h, le samedi de 10h à 12h, et est fermé le dimanche.
†.
‡.
§.
¶.
On pourra trouver dans les exercices 8-9 du TP2 (que vous aviez à faire en DM) des indications sur les commandes à utiliser ici.
Pour gagner en efficacité, pensez à faire un copier-coller du programme que vous avez fait dans l’exercice 5 du TP 4.
S’inspirer de l’exercice 2 du TP précédent.
Si vous gagnez en 12 coups ou plus, vous vous y prenez maladroitement. . .
PCSI — Année 2013-2014 — Informatique: TP — 19 & 26 novembre 2013
3
Exercice 7. — Spaghettis.
Fait n0 1. Lorsqu’un spaghetti k se casse, il se casse toujours en trois morceaux.
Fait n0 2 (inégalité triangulaire). Dans un triangle, le plus grand côté est inférieur ou égal à la somme des
deux autres.
Problème. Quelle est la probabilité p que l’on puisse construire un triangle avec les trois morceaux d’un
spaghetti brisé ?
Construire un programme permettant de casser 10 000 spaghetti ∗∗ pour donner une valeur approchée de la probabilité p.
3. Bonus : Exercices supplémentaires sur le thèmes des instructions conditionnelles
Exercice 8. — “Demain”. Ecrire un programme demandant à l’utilisateur une date (JJ, MM et AAAA) et
retournant la date du lendemain (exercice que je vous ai suggéré de faire pour le mercredi 20 novembre).
Exercice 9. — “Signe astrologique”. Sur le même thème que le précédent, écrire un programme demandant
à l’utilisateur sa date de naissance, et qui retourne son signe astrologique.
Exercice 10. — “Delta”. Ecrire un programme donnant les solutions d’une équation du second degré à
coefficients réels (y compris dans le cas où ∆ < 0).
Exercice 11. — “Pythagore”. Ecrire un programme demandant à l’utilisateur de saisir les longueurs des
trois côtés d’un triangle, et qui détermine si ce triangle est rectangle ou non.
k. Cru.
∗∗. Ou alors briser 10 000 spaghetti à la main et compter ceux avec lesquels on peut construire un triangle.
Téléchargement