Sujet et Corrigés

publicité
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
Téléchargement