• Aucun résultat trouvé

TP 6

N/A
N/A
Protected

Academic year: 2022

Partager "TP 6"

Copied!
2
0
0

Texte intégral

(1)

ECO1 LMA 2016-2017

Structures conditionnelles

TP6

En algorithmique, on est tr`es souvent amen´e `a effectuer des instructions sous certaines conditions. Les conditions sont des expressions logiques qui peuvent ˆetre vraies ou fausses (par exemple la comparaison de deux valeurs).

Pour effectuer un test conditionnel, on utilise une boucleif. Cette boucle doit toujours ˆetre ferm´ee par unend.

Il y a trois syntaxes diff´erentes pour une boucleif.

Version courte:

1 if...then...end

Dans ce cas, on fait un seul test. Si la condition est vraie, les instructions entre lethen et leendde la boucle sont effectu´ees.

Si laconditionest fausse, lesinstructionsentre lethenet leend de la boucle sont ignor´ees.

--> if condition then instructions end

Exercice 1 1. Entrer dans l’´editeur de Scilab les instructions suivantes:

a=input( ’ Donner une v a l e u r non n u l pour a : ’ ) b=input( ’ Donner une v a l e u r pour b : ’ )

c=input( ’ Donner une v a l e u r pour c : ’ ) x=bˆ2−4∗a∗c

i f x>0 then

disp( ’ Le d i s c r i m i n a n t e s t s t r i c t e m e n t p o s i t i f . ’ ) x1=(−b−sqrt( x ) ) / ( 2∗a )

x2=(−b+sqrt( x ) ) / ( 2∗a )

disp( ’ Les r a c i n e s d i s t i n c t e s s o n t ’+s t r i n g( x1)+ ’ e t ’+s t r i n g( x2)+ ’ . ’ ) end

2. Enregistrer et ex´ecuter. Tester avec les polynˆomes suivants:

P1(x) =x2−4x+ 4, P2(x) =x2+ 5x+ 4, P3(x) = 2x2+x+ 2.

Version interm´ ediaire:

2 if...then...else...end

Ici aussi, on fait un seul test. Si laconditionest vraie, le premier bloc d’instructions (instructions1) entre le thenet le elsede la boucle est effectu´e. Si la condition est fausse, le deuxi`eme bloc d’instructions (instructions2) entre leelseet leendde la boucle est effectu´e.

--> if condition then instructions1

else

instructions2

end

Exercice 2 Construire une suite d’instructions qui ´etant donn´es deux r´eelsaet b, donne le maximum deaet deb. Notons que Scilab dispose de fonctionsmaxetminqu’on n’utilisera pas ici.

Exercice 3 Tracer sur l’intervalle [−2,5] la fonction d´efinie par:

f(x) =

x si x≥0, x2 si x <0.

1

(2)

ECO1 LMA 2016-2017

Version longue:

3 if...then...elseif...else...end

Dans ce cas, on fait plusieurs tests. Si la condition1 est vraie, le premier bloc d’instructions (instructions1) est effectu´e. Si la condition1 est fausse, on fait un deuxi`eme test. Si lacondition2 est vraie, le deuxi`eme bloc d’instructions (instructions2) est effectu´e. Ce proc´ed´e est r´ep´et´e jusqu’`a laconditionk−1. Si la conditionk−1 est vraie, le bloc d’instructions (instructionsk−1) est effectu´e. Si la conditionk−1 est fausse, le dernier bloc d’instructions (instructionsk) est effectu´e.

--> if condition1 then instructions1

elseif condition2 then instructions2

...

elseif conditionk−1 then instructionsk−1

else

instructionsk end

Exercice 4 1. Modifier les instructions donn´ees dans l’exercice 1 pour que, ´etant donn´es les trois coefficients a, b, c d’un polynˆome P(X) = aX2 +bX +c, on ait en sortie les deux racines distinctes de P (si le discriminant est strictement positif) ou l’unique racine double de P (si le discriminant est nul) ou le message ”P n’admet pas de racine” (si le discriminant est strictement n´egatif).

Remarque. Pour tester une ´egalit´e sur Scilab, on utilise la commande==.

2. Enregistrer et ex´ecuter. Tester avec les polynˆomes donn´es `a l’exercice 1.

Exercice 5 Construire une suite d’instructions avec en entr´ee la moyenne g´en´eralem d’un ´etudiant de classe pr´eparatoire et en sortie le message:

• ”Passage en classe sup´erieur avec les f´elicitations du conseil de classe” sim≥14,

• ”Passage en classe sup´erieur avec les encouragements du conseil de classe” si 14> m≥12,

• ”Passage en classe sup´erieur” si 12> m≥10,

• ”Redoublement” si 10> m.

Exercice 6 Ecrire une suite d’instructions simulant la saisie du code confidentiel d’une carte bancaire:´ le code confidentiel est une donn´ee du programme; l’utilisateur a trois essais pour taper le bon code.

2

Références

Documents relatifs

[r]

Perdre ses photos de vacances : ¸ca n’a pas de

Une exp´ erience par coloration a montr´ e qu’une rivi` ere souterraine alimente une r´ esurgence dans la vall´ ee. La rivi` ere souterraine a un d´ ebit tr` es sensible aux

a - Calculer pour chaque sou-espace la performance moyenne et enregistrer le r´ esultat dans un data frame (utiliser summaryBy si possible).. b - Rep´ erer les 3 sous-espaces les

c - Comparer de nouveau, ` a l’aide d’un test statistique, les moyennes des 4 s´ eries de donn´ ees ` a partir de sous-´ echantillons al´ eatoires de taille 30. Exercice 4 :

b - Le fichier ruban-3 initial final.csv contient la longueur de la trajectoire suivie par la pro- cession au d´ ebut (lorsque la tˆ ete atteint le point d’arriv´ e) et ` a la fin de

b - Ecrire une fonction carres qui affiche une ligne de carr´ es dont les intensit´ es de couleurs rouges, bleues et vertes sont contenues dans trois tableaux d’entier de mˆ

b - Le fichier ruban-3 initial final.csv contient la longueur de la trajectoire suivie par la pro- cession au d´ ebut (lorsque la tˆ ete atteint le point d’arriv´ e) et ` a la fin de