Vous êtes sur la page 1sur 4

TD 2 

: Condition si....alors.....sinon.

La structure « si....alors.....sinon.... » permet de définir une condition : si cette condition est remplie, alors
on effectuera une instruction ; sinon, on effectuera une autre instruction.

Énoncé :
On peut lire à l'entrée d'un magasin :
« Aujourd’hui, pour tout achat, nous vous offrons une remise de 30 €. Et si le montant de vos achats atteint
150 €, nous vous offrons une remise de 50 € ! »

On commence par réécrire l'algorithme dans un langage proche du langage courant qui donne toutes les
étapes pour y parvenir.

Variable : M est un nombre.


Entrée : Demander à l'utilisateur la valeur de M.
Traitement : Si M ⩾150
Alors afficher « le prix à payer est » M −50 .
Sinon afficher « le prix à payer est » M −30 .
Fin Si

En Python :

Exercice 1  :

Pour les résultats du baccalauréat, l'ordinateur indique :


• « admis » si l'élève a obtenu à l'écrit une moyenne supérieure ou égale à 10.
• « oral » si sa moyenne appartient à l'intervalle [8;10[
• « recalé » sinon.

1. Écrire un algorithme qui permet à l'ordinateur d'afficher le résultat en fonction de la moyenne du


candidat.
2. Traduire l'algorithme en langage Python puis le tester avec les moyennes suivantes 7, 9 et 13.

Exercice 2 :
Un magasin applique la réduction suivante :
si le prix de l'article est supérieur à 50 €, alors il applique 30 % de remise ; sinon, il applique 10 % de
remise.
Proposer un algorithme qui permette d'afficher le prix après réduction lorsque l'on saisit le prix de l'article
avant réduction.

Exercice 3 :

Écrire un algorithme qui demande à l'utilisateur de saisir trois nombres strictement positif et qui précise si
ces nombres peuvent être associés aux mesures des côtés d'un triangle, et, dans ce cas, la nature du triangle
(équilatéral, rectangle, isocèle, etc.).

Exercice 4 :

1. Écrire un algorithme demandant deux nombres distincts et donnant en sortie le plus grand des deux.
2. Un commerce de reprographie facture 0,20 € par photocopie les 20 premières photocopies et 0,10 € par
photocopie les suivantes.
a. Quel est le montant payé pour 15 photocopies ? pour 50 photocopies ?
b. Écrire un algorithme permettant de calculer le montant payé quand le nombre de photocopies est donné.
Programmer cet algorithme, puis vérifier les résultats de la question a.

Exercice 5 :

Une fondation attribue des bourses à des étudiants selon leur revenu imposable. Si ce revenu est supérieur
ou égal à 30 000 € par an, l'étudiant n'a pas de bourse.
Si ce revenu est supérieur ou égal à 15 000 € par et strictement inférieur à 30 000 € par an, le montant de la
bourse est égal à 1 200 € auquel on retranche 5 % du revenu.
Si le revenu imposable est strictement inférieur à 15 000 € par an, le montant de la bourse est égal à 1 500 €
auquel on retranche 3 % du revenu.
Écrire un programme Python permettant de calculer le montant annuel de bourse en fonction du revenu de
l'étudiant ?

Exercice 6 :

Une année (qui correspond à la durée de révolution de la Terre autour du Soleil) dure 365,2422 jours. Afin
que notre calendrier coïncide avec cette période, certaines années durent 365 jours et d'autres 366 jours.
La partie décimale de 365,2422 valant presque un quart, on ajoute tous les 4 ans 1 jour à notre calendrier (le
29 février).
Le critère retenu pour déterminer si une année est bissextile ou non est le suivant :

Règle 1 : Si l'année est divisible par 4 alors c'est une année bissextile.
Par exemple, 2011 n'est pas une année bissextile, car 2011 n'est pas divisible par ( 2011
4 )
≈502,75 .

En revanche, 2012 est une année bissextile (


2012
4
=503 . )
Règle 2 : une année qui est divisible par 100 (par exemple, 1900) est une année bissextile uniquement si elle
est également divisible par 400. 

Écrire un programme Python permettant de savoir si l'année est bissextile.


Exercice 7 : (les fonctions)

1. On considère la fonction ci-dessous.

Recopier le script et écrire le résultat ci-dessous.


a. test(4697) b. test(4697643) c. Que teste cette fonction ?

2. On a modifié la fonction précédente comme ci-dessous.

a. test(4697) b. test(4697643) c.Expliquer ce que revoie cette fonction test2/

Exercice 8 :
On considère le programme ci-dessous écrit avec deux fonctions.

1. Combien la fonction signe possède-t-elle de paramètres ? Lesquels ?


2. Quel est le résultat renvoyé par l’instruction signe(f , 6)
3. Que réalise la fonction signe ?
4. On écrit dans la console l’expression suivante.
signe( lambda x : x*x+2*x-5,7)
Que permet l’instruction lambda ?

Exercice 8 :
Écrire le script d’une fonction que l’on appellera racine qui renvoie comme résultat la valeur √ f ( x) pour
une fonction donnée calculée en un réel x donné lorsque le calcul est possible et revoie comme résultat le
mot ‘non définie’ sinon. On n’oubliera pas d’importer la bibliothèque math.
On testera votre script avec la fonction f ( x )=−3 x +4 avec x=−5 puis avec x=10 .

Exercice 9 :

Un automobiliste roule d’abord à 90 km/h pendant deux heures, puis roule à 120 km/h.
Écrire un script d’une fonction que l’on appellera distance qui renvoie la distance parcourue pour un temps t
de parcourt exprimé en heure.
Tester votre fonction avec t = 1,5 h puis t = 3,5 h
Exercice 10 :
On considère l’équation 2 x 2 −180 x+ 2002=0 . On admet que cette équation a deux solutions entières
comprises entre 0 et 100.
1. On donne le programme d’une fonction equa1.

a. Tester cette fonction, que renvoie-t-elle ? Expliquer le résultat ?


b. Modifier cette fonction pour qu’elle retourne la solution de notre problème.

Exercice 11:
Dans les années 1960, un jeu télévisé américain proposait aux participant de partir avec ce qu’il trouvait
derrière une porte .
Dans ce jeu, le candidat est face à trois portes. Il sait que derrière une porte est cachée une voiture et derrière
chacune des deux autres, est cachée une chèvres. Il choisit au hasard une porte sans l’ouvrir. Le présentateur,
Monty Hall, qui sait où se cache la voiture, ouvre l’une des deux portes qui cache une chèvre.
Puis il propose au candidat, soit de conserver son premier choix, soit de changer de porte.
Le but de cet exercice est de déterminer la meilleur stratégie pour le candidat du point de vue des
probabilités.
Il permet de simuler plusieurs parties et de comparer les fréquences de victoires en changeant de porte et les
fréquences de victoires en conservant la porte initialement choisie par le candidat.

1. Copier et exécuter le script ci-dessous plusieurs fois et conjecturer la meilleure stratégie.


2. Écrire un script d’une fonction que l’on appellera jeu qui aura en paramètre n et qui permet de simuler n
jeux et qui renvoie la fréquence des parties gagnées en changeant de portes ainsi que la fréquences des
parties gagnées sans changer de portes.
On testera ce script avec n = 1000.

Vous aimerez peut-être aussi