Introducción
Una ecuación cuadrática es una ecuación de la forma ax²+bx+c=0, donde a, b y c son constantes. En este laboratorio, aprenderemos a escribir un programa para encontrar las raíces de una ecuación cuadrática.
Para resolver la ecuación cuadrática, usaremos la siguiente fórmula:
x = (-b ± sqrt(b² - 4ac)) / 2a
Nota: Debes crear el archivo
~/project/main.ctú mismo para practicar la codificación y aprender a compilar y ejecutarlo usando gcc.
cd ~/project
## crear main.c
touch main.c
## compilar main.c
gcc main.c -o main
## ejecutar main
./main
Obtener los coeficientes de entrada
Tomaremos la entrada del usuario para los coeficientes de la ecuación cuadrática, como a, b y c. Estos coeficientes se usarán para calcular las raíces de la ecuación cuadrática.
float a, b, c, determinant, r1, r2, real, imag;
printf("\nIngrese los coeficientes a, b y c: ");
scanf("%f%f%f", &a, &b, &c);
Calcular el determinante
Luego calcularemos el valor del determinante de la ecuación cuadrática usando la fórmula:
determinante = b*b - 4*a*c;
determinante = b*b - 4*a*c;
Verificar la naturaleza de las raíces
Luego verificaremos la naturaleza de las raíces de la ecuación cuadrática en función del valor del determinante calculado en el paso 2. Si el determinante es mayor que 0, entonces las raíces son reales y distintas. Si el determinante es igual a 0, entonces las raíces son reales e iguales. Si el determinante es menor que 0, entonces las raíces son complejas e imaginarias.
if(determinant > 0) // ambas raíces son reales
{
r1 = (-b + sqrt(determinant))/2*a; // Los corchetes son importantes
r2 = (-b - sqrt(determinant))/2*a;
printf("\n\n\nLas raíces son: %.2f y %.2f ", r1, r2);
}
else if(determinant == 0) // ambas raíces son reales e iguales
{
r1 = r2 = -b/(2*a); // corchetes son importantes
printf("\n\n\nLas raíces son: %.2f y %.2f ", r1, r2);
}
/*
Determinante < 0 - ambas raíces son imaginarias de la
forma real + i*imaginario
*/
else
{
real = -b/(2*a);
imag = sqrt(-determinant)/(2*a);
printf("\n\n\nLas raíces son %.2f + i%.2f y %.2f - i%.2f ", real, imag, real, imag);
}
Salida de las raíces
Finalmente, imprimiremos las raíces de la ecuación cuadrática en función de la naturaleza de las raíces calculadas en el Paso 3.
Escribir el código completo
#include<stdio.h>
#include<math.h> // Esto es necesario para usar la función sqrt()
int main()
{
float a, b, c, determinante, r1, r2, real, imag;
printf("\nIngrese los coeficientes a, b y c: ");
scanf("%f%f%f", &a, &b, &c);
determinante = b*b - 4*a*c;
if(determinante > 0) // ambas raíces son reales
{
r1 = (-b + sqrt(determinante))/2*a; // Los corchetes son importantes
r2 = (-b - sqrt(determinante))/2*a;
printf("\n\n\nLas raíces son: %.2f y %.2f ", r1, r2);
}
else if(determinante == 0) // ambas raíces son reales e iguales
{
r1 = r2 = -b/(2*a); // corchetes son importantes
printf("\n\n\nLas raíces son: %.2f y %.2f ", r1, r2);
}
/*
Determinante < 0 - ambas raíces son imaginarias de la
forma real + i*imaginario
*/
else
{
real = -b/(2*a);
imag = sqrt(-determinante)/(2*a);
printf("\n\n\nLas raíces son %.2f + i%.2f y %.2f - i%.2f ", real, imag, real, imag);
}
printf("\n\n\n\n\t\t\tCodificar es divertido!\n\n\n");
return 0;
}
Resumen
En este laboratorio, aprendimos cómo escribir un programa en C para encontrar las raíces de una ecuación cuadrática. Tomamos la entrada del usuario para los coeficientes de la ecuación cuadrática y calculamos las raíces en función de la naturaleza de las raíces determinada por el valor del determinante. Luego, imprimimos las raíces de la ecuación cuadrática en función de la naturaleza de las raíces.



