1èreS - TP01.2: ALGORITHMIQUE - CORRIGE
Résolution d'une équation du second degré - Instruction conditionnelle
1. Présentation du problème
Nous allons construire un programme permettant de résoudre une équation du second degré de manière approchée,
en utilisant une structure conditionnelle du type "Si...alors...sinon".
Considérons l'équation
2
0
ax bx c
+ + =
, avec
, ,
a b c
nombre réels donnés et
0
a
.
Voici un programme pour la calculatrice TI qui permet de trouver les solutions d'une telle équation:
PROGRAM:TRINOME
:Prompt A,B,C
:B
2
- 4AC →D
:Disp"DELTA=",D
:IfD<0
:Then
:Disp"PASDESOLUTION"
:End
:IfD=0
:Then
:Disp"UNESOLUTION",-B/(2A)
:End
:IfD>0
:Then
:(-B-√(D))/(2A)→E
:(-B+√(D))/(2A)→F
:Disp"DEUXSOLUTIONS:",E,F
:End
1°) Ouvrir le logiciel Algobox, et traduire ce programme sur Algobox. Noter ci-dessous votre algorithme Algobox:
2°) Testez cet algorithme sous Algobox avec les équations suivantes:
2
6 1 0
x x
− =
Discriminant: 25 Solutions éventuelles: - 0.333 et 0.5
2
16 8 13 0
x x
Discriminant: -768 Solutions éventuelles: pas de solution
2
25
2 10 0
2
x x
+ =
Discriminant: 0 Solutions éventuelles: 2.5
3°) Testez cet algorithme sous Algobox avec les valeurs
0
a
=
,
2
b
=
, et
1
c
=
.
Que constate-t-on? Algobox renvoie une erreur.
Modifier le programme sur Algobox de manière à envisager cette situation (on pourra, par exemple, faire afficher un
message d'avertissement et stopper le programme).
Modifications proposées (écrire seulement les lignes modifiées):
Ces lignes ont été ajoutées
4°) Proposez une modification de l'algorithme utilisant des conditions imbriquées (
If... then... else...
) pour rassembler
les cas
0
∆ =
et
0
∆ >
.
Modifications proposées (écrire seulement les lignes modifiées):
5°) Saisissez le programme correspondant à l'algorithme amélioré sur votre calculatrice TI, et testez-le pour résoudre
l'équation
2 16 16
(10 1) 10 0
x x
+ + =
.
Listing du programme pour une calculatrice T.I.:
PROGRAM: TRINOME
:Input "A=", A
:Input "B=", B
:Input "C=", C
:If A=0
:Then
:Disp "A DOIT ETRE NON NUL"
:Else
:B
2
- 4AC →D
:Disp"DELTA=",D
Frac
:IfD<0
:Then
:Disp"PASDESOLUTION"
:Else
:IfD=0
:Then
:Disp"UNESOLUTION",-B/(2A)
:Else
:(-B-√(D))/(2A)→E
:(-B+√(D))/(2A)→F
:Disp"DEUXSOLUTIONS:",EFrac,FFrac
:End
:End
:End
Votre calculatrice n’arrive pas à gérer les calculs correctement car b et c sont très grands.
A la main, on peut cependant résoudre l’ équation du second degré
16 16
² (10 1) 10
x x + +
=0 :
(
)
(
)
2 2
16 16 32 16 16 32 16 16
² 4 (10 1) 4 1 10 10 2 10 1 4 10 10 2 10 1 10 1
b c∆ = = + × × = + × + × = × + =
0
∆ >
donc cette équation admet deux solutions distinctes :
( )
2
16 16
10 1 10 1 16 16
10 1 10 1
1
2 2 2
b
x
a
+ −
− − + − +
= = = =
ou
( )
2
16 16
10 1 10 1 16 16
10 1 10 1
16
10
2 2 2
b
x
a
+ +
− + + +
= = = =
donc
{
}
16
1;10S=
6°) Saisissez dans le logiciel de calcul formel XCAS l'instruction solve(
^ 2 (10 ^16 1)* 10 ^16 0
x x
+ + =
,
x
).
Que constatez-vous? l'équation l'inconnue
XCAS exhibe bien les deux solutions (séparées par une virgule): 1 et
16
10 10000000000000000
=
, séparées par
une virgule (c'est une notation anglo-saxonne).
Remarquons qu'Algobox trouve ces deux solutions également.
1 / 3 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !