D.M. d'algorithmique. Le second degré. Seuls les algorithmes en langage naturel seront évalués. Il est cependant recommandé de traduire en Python et tester les algorithmes créés. On pourra donc écrire sur la copie les traductions en Python. 1. Ecrire en langage naturel un algorithme permettant : de demander les valeurs de a, b et c. suivant les cas, de calculer et donner à l'utilisateur les racines du trinôme ax2 + bx + c. On pourra traduire cet algorithme en Python pour pouvoir le tester. Rendre cette première partie au professeur pour une première correction. 2. Modifier l'algorithme de la correction de la 1ère partie, pour obliger l'utilisateur à saisir une valeur de a différente de 0. On pourra traduire cet algorithme en Python pour pouvoir le tester. 3. Compléter aussi l'algorithme de la correction de la 1ère partie, pour que l'algorithme donne suivant les cas la valeur du maximum ou du minimum (à préciser). On pourra traduire cet algorithme en Python pour pouvoir le tester. D.M. d'algorithmique. Le second degré. Seuls les algorithmes en langage naturel seront évalués. Il est cependant recommandé de traduire en Python et tester les algorithmes créés. On pourra donc écrire sur la copie les traductions en Python. 1. Ecrire en langage naturel un algorithme permettant : de demander les valeurs de a, b et c. suivant les cas, de calculer et donner à l'utilisateur les racines du trinôme ax2 + bx + c. On pourra traduire cet algorithme en Python pour pouvoir le tester. Rendre cette première partie au professeur pour une première correction. 2. Modifier l'algorithme de la correction de la 1ère partie, pour obliger l'utilisateur à saisir une valeur de a différente de 0. On pourra traduire cet algorithme en Python pour pouvoir le tester. 3. Compléter aussi l'algorithme de la correction de la 1ère partie, pour que l'algorithme donne suivant les cas la valeur du maximum ou du minimum (à préciser). On pourra traduire cet algorithme en Python pour pouvoir le tester. D.M. d'algorithmique. Le second degré. Seuls les algorithmes en langage naturel seront évalués. Il est cependant recommandé de traduire en Python et tester les algorithmes créés. On pourra donc écrire sur la copie les traductions en Python. 1. Ecrire en langage naturel un algorithme permettant : de demander les valeurs de a, b et c. suivant les cas, de calculer et donner à l'utilisateur les racines du trinôme ax2 + bx + c. On pourra traduire cet algorithme en Python pour pouvoir le tester. Rendre cette première partie au professeur pour une première correction. 2. Modifier l'algorithme de la correction de la 1ère partie, pour obliger l'utilisateur à saisir une valeur de a différente de 0. On pourra traduire cet algorithme en Python pour pouvoir le tester. Compléter aussi l'algorithme de la correction de la 1ère partie, pour que l'algorithme donne suivant les cas la valeur du maximum ou du minimum (à préciser). On pourra traduire cet algorithme en Python pour pouvoir le tester. Corrigé D.M. d'algorithmique. Le second degré. 1ère partie. 1. Algorithme en langage naturel Demander la valeur de a. Demander la valeur de b. Demander la valeur de c. delta prend la valeur de b2 - 4ac. Si delta < 0 : Début de Si. Afficher "il n'y a pas de racine". Fin de Si. Si delta = 0 : Début de Si. x0 prend la valeur de -b/2a. Afficher "la racine double est ",x0. Fin de Si. Si delta > 0 : Début de Si. x1 prend la valeur (-b - delta )/2a. x2 prend la valeur (-b + delta )/2a. Afficher "les racines sont ",x1," et ",x2. Fin de Si Algorithme en Python from math import* a=input("Saisir la valeur de a") b=input("Saisir la valeur de b") c=input("Saisir la valeur de c") delta=pow(b,2)-4*a*c if delta<0 : print "il n'y a pas de racine" if delta==0 : x0=-b/(2*a) print "la racine double est ",x0 if delta>0 : x1=(-b-sqrt(delta))/(2*a) x2=(-b+sqrt(delta))/(2*a) print"les racines sont ",x1," et ",x2 Corrigé D.M. d'algorithmique. Le second degré. 1. Algorithme en langage naturel Demander la valeur de a. Demander la valeur de b. Demander la valeur de c. delta prend la valeur de b2 - 4ac. Si delta < 0 : Début de Si. Afficher "il n'y a pas de racine". Fin de Si. Si delta = 0 : Début de Si. x0 prend la valeur de -b/2a. Afficher "la racine double est ",x0. Fin de Si. Si delta > 0 : Début de Si. x1 prend la valeur (-b - delta )/2a. x2 prend la valeur (-b + delta )/2a. Afficher "les racines sont ",x1," et ",x2. Fin de Si 2. Algorithme en langage naturel a prend la valeur 0. Tant que a = 0 : Début de Tant que. Demander la valeur de a. Fin de Tant que. Demander la valeur de b. Demander la valeur de c. delta prend la valeur de b2 - 4ac. Si delta < 0 : Début de Si. Afficher "il n'y a pas de racine". Fin de Si. Si delta = 0 : Début de Si. x0 prend la valeur de -b/2a. Afficher "la racine double est ",x0. Fin de Si. Si delta > 0 : Début de Si. x1 prend la valeur (-b - delta )/2a. x2 prend la valeur (-b + delta )/2a. Afficher "les racines sont ",x1," et ",x2. Fin de Si 3. Algorithme en langage naturel a prend la valeur 0. Tant que a = 0 : Début de Tant que. Demander la valeur de a. Fin de Tant que. Demander la valeur de b. Demander la valeur de c. Algorithme en Python from math import* a=input("Saisir la valeur de a") b=input("Saisir la valeur de b") c=input("Saisir la valeur de c") delta=pow(b,2)-4*a*c if delta<0 : print "il n'y a pas de racine" if delta==0 : x0=-b/(2*a) print "la racine double est ",x0 if delta>0 : x1=(-b-sqrt(delta))/(2*a) x2=(-b+sqrt(delta))/(2*a) print"les racines sont ",x1," et ",x2 Algorithme en Python from math import* a=0 while a==0: a=input("Saisir la valeur de a") b=input("Saisir la valeur de b") c=input("Saisir la valeur de c") delta=pow(b,2)-4*a*c if delta<0 : print "il n'y a pas de racine" if delta==0 : x0=-b/(2*a) print "la racine double est ",x0 if delta>0 : x1=(-b-sqrt(delta))/(2*a) x2=(-b+sqrt(delta))/(2*a) print"les racines sont ",x1," et ",x2 Algorithme en Python from math import* a=0 while a==0: a=input("Saisir la valeur de a") b=input("Saisir la valeur de b") c=input("Saisir la valeur de c") delta prend la valeur de b2 - 4ac. Si delta < 0 : Début de Si. Afficher "il n'y a pas de racine". Fin de Si. Si delta = 0 : Début de Si. x0 prend la valeur de -b/2a. Afficher "la racine double est ",x0. Fin de Si. Si delta > 0 : Début de Si. x1 prend la valeur (-b - delta )/2a. x2 prend la valeur (-b + delta )/2a. Afficher "les racines sont ",x1," et ",x2. Fin de Si alpha prend la valeur de -b/2a. extremum prend la valeur de a*alpha2 + b*alpha + c. Si a > 0 : Début de Si. Afficher "le minimum est ",extremum Fin de Si. Sinon : Début de Sinon. Afficher "le maximum est ",extremum Fin de Sinon. delta=pow(b,2)-4*a*c if delta<0 : print "il n'y a pas de racine" if delta==0 : x0=-b/(2*a) print "la racine double est ",x0 if delta>0 : x1=(-b-sqrt(delta))/(2*a) x2=(-b+sqrt(delta))/(2*a) print"les racines sont ",x1," et ",x2 alpha=-b/(2*a) extremum=a*pow(alpha,2)+ b*alpha + c if a>0: print"le minimum est ",extremum else: print"le maximum est ",extremum