A continuación, debes identificar los errores sintácticos y semánticos del código presentado.

Un alumno realizó el siguiente programa para calcular las raíces de una ecuación de segundo grado, utilizando la fórmula general.

Ecuación de segundo grado Su programa compila correctamente; sin embargo, al momento de ejecutarse no funciona como se esperaba y “truena” (termina la ejecución inesperadamente).

¿Puedes ayudar al compañero a corregir su programa?

Copia el código en tu computadora, identifica los errores, corrígelo.

/*Programa para calcular las racies de una ecuacion de segundo grado*/
#include <stdio.h>
#include <math.h>
void main(){
float a, b, c, d, x1, x2;
/*Leer datos de entrada*/
printf("Dame el valor de a: ");
scanf("%f", a);
printf("Dame el valor de b: ");
scanf("%f", b);
printf("Dame el valor de c: ");
scanf("%f", c);
/*Efectuar los calculos*/
d = sqrt(b * b - 4 * a * c);
x1 = -b + d / 2 * a;
x2 = -b - d / 2 * a;
/*Escribir la salida*/
printf("Las raices son x1 = %f y x2 = %f\n", x1, x2);
}


Una vez que corregiste el programa y se ejecuta bien, valida que los resultados arrojados sean coherentes. Ejecútalo con los siguientes valores:

a = 1, b = 6, c = 3

Las raíces resolviendo manualmente son las siguientes:

x1 = -0.55051
x2 = -5.44948

Compara los valores obtenidos con el programa y los manuales; si no son iguales (o muy cercanos) se puede deber a errores lógicos o de diseño. Corrige el programa hasta que los resultados sean similares.

Al finalizar, copia tu resultado en la caja de texto de esta actividad. Pulsa el botón Verificar y compara tu resultado.



1
2