Progettare un algoritmo, che dati in input i coefficienti a, b e c di un’equazione di secondo grado
ax2+bx+c=0,
restituisca in output le soluzioni dell’equazione.
Analisi
Dati
Input | Output | Lavoro |
a | x1 | Δ |
b | x2 | |
c |
Relazione
Il numero delle soluzioni di un’equazione di secondo grado in una variabile dipende dal valore di Δ, dove
Δ=b2-4ac.
In particolare:
se Δ<0, allora l’equazione non ammette soluzioni reali (in tal caso l’algoritmo deve restituire in output il messaggio L’equazione non ammette soluzioni reali.).
Se Δ=0, allora l’equazione ammette due soluzioni reali e coincidenti:
x1=x2= -b/(2a).
se Δ>0, allora l’equazione ammette due soluzioni reali e distinte che si calcolano utilizzando la formula
x1,2=(-b± √Δ)/(2a).

Javascript
let risultato; let a=prompt("Inserisci il coefficiente a ",2); let b=prompt("Insericsi il coefficiente b ",1); let c=prompt("Insericsi il termine noto c ",3); let delta=b*b - 4*a*c; if(delta>0){ let x1=(-b+Math.sqrt(delta))/(2*a); let x2=(-b-Math.sqrt(delta))/(2*a); risultato="L'equazione ammette due soluzioni reali e distinte<br> "; risultato+="x1 = "+x1+"<br>"+"x2 = "+x2; }else if(delta===0){ let x1=-b/(2*a); risultato= "L'equazione ammette due soluzioni reali e coincidenti<br> "; risultato+="x1 = x2 = "+x1; }else risultato="L'equazione non ammette soluzioni reali"; document.write(risultato);
Codice in c
int main(int argc, const char * argv[]) { float a,b,c,delta,x1,x2; cout << "risoluzione di un eaquazione di secondo grado del tipo ax^2 + bx + c =0 \n"; cout << "Insericsi il coefficiente a = "; cin>>a; cout << "Insericsi il coefficiente b = "; cin>>b; cout << "Insericsi il termine noto c = "; cin>>c; delta=b*b - 4*a*c; if(delta>0){ x1=(-b+sqrt(delta))/(2*a); x2=(-b-sqrt(delta))/(2*a); cout << "Equazione ammette due soluzioni reali e distinte\n "; cout<<"x1 = "<<x1<<"\n"; cout<<"x2 = "<<x2<<"\n"; }else if(delta==0){ x1=-b/(2*a); cout << "Equazione ammette due soluzioni reali e councidenti\n "; cout<<"x1 = x2 = "<<x1<<"\n"; }else cout <<"L'equazione non ammette soluzioni reali"; return 0; }
Lascia un commento