Bonjour,
j'ai un devoir sur algobox, l'exercice est le suivant: écrire un algorithme qui résout une équation du second degré avec le discriminant.
j'ai donc fait ceci (voir image attachée)
seulement quand je lance l'algorithme eh bien il me dit "***L'algorithme contient une erreur : impossible de le lancer***
***Vérifiez la syntaxe des affectations et des conditions***"
quelqu'un pourrait-il s'il vous plait me donner mon ou mes erreurs?
Merci bonne journée
Bonjour,
AFFICHERCALCUL (-b-sqrt(delta))/(2a)= contient deux erreurs à elle seule.
le = à la fin et le 2a qui doit s'écrire 2*a
pareil pour = de l'autre (mais le 2*a est bien écrit)
une remarque : les valeurs d'entrées ne doivent pas nécessiter la modification de l'algorithme à chaque fois qu'on veut en changer !!!!
ton algorithme sert à la seule et unique résolution de la seule équation x² - 4x + 3 = 0 et pas du tout à la résolution de l'équation ax² + bx + c = 0 en général !
ce n'est pas du tout des "a PREND_LA_VALEUR" de quoi que ce soit qu'il faut utiliser, mais des LIRE a etc
le programme demande ces valeurs à l'exécution
par lors de l'écriture une fois pour toute du programme !!
ce serait absurde (absurde de faire un programme qui ne sait faire que résoudre cette seule et unique équation numérique là), les tests seraient bien inutiles puisqu'on en connaitrait le résultat à l'avance etc...
ne pas mettre de = après AFFICHERCALCUL* (-b-sqrt(D))/(2*a)
(tu peux le copier/coller dans algobox en mode éditeur de texte, ou bien directement en ligne dans proglab )
j'ai mis D à la place de delta, il marche bien, j'ai gardé ton texte, j'ai juste rajouter des * qui font des sauts de lignes pour une meilleure lisibilité :
VARIABLES
a EST_DU_TYPE NOMBRE
b EST_DU_TYPE NOMBRE
c EST_DU_TYPE NOMBRE
D EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
AFFICHER "résolution de l'équation ax²+bx+c=0 avec "
a PREND_LA_VALEUR 1
b PREND_LA_VALEUR -4
c PREND_LA_VALEUR 3
AFFICHER " a ="
AFFICHER a
AFFICHER " b ="
AFFICHER b
AFFICHER " et c="
AFFICHER* c
D PREND_LA_VALEUR b*b-4*a*c
AFFICHER "delta = b²-4ac= "
AFFICHER* D
SI (D<0) ALORS
DEBUT_SI
AFFICHER "delta<0 donc pas de racines réelles."
FIN_SI
SI (D==0) ALORS
DEBUT_SI
AFFICHER "delta=0 donc une racine réelle -b/2a="
AFFICHERCALCUL -b/(2*a)
FIN_SI
SI (D>0) ALORS
DEBUT_SI
AFFICHER "delta>0 donc deux racines réelles "
AFFICHER "(-b-racine(delta))/(2a) = "
AFFICHERCALCUL* (-b-sqrt(D))/(2*a)
AFFICHER "(-b+racine(delta))/(2a) = "
AFFICHERCALCUL* (-b+sqrt(D))/(2*a)
FIN_SI
FIN_ALGORITHME
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :