TP 2. Instruction conditionnelle IF
Exercice I.
Pour chacun des programmes qui suivent :
1. Le recopier dans Scinotes, et l'exécuter plusieurs fois.
2. Expliquer son fonctionnement.
programme A. programme B. programme C.
x=input('entrez un nombre') ; if x<0 then
disp('est négatif',x) ; elseif x==0 then
disp('est nul',x) ; elsedisp('est positif',x) ; end ;
x=input('entrez un réel') ; y=input('entrez un second réel') ; if (x>0) & (y>0) then
z=log(x)*log(y) ; disp(z) ;
elsedisp('erreur') ; end ;
x=input('entrez un réel') ; y=input('entrez un second réel') ; if (x<=0) | (y<=0) then
disp('calcul impossible') ; elsez=log(x)*log(y) ;
disp(z) ; end ;
Exercice II.
On considère la fonctionf dénie surRpar f(x) =
x3+ 3x−2 , si x≤0 xln(x) , si 0< x≤2 3x−5 , si x >2 1. Dans un programme créer la fonctionf.
2. Exécuter ce programme pour plusieurs valeurs dex, de manière à vérier son bon fonctionnement.
3. Acher une représentation graphique deCf.
Exercice III.
1. Résoudre l'équation 4x+ 7 = 0. 2. On considère l'équationax+b= 0.
Si a= 0, à quelle condition cette équation admet-elle des solutions ? N'admet-elle aucune solution ? 3. Ecrire un programme qui résoud l'équationax+b= 0, en distinguant suivant les diérents cas de gure.
4. Le tester dans le cas oùa= 4 etb= 7, puisa= 0etb=−3, et enna= 0et b= 0.
Exercice IV.
On considère une équation du second degré ax2+bx+c= 0, oùa,betc sont trois paramètres réels.
(On pourra utiliser deux instructions IF imbriquées l'une dans l'autre.) 1. Construire un programme intitulé "second_degre" qui :
demande à l'utilisateur d'entrer les valeurs des paramètresa,bet c; renvoie un message d'erreur si l'utilisateur a rentré la valeura= 0; résoud l'équation sia6= 0.
2. Tester le programme sur les exemples suivants : a. x2−2 = 0
b. x2+ 1 = 0
c. x2−4x+ 4 = 0 d. 3x2+ 2x−7 = 0
e. −2x2+ 7x−8 = 0 f. 147x2+ 561x−422 = 0
Exercice V.
1. Compléter le programme précédent pour qu'il ache également le tableau de signe du trinômeax2+bx+c, sous une forme très simpliée, par exemple du type " + 0 − 0 + ".
2. Compléter le programme précédent pour qu'il ache également la courbe du trinômeax2+bx+c. 3. Le tester sur les équation précédentes.
1
Exercice VI.
Voici les diérentes tranches d'imposition sur le revenu annuel en2013:
−jusqu'à5963e : 0 %
−de5963à11896 e : 5.5 %
−de11896à 26420e : 14 %
−de26420à 70830e : 30 %
−de70830à 150000e : 41 %
−à partir de150000e : 45 %
Par exemple, une personne gagnant10000eannuels ne sera pas imposée sur les5963premiers euros, et paiera : (10000−5963)× 5.5
100 = 222.04ed'impôts.
1. Créer un programme demandant à l'utilisateur son salaire annuel, et renvoyant son impôt sur le revenu.
2. Vérier le programme sur l'exemple précédent.
3. Calculer l'impôt d'une personne gagnant (annuellement) : a. 20000 e
b. 30000 e c. 100000e d. 1000000 e
e. 10000000e
4. Une personne paye3000ed'impôts. Quel est son salaire annuel ? Justier par le calcul.
Exercice VII.
Ecrire un programme réalisant la facturation d'un article livré en un ou plusieurs exemplaires. On fournira en données le nombre d'articles et le prix unitaire hors-taxe. La TVA sera de 20.6%. Si le montant TTC dépasse 1000 e, on établira une remise de 5%. Si le montant TTC dépasse 2000 e, on établira une remise de 8%. On cherchera à ce que le dialogue se présente comme dans l'exemple ci-dessous ainsi :
nombre d'articles : 12
prix unitaire hors taxe : 80.59 montant hors taxe : 967.08 montant TTC : 1166.30 remise : 58.32
net à payer : 1107.98
2