Devoir de Philosophie

second degré

Publié le 18/09/2013

Extrait du document

Programmation EQUATION DU SECOND DEGRE DANS C. I) Problème : L'équation à résoudre dans « est la suivante : a z 2 + b z + c = 0, a, b, c ? «, a ? 0 . On calcule le discriminant du trinôme : ? = b 2 - 4 a c . - si ? > 0 , l'équation admet deux racines : z1 = -b + ? -b - ? et z 2 = ; 2a 2a - si ? = 0 , l'équation admet une solution (double) : z0 = -b ; 2a - si ? > 0 , l'équation admet deux racines complexes conjuguées : z1 = -b + i - ? -b - i -? et z2 = z1 = . 2a 2a II) Algorithme : Saisir les coefficients du trinôme Calculer le discriminant ? (l'afficher) Si ? est positif Alors calculer les racines du trinôme afficher les solutions de l'équation Sinon Si ? est nul Alors calculer la racine double du trinôme afficher cette solution de l'équation Sinon calculer les racines complexes du trinôme afficher les solutions de l'équation Fin III) Programmes sur calculatrices : T.I. Casio Input ? A = ? Input ? B = ? Input ? C = ? B^2-4 A C -> D Disp ? D = ?, D If D > 0 Then ( ( -B - D ) ÷ ( 2 A ) ) Disp ? X2 = ?, ( ( -B + D ) ÷ ( 2 A ) ) Disp ? X1 = ?, Else If D = 0 Then Disp ? X0 = ?, ( - B ÷ ( 2 A ) ) ( Disp ? X2 = ?, ( -B ÷ ( 2 A ) + i ( ) Then ? X1 = ?: -B - D ÷ ( 2 A ) ( ) ? X2 = ?: - B + D ÷ ( 2 A ) Else If D = 0 Then ? X0 = ?: - B ÷ ( 2 A ) Else ? X1 = ?: -B ÷ ( 2 A ) - i -D ÷ ( 2 A ) ) -D ÷ ( 2 A ) ) Disp ? X1 = ?, -B ÷ ( 2 A ) - i -D ÷ ( 2 A ) End ?A??->A ?B??->B ?C??->C B^2-4 A C -> D D = ?: D If D > 0 ? X 2 = ?: - B ÷ ( 2 A ) + i - D ÷ ( 2 A ) IfEnd IfEnd Second degré dans « IV) Programme sur ordinateur (Algobox) : VARIABLES a EST_DU_TYPE NOMBRE b EST_DU_TYPE NOMBRE c EST_DU_TYPE NOMBRE delta EST_DU_TYPE NOMBRE z1 EST_DU_TYPE NOMBRE z2 EST_DU_TYPE NOMBRE z0 EST_DU_TYPE NOMBRE zr EST_DU_TYPE NOMBRE zi EST_DU_TYPE NOMBRE DEBUT_ALGORITHME AFFICHER "Solutions de l'équation a z^2 + b z + c = 0 dans C" AFFICHER " " AFFICHER "Donner le coefficient de z^2 : " LIRE a AFFICHER a AFFICHER "Donner le coefficient de z : " LIRE b AFFICHER b AFFICHER "Donner la constante : " LIRE c AFFICHER c delta PREND_LA_VALEUR b×b-4×a×c AFFICHER "delta = " AFFICHER delta SI (delta>0) ALORS DEBUT_SI z1 PREND_LA_VALEUR (-b+sqrt(delta))/(2×a) z2 PREND_LA_VALEUR (-b-sqrt(delta))/(2×a) AFFICHER "delta est positif, et les deux solutions sont :" AFFICHER "z1 = " AFFICHER z1 AFFICHER "z2 = " AFFICHER z2 FIN_SI SINON DEBUT_SINON SI (delta==0) ALORS DEBUT_SI z0 PREND_LA_VALEUR -b/(2×a) AFFICHER "delta est nul, et l'unique solution est : " AFFICHER "z0 = " AFFICHER z0 FIN_SI SINON DEBUT_SINON zr PREND_LA_VALEUR -b/(2×a) zi PREND_LA_VALEUR sqrt(delta)/(2×a) AFFICHER "delta est négatif, et les deux solutions conjuguées complexes sont :" AFFICHER "z1 = " AFFICHER zr AFFICHER " + i " AFFICHER zi AFFICHER "z2 = " AFFICHER zr AFFICHER " - i " AFFICHER zi FIN_SINON FIN_SINON FIN_ALGORITHME Michel Marconnet Page 2 sur 3 Second degré dans « V) Programme sur ordinateur (Python) : # -*- coding: cp1252 -*# Trinôme dans C print ' ' print 'Equation a z^2 + b z + c = 0 dans C' print ' ' # Introduction des données a = float (raw_input ('coefficient de z^2 : ')) b = float(raw_input ('coefficient de z : ')) c = float(raw_input ('constante : ')) print ' ' # Calcul de delta delta = b * b - 4 * a * c print ('delta = ') + str (delta) print ' ' # Calcul et affichage des solutions if delta > 0 : print 'deux solutions reelles :' z1 = (- b - pow(delta,0.5)) / (2 * a) z2 = (- b + pow(delta,0.5)) / (2 * a) print 'z1 = ' + str(z1) print 'z2 = ' + str(z2) elif delta == 0 : print 'une solution reelle double :' z0 = - b / (2 * a) print 'z0 = ' + str(z0) else : print 'deux solutions complexes conjuguees :' zr = - b / (2 * a) zi = pow(-delta,0.5) / (2 * a) print 'z1 = ' + str(zr) + ' + i ' + str(zi) print 'z2 = ' + str(zr) + ' - i ' + str(zi) # Pause pour fin de programme print ' ' raw_input ('Appuyez sur pour quitter ...') Michel Marconnet Page 3 sur 3

Liens utiles