È dato il seguente programma:
#include#include int main() { int a,b,c,delta; float x1,x2; a=1; b=1; c=-2; delta=b*b-4*a*c; x1=(-b-sqrt(delta))/2; x2=(-b+sqrt(delta))/2; if(a*x1*x1+b*x1+c == 0) printf("La sol.1 è corretta, "); else printf("La sol.1 è sbagliata, "); if(a*x2*x2+b*x2+c == 0) printf("la sol.2 è corretta.\n"); else printf("la sol.2 è sbagliata.\n"); return 0; } Cosa viene visualizzato a video dall’esecuzione del programma?
- La sol.1 è sbagliata, la sol.2 è sbagliata.
- La sol.1 è corretta, la sol.2 è sbagliata.
- La sol.1 è sbagliata, la sol.2 è corretta.
- La sol.1 è corretta, la sol.2 è corretta.
Soluzione: d (la sol.1 è corretta, la sol.2 è corretta).
Il programma risolve l’equazione di secondo grado con a=1, b=1, c=-2.
Le formule sono errate (manca a al denominatore) ma le soluzioni, x1=-2, x2=1, sono esatte (perché a=1) e di conseguenza superano i controlli…