È dato il seguente programma:
#include#include int main() { int a, b, c, delta; float x1, x2; a=2; b=1; c=-1; 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 e` corretta, "); else printf("La sol.1 e` sbagliata, "); if(a*x2*x2+b*x2+c==0) printf("la sol.2 e` corretta.\n"); else printf("la sol.2 e` sbagliata.\n"); return 0; } Cosa viene visualizzato a video dall’esecuzione di main()?
- 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: La sol.1 è sbagliata, la sol.2 è sbagliata.
Le espressioni per le soluzioni sono sbagliate e i controlli successivi danno esito negativo.
Se invece…
x1=(-b-sqrt(delta))/(2*a); x2=(-b+sqrt(delta))/(2*a);