Algorithmique Séance N : Instructions conditionnelles A) Introduction au langage de programmation. Il s agit ici de présenter les mots à écrire dans une machine (calculatrice, ordinateur) afin de traduire un algorithme sous une forme qui pourra être comprise par la machine. Ainsi, une fois la traduction faite, une personne désireuse de faire fonctionner l algorithme n aura qu à préciser à la machine l Entrée pour que cette dernière réponde automatiquement la Sortie correspondante. 1) Calculatrice. Vocabulaire : La traduction d un algorithme dans le langage de la calculatrice s appelle un programme de l algorithme. a) Texas Instrument. Nous allons d abord commencer par créer un nouveau programme :
Nous allons transformer l algorithme donné ci-dessus (en langage naturel) en programme dans le langage Texas Instrument : ENTRER X. DANS A METTRE X ^. DANS B METTRE 3 X. DANS C METTRE A + B 7. AFFICHER C. f x = x + x. Cet algorithme calcule l image du nombre x par la fonction ( ) 3 7 Voici ce que vous devez saisir : PROMPT X X ^ A 3 X B A + B 7 C DISP " F ( X ) = ",C Plus généralement voici des indications pour effectuer la saisie d un programme. Le symbole s'obtient par la touche :.
Une fois le programme précédent mémorisé dans la calculatrice Texas Instrument, quittons l édition du programme par la fonction QUITTER (touches ). ). Plaçons-nous du point de vue de l utilisateur pour le faire fonctionner. Voici la démarche :. Pour l utilisateur le déroulement du programme se réduit à l Entrée de X (par exemple, à la question X =?, on entre le nombre ) puis à l affichage de la Sortie (le nombre 3 dans notre exemple car f ( ) = + 3 7 = 3). Les calculs intermédiaires n apparaissent pas. b) Casio. Si vous avez cette marque de calculatrice, voici les spécificités de ces calculatrices. Par la touche Menu puis le choix PRGM qu on valide à l aide de EXE on peut : Créer un nouveau programme par la touche F3 (choix NEW du bandeau) puis le nom du programme et enfin EXE. Editer un programme déjà créé par la touche F (choix EDIT du bandeau) puis EXE. On quitte l édition du programme par la touche QUIT. Exécuter un programme déjà créé par la touche F1 (choix EXE du bandeau. Nous allons transformer l algorithme donné ci-dessus (en langage naturel) en programme dans le langage Casio : ENTRER X. DANS A METTRE X ^. DANS B METTRE 3 X. DANS C METTRE A + B 7. AFFICHER C. f = + x. Cet algorithme calcule l image du nombre x par la fonction ( x) x 3 7 Voici ce que vous devez saisir :? X X ^ A 3 X B A + B 7 C " F ( X ) = ":C
Exercice n 1 : 1) Ecrire, dans votre calculatrice, le programme correspondant à l algorithme suivant: ) Tableur. ENTRER X DANS A METTRE X + 1 DANS B METTRE X DANS C METTRE A/ B AFFICHER C ) Tester ce programme avec X = 6 puis avec X =. Que se passe-t-il? Pourquoi? Nous utilisons, ici, le tableur CALC d OPEN OFFICE. Une feuille de calcul du tableur CALC d OPEN OFFICE est un tableau dans lequel on repère chaque colonne par une lettre (A; B; C; etc.) et chaque ligne par un nombre (1 ; ; 3 ; 4 ; etc.). La case du tableau située sur la colonne B et sur la ligne 3 s appelle la cellule B3. Dans chaque cellule, on peut entrer un nombre, une formule ou une chaine de caractères. Pour entrer un nombre il suffit de saisir sa valeur. Une formule doit commencer par le caractère réservé = (égal). Exemple : Dans la cellule A1 on a saisi le nombre 49. Dans la cellule A on a saisi la formule =A1+5 puis la touche ENTRER. Instantanément, la valeur du résultat s affiche : dans la cellule A, on peut lire 497. Si l on souhaite modifier la formule on appuie sur la touche F. Lorsqu on modifie le nombre dans la cellule A1, le résultat de la cellule A change puisque la formule =A1+5 fait référence au contenu de la cellule A1. Exercice n : Dans la cellule A1 on a saisi le nombre x et dans la cellule A on a saisi le nombre y. 1) Quelle formule écrite dans la cellule C1 affichera le résultat du calcul x y? x ) Quelle formule écrite dans la cellule D1 affichera le résultat du calcul? x + y x 3y 3) Quelle formule écrite dans la cellule E1 affichera le résultat du calcul? ( ) x + 1 B) Instruction conditionnelle. Exemple : Promotion sur le riz complet Dans un magasin d aliments biologiques les céréales sont vendues au poids. Le riz complet est à 10 le kilogramme. Lorsque le poids de riz acheté dépasse kg, le riz supplémentaire acheté est au prix de 5 le kg. On a représenté ci-dessous le prix p (en ) d un poids x (en kg) de riz complet dans ce magasin :
Pour le calcul du prix d un poids de x kg de riz complet nous devons : décider si x < ou si x. puis tenir compte du fait que le prix p est une fonction affine du poids x. Un moyen de calculer p ( x) est, au préalable, de tester la condition x <. L algorithme suivant regroupe les deux cas : Entrée : ENTRER x Traitement : SI x < ALORS DANS p METTRE10 x SINON DANS p METTRE 5 x + 10 FIN DU SI Sortie : AFFICHER p Cet algorithme peut se transcrire dans le langage de la calculatrice par le programme :
Remarque : Pour traduire la phrase SI ALORS SINON FIN DU SI nous avons eu recours à de nouveaux termes du langage appelés instructions conditionnelles. 1) Pour les Texas Instruments, ces instructions se composent d une structure de la forme : If condition : Then opération1 : Else opération : End. ) Pour les Casio, ces instructions se composent d une structure de la forme : If condition : Then opération1 : Else opération : IfEnd. 3) Pour le tableur, on peut utiliser dans une formule la fonction : SI(condition; résultat1; résultat) qui renvoie un résultat. Exercice n 3 : On s intéresse à l algorithme suivant : Entrée : ENTRER a et b (nombres réels) Traitement : DANS c METTRE a b DANS s METTRE 1 SI c < 0 ALORS DANS s METTRE 1 SINON SI c = 0 ALORS DANS s METTRE 0 FIN DU SI FIN DU SI Sortie : AFFICHER s 1) Faites fonctionner cet algorithme avec les entrées : a) a = 6 et b = 0, 5. b) a = 6 et b = 0, 5. c) a = 6 et b = 0, 5. d) a = 6 et b = 0, 5. ) Que fait cet algorithme? Exercice n 4 : 1) Dans un tableur, on rentre un nombre dans la cellule A1. On tape ensuite dans la cellule A la formule suivante : = SI(A1<0; «NEGATIF»; SI(A1>0; «POSITIF»; «NUL»)) Expliquer le résultat qui s affiche. ) A l aide d une structure conditionnelle If Then Else End, écrire un programme dont la Sortie est la chaine de caractères «POSITIF», «NEGATIF» ou «NUL» selon que l Entrée x vérifie x > 0 ; x < 0 ou x = 0. Exercice n 5 : Ecrire un algorithme en langage naturel puis le programme correspondant nommé «SUR CF» qui demande à l utilisateur les coordonnées d un point et lui affiche si ce point est ou non sur la courbe représentative de la fonction définie par : f ( x) = x 3x + 1.
Exercice n 6 : On s intéresse à la distance parcourue par un cycliste en fonction du temps écoulé depuis son départ. Le trajet du cycliste peut se découper en 4 phases correspondant aux intervalles de temps : [ 0 ; 1] ; [ 1 ; 1,5] ; [ 1,5 ; ] et [ ; 3]. Sur chacun de ces intervalles la distance parcourue d est une fonction affine du temps écoulé t puisque sur chaque intervalle la courbe de cette fonction est un segment de droite. On admet que : Si [ 0 ; 1[ Si [ 1 ; 1,5[ 1,5 ; ; 3 t alors : d( t) = 30t ; t alors : ( t) = 10 t + 0 Si t [ [ alors : d ( t) = 35 ; Si t [ ] alors : ( t) = 40t 45 d ; d. 1) Ecrire un algorithme pour qu il donne en sortie la distance d parcourue à l instant t (t en entrée). ) Taper, sur votre calculatrice, le programme correspondant à cet algorithme.