Lycée Madeleine Michelis - ECE1 Mathématiques - 2016/2017 Travaux Pratiques 5 : Instructions conditionnelles : if . . . then . . . else . . . end Dans ce TP, nous nous intéressons à la programmation d'instructions qui ne sont exécutées que lorsqu'une certaine condition est vériée. 1 La structure if . . . then . . . end Taper le code dans l'éditeur et compiler. Code 1 2 3 a=input ( " Donner une v a l e u r non n u l l e 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 : " ) ; 4 5 d e l t a = b^2 −4*a* c ; 6 7 8 9 i f d e l t a < 0 then disp ( " I l n ' ' y a pas de r a c i n e r e e l l e " ) ; end Que fait ce code ? Tester ce code avec les polynômes P (x) = 4x2 + 2x + 4 et Q(x) = x2 + x − 1. 2 La structure if . . . then . . . else . . . end Dans l'éditeur de Scilab taper puis compiler le code suivant. Code 1 2 3 4 5 6 7 function [ y]= va ( x ) i f x >= 0 then y=x ; else y=−x ; end endfunction Dans la console, taper va(2), va(-2), va(-10) . . . Reconnaissez-vous cette fonction ? La structure "if . . . then . . . else . . . end" permet d'exécuter une action lorsque la condition contenue dans le "if" est vériée. Si cette condition n'est pas vériée, alors c'est l'action qui se trouve dans 1 Lycée Madeleine Michelis - ECE1 Mathématiques - 2016/2017 le else qui est exécutée. Dans l'exemple précédent, if sert à déterminer si x est supérieur ou égal à 0. Si c'est le cas on retourne x, sinon on retourne −x. Exercice 1 Écrire un programme qui donne le maximum entre 2 réels a et b. Remarquez que Scilab dispose des fonctions max et min que nous n'utiliserons pas ici. Exercice 2 Écrire un programme qui calcule n! pour n entier naturel. Remarquez que Scilab permet d'utiliser ! pour calculer les factorielles, mais nous n'utiliserons pas cette instruction ici. 3 La structure if . . . elseif . . . else . . . end Cette structure se présente ici : if condition1 then action1 elseif condition2 then action2 elseif condition3 then action3 else action4 end Vous pouvez bien sûr rajouter autant de elseif que nécessaire ! Exercice 3 Programmer une fonction qui étant donnée les coecients d'un polynôme du second degré : a, b et c calcule le discriminant et donne les deux racines si le discriminant est strictement positif, l'unique racine si le discriminant est nul et ache "il n'y a pas de racine" si le discriminant est strictement négatif. 2 Lycée Madeleine Michelis - ECE1 Mathématiques - 2016/2017 Exercice 4 Écrire un programme qui ache les commentaires suivants en fonction de la température T : T <0 "Froid" 0 ≤ T < 10 "Frais" 10 ≤ T < 15 "Doux" 15 ≤ T "Chaud" Exercice 5 Écrire une suite d'instructions simulant la saisie du code condentiel d'une carte bancaire : le code condentiel est une donnée du programme ; l'utilisateur a trois essais pour taper le bon code. Fin 3