2 2010-2011 On se propose d'écrire un algorithme permettant de déterminer des valeurs approchées des solutions (éventuelles) d'une équation du second degré et d'implémenter cet algorithme avec AlgoBox ou sur une calculatrice scientifique. On considère le polynôme du second degré P(x) = ax² + bx + c. On se propose de résoudre l'équation P(x) = 0 1) Ecriture de l'algorithme a) Quels sont les paramètres en entrée de l'algorithme? b) A l'aide de quelle structure algorithmique, peut-on traiter la discussion sur le de nombre de solutions de l'équation? c) Proposer un algorithme répondant au problème posé. 2) Implémentation sous AlgoBox a) Implémenter l'algorithme proposé à l'aide d'algobox b) Le tester pour résoudre les équations suivantes : 3x² + 9x - 30 = 0 x² + 3x - 2 = 0 3x² + x + 2 = 0 49x² - 14x + 1 =0 Quelle est la différence pour les solutions obtenues pour la première équation par rapport à celles de la deuxième équation ou la quatrième équation? c) Donner les solutions réelles exactes des équations ayant des solutions. 3) Implémentation de l'algorithme sur une calculatrice graphique a) Implémenter l'algorithme sur une calculatrice programmable. b) Tester le programme avec les mêmes équations que dans la question 2) b). 4) Comparaison avec un logiciel de calcul formel Résoudre les équations précédentes à l'aide du logiciel XCas et de la commande resoudre et expliquer les différences obtenues avec AlgoBox ou la calculatrice. 4) Prolongement possible Expliquer comment adapter l'algorithme précédent pour déterminer les valeurs exactes d'une équation de la forme ax² + bx + c = 0 dans le cas où a, b et c sont des entiers. 1
1) a) Les paramètres en entrée de l'algorithme sont les trois coefficients a, b et c. b) Le nombre de solutions de l'équation du second degré dépend du signe du discriminant. On détermine le nombre de solutions de l'équation à l'aide d'une structure : "Si. alors. Sinon.. finsi" c) Début algorithme équation second degré Données : Traitement fin algorithme Lire a,b,c a, b,c : paramètres delta : discriminant de l'équation x1,x2 : les solutions éventuelles de l'équation delta = b*b - 4*a*c Si delta < 0 alors sinon finsi afficher "Pas de solution" Si delta = 0 alors sinon finsi x1 prend la valeur -b/2/a Afficher "une solution double : " + x1 x1 prend la valeur (-b - racine(delta))/2/a x2 prend la valeur (-b + racine(delta))/2/a Afficher "deux solutions distinctes " + x1 + " et " + x2 2
2) a) resolution_equation_second_degre - 08.08.2010 ****************************************** Algorithme qui résout (en donnant des valeurs approchées des solutions éventuelles) une équation du second degré de la forme ax² + bx + c = 0 où a, b et c sont des coefficients réels. ****************************************** 1 VARIABLES 2 a EST_DU_TYPE NOMBRE 3 b EST_DU_TYPE NOMBRE 4 c EST_DU_TYPE NOMBRE 5 delta EST_DU_TYPE NOMBRE 6 x1 EST_DU_TYPE NOMBRE 7 x2 EST_DU_TYPE NOMBRE 8 DEBUT_ALGORITHME 9 LIRE a 10 LIRE b 11 LIRE c 12 delta PREND_LA_VALEUR b*b-4*a*c 13 SI (delta<0) ALORS 14 DEBUT_SI 15 AFFICHER "Pas de solution" 16 FIN_SI 17 SINON 18 DEBUT_SINON 19 SI (delta==0) ALORS 20 DEBUT_SI 21 x1 PREND_LA_VALEUR -b/2/a 22 AFFICHER "Une solution réelle double : " 23 AFFICHER x1 24 FIN_SI 25 SINON 26 DEBUT_SINON 27 x1 PREND_LA_VALEUR (-b - sqrt(delta))/2/a 28 x2 PREND_LA_VALEUR (-b + sqrt(delta))/2/a 29 AFFICHER "Deux solutions réelles : " 30 AFFICHER x1 31 AFFICHER " et " 32 AFFICHER x2 33 FIN_SINON 34 FIN_SINON 35 FIN_ALGORITHME b) 3x² + 9x - 30 = 0 3
x² + 3x - 2 = 0 3x² + x + 2 = 0 49x² - 14x + 1 =0 Les solutions données par AlgoBox pour l'équation 1 sont des solutions exactes tandis que pour les équations 2 et 4 ce sont des valeurs approchées des solutions exactes. c) Pour l'équation 2 : x² + 3x - 2 = 0 = 3² - 4 1 (-2) = 17 Les deux solutions réelles sont : -3-17 2-3,56 et -3 + 17 2 0,56. Pour l'équation 4 : 49x² - 14x + 1 = 0 = (-14)² - 4 49 = 0 Une solution réelle double : 14 2 49 = 1 7 0,14 4
3) Programme pour calculatrices TI* : :Input A :Input B :Input C :B*B -4*A*C D :If D < 0 :Then :Disp "Pas de solution reelle" :Else :If D = 0 :Then :-B/2/A X :Disp "Une solution reelle double : ",X :Else :(-B - :(-B + D)/2/A X D)/2/A Y :Disp "Deux solutions reelles : ",X,Y :End :End 4) Avec Xcas : XCas fournit les valeurs exactes des solutions. C'est pour cela que l'on dit que c'est un logiciel de calcul formel. 5
4) Il faudrait implémenter la simplification des racines carrées (par exemple à partir de la décomposition d'un entier en produit de facteurs premiers) ainsi que la simplification des fractions en fraction irréductible (à partir du calcul du PGCD par exemple). 6