Seconde 4 Algorithme : Extrema d’une fonction avec la calculatrice 2010-2011 On se propose d’écrire un algorithme déterminant les valeurs approchées du minimum et du maximum d’une fonction définie sur un intervalle [a ;b] donné. On implémentera cet algorithme sur la calculatrice afin de déterminer Ymin et Ymax pour des valeurs Xmin et Xmax données et pour une fonction donnée. Principes de l’algorithme • On va balayer l’intervalle [a ;b] avec un pas h fixé au départ et mettre à jour trois variables x_courant (abscisse courante de l’intervalle), min_courant (minimum courant) et max_courant (maximum courant) • Pour chaque valeur de x comprise dans l’intervalle [a ;b], on teste si l’image de x par f est supérieure au Maximum courant. Si c’est le cas le maximum courant prend pour valeur l’image de x courante (f(x_courant)). • On procède de même pour le minimum. • Une fois l’intervalle [a ;b] balayé, on affiche les valeurs du Maximum et du Minimum 1) Ecrire l’algorithme ainsi décrit 2) Implémenter cet algorithme sur une calculatrice 3) Tests du programme • Tester le programme pour la fonction carré sur l’intervalle [-3;3] • Tester le programme pour la fonction f définie par f(x) = x3 -6x + 2 sur l’intervalle [2;2] • Tester ce programme pour la fonction inverse sur l’intervalle [-2;2] Que remarque –t-on ? Donner une explication. 1 Seconde Algorithme : Extremums d’une fonction avec la calculatrice CORRECTION 1) Ecrire l’algorithme ainsi décrit Algorithme Min Max Entrées pas x_courant : abscisse courante min_courant, max_courant Traitement Lire « pas », pas x_courant a min_courant f(a) max_courant f(a) tant que x_courant < b x_courant x_courant + pas Si f(x_courant) < min_courant alors min_courant f(x_courant) finsi Si f(x_courant) > max_courant alors max_courant f(x_courant) finsi Fin tant que Sorties Afficher « Maximum sur [a ;b] », max_courant Afficher « Minimum sur [a ;b] », min_courant 2 Seconde Algorithme : Extremums d’une fonction avec la calculatrice CORRECTION 2) Implémenter cet algorithme sur une calculatrice Implémentation sur calculatrice TI 83 ou TI84 : Input H PRGM I/O choix 1 (Input) : Xmin X VARS choix 1 (Window) :Y1 M VARS Y-VARS – choix 1 (Function) choix 1 (Xmin) STO choix 1 (Y1) :Y1 N :While X < Xmax PRGM CTL choix 5 (While) :If Y1 > M PRGM CTL choix 1 (If) :Then PRGM CTL choix 2 (Then) PRGM CTL choix 7 (End) PRGM I/O Choix 3 (Disp) 2ND TEST pour ≤ :X+HX : Y1 M : End :If Y1 < N :Then : Y1 N : End :End M Ymax N Ymin :Disp “MAX : ”,M :Disp “MIN : ”,N 3 Seconde Algorithme : Extremums d’une fonction avec la calculatrice CORRECTION Implémentation sur calculatrice TI NSPIRE Il faut au préalable dans un onglet contenant la fenêtre graphique créer les variables, xmin, xmax, ymin et ymax en les associant aux nombres figurant sur les axes du repère (avec un droit : ctrl menu puis 5. Stocker) Define extrema() Prgm Local pas,x x ≔ xmin ymin ≔ f1(x) ymax ≔ f1(x) Request "Pas ? ",pas While x < xmax x ≔ x + pas If f1(x) < xmin Then ymin ≔ f1(x) EndIf If f1(x) > xmax Then ymax ≔ f1(x) EndIf EndWhile Disp "Maxi = ",ymax Disp "Min = ",ymin EndPrgm 4 Seconde Algorithme : Extremums d’une fonction avec la calculatrice CORRECTION Implémentation sur calculatrice TI 89 :extrema() :Prgm :xmin x :y1(x) ymin :y1(x) ymax :Input "Pas : ",pas :While x < xmax :x + pas x :If y1(x) < ymin Then :y1(x) ymin :EndIf :If y2(x) > ymax Then :y1(x) ymax :EndIf :EndWhile :Disp "Maxi = ",ymax :Disp "Min = ",ymin :EndPrgm Implémentation sous calculatrice Casio ?H SHIFT PRGM F1 Xmin X VARS V-WIN F1 Y1 M VARS F2 F1 1 Y1 N While X < Xmax SHIFT PRGM F1 F1 X+HX If Y1 > M SHIFT PRGM F1 F1 VARS F1 1 SHIFT PRGM F1 F3 Then Y1 M SHIFT PRGM F1 F2 IfEnd SHIFT PRGM F1 F4 :If Y1 < N Then Y1 N IfEnd WhileEnd SHIFT PRGM F2 M Ymax N Ymin “MIN :“:M SHIFT ALPHA F2 (pour “) et SHIFT PRGM F3 (pour :) “MAX :”:N 5 Seconde Algorithme : Extremums d’une fonction avec la calculatrice CORRECTION 3) Tests du programme • Tester ce programme pour la fonction carré sur l’intervalle [-3;3] Le minimum calculé est 0 et le maximum 9. • Tester ce programme pour la fonction f définie par f(x) = x3 - 6x + 2 sur l’intervalle [-2;2] Le minimum calculé est environ -3,7 et le maximum environ 7,7. • Tester ce programme pour la fonction inverse sur l’intervalle [-2;2] Que remarque –t-on ? Donner une explication. Le programme affiche une division par zéro. En effet, la fonction inverse n’est pas définie sur [-2 ;2] car 0 n’ pas d’image par la fonction inverse. Donc le balayage de l’intervalle [-2 ;2] conduit à division par zéro lorsque x_courant = 0. 6