1 pièce(s) jointe(s)
Solution d'une équation du second degré
Bonjour
La question est de faire un programme qui donne les solutions d'équation de deuxième degré.
Voilà ma réponse dans la figure
Pièce jointe 264771
Je ne sais pas pourquoi mon programme ne fonctionne pas, s'il vous plaît j'ai besoin de votre aide.
Solution d'une équation du second degré
Bonjour, :D
C'est vraiment mesquin d'ajouter à la liste des doléances, mais:
Cinquièmement tout les résultats sont faux :mrgreen: en raison de l'oubli d'une paire de parenthèses: il fallait écrire:
Code:
1 2 3 4 5
|
x1:=(-b-sqrt(delta))/(2*a);
x2:=(-b+sqrt(delta))/(2*a) ;
...
x:=-b/(2*a); ... |
L'introducion d'une variable réelle supplémentaire eût permis de ne faire qu'une division, en posant:
Sixièmement, une résolution complète de l'équation aurait dû envisager les cas :furax:
# a = 0 (indispensable, à cause de la division qui intervient),
# c = 0 conduisant à la forme triviale (a*x2 + b*x = 0), pour laquelle le calcul de Sqrt(Delta)) n'est plus nécessaire;
le programme aurait dû présenter la structure:
Code:
1 2 3 4 5 6 7 8 9 10
|
IF a=0 THEN BEGIN
END
ELSE IF c=0 THEN BEGIN
END
ELSE BEGIN
END; |
Septièmement, l'écriture des solutions est véritablement choquante, quoiqu'elle conduise à des résultats corrects, parce qu'elle ne respecte pas la syntaxe réservée aux fonctions:
Code:
Variable:= Fonction(Variable1, ... );
Le programme aurait dû comporter une autre variable réelle pour mémoriser la valeur de la racine carrée: :massacre:
ce qui aurait d'ailleurs permis de n'effectuer qu'une seule fois ce calcul:
Code:
1 2 3
|
x1:=[-b - Rd] * Ka;
x2:=[-b + Rd] * Ka ; |
Je reconnais que cette dernière remarque dépasse largement le cadre de ce sujet, et même celui du langage Pascal, et qu'elle peut soulever des polémiques ... cette désinvolture calculatoire apparaissant largement répandue.
Passez de bonnes fêtes.