Introducción
En este laboratorio, aprenderás a resolver una ecuación lineal de la forma ax + b = 0 utilizando el lenguaje de programación C. Empezarás leyendo los coeficientes a y b del usuario, luego calcularás la solución x aplicando la fórmula x = -b/a, asegurándote de que el coeficiente a no sea cero. Finalmente, imprimirás la solución o indicarás que no existe solución.
El laboratorio cubre los conceptos fundamentales de las expresiones algebraicas y su implementación en C. Al finalizar este laboratorio, tendrás una comprensión sólida de cómo resolver ecuaciones lineales simples de forma programática.
Leer los coeficientes a y b
En este paso, aprenderás a leer los coeficientes a y b para resolver una ecuación lineal en C. Crearemos un programa simple que solicita al usuario que ingrese los coeficientes y los almacena en variables.
Primero, crearemos un nuevo archivo C en el directorio del proyecto:
cd ~/project
nano linear_equation.c
Ahora, ingresa el siguiente código para leer los coeficientes:
#include <stdio.h>
int main() {
double a, b;
// Solicitar al usuario que ingrese el coeficiente a
printf("Ingrese el coeficiente a (no debe ser cero): ");
scanf("%lf", &a);
// Solicitar al usuario que ingrese el coeficiente b
printf("Ingrese el coeficiente b: ");
scanf("%lf", &b);
// Imprimir los coeficientes ingresados
printf("Coeficiente a: %.2f\n", a);
printf("Coeficiente b: %.2f\n", b);
return 0;
}
Compila y ejecuta el programa:
gcc linear_equation.c -o linear_equation
./linear_equation
Ejemplo de salida:
Ingrese el coeficiente a (no debe ser cero): 2
Ingrese el coeficiente b: 4
Coeficiente a: 2.00
Coeficiente b: 4.00
Desglose del código:
- Usamos
doublepara permitir entradas decimales para los coeficientes. printf()se utiliza para solicitar al usuario la entrada.scanf()lee la entrada del usuario y la almacena en las variablesayb.- Imprimimos los coeficientes ingresados para confirmar que se leyeron correctamente.
Calcular x = -b/a (Comprobar si a ≠ 0)
En este paso, modificarás el programa anterior para calcular la solución de la ecuación lineal ax + b = 0, con un enfoque especial en la gestión del caso en que a sea cero.
Abre el archivo anterior y actualiza el código:
cd ~/project
nano linear_equation.c
Reemplaza el contenido con el siguiente código:
#include <stdio.h>
int main() {
double a, b, x;
// Solicitar al usuario que ingrese el coeficiente a
printf("Ingrese el coeficiente a (no debe ser cero): ");
scanf("%lf", &a);
// Comprobar si a es cero
if (a == 0) {
printf("Error: El coeficiente 'a' no puede ser cero.\n");
return 1;
}
// Solicitar al usuario que ingrese el coeficiente b
printf("Ingrese el coeficiente b: ");
scanf("%lf", &b);
// Calcular la solución x
x = -b / a;
// Imprimir la solución
printf("Solución de la ecuación %.2fx + %.2f = 0:\n", a, b);
printf("x = %.2f\n", x);
return 0;
}
Compila y ejecuta el programa:
gcc linear_equation.c -o linear_equation
./linear_equation
Ejemplo de salida para una entrada válida:
Ingrese el coeficiente a (no debe ser cero): 2
Ingrese el coeficiente b: 4
Solución de la ecuación 2.00x + 4.00 = 0:
x = -2.00
Ejemplo de salida para una entrada inválida (a = 0):
Ingrese el coeficiente a (no debe ser cero): 0
Error: El coeficiente 'a' no puede ser cero.
Puntos clave de este código:
- Se añade una comprobación para asegurar que
ano sea cero antes de calcular la solución. - Si
aes cero, se imprime un mensaje de error y se sale del programa. - La solución
xse calcula usando la fórmula x = -b/a. - Se utiliza
%.2fpara dar formato a la salida con dos decimales.
Imprimir la solución o indicar que no hay solución
En este paso final, mejorarás el solucionador de ecuaciones lineales para manejar diferentes escenarios y proporcionar una salida clara de la solución.
Abre el archivo anterior y actualiza el código:
cd ~/project
nano linear_equation.c
Reemplaza el contenido con el siguiente código:
#include <stdio.h>
#include <math.h>
int main() {
double a, b, x;
// Solicitar al usuario que ingrese el coeficiente a
printf("Ingrese el coeficiente a: ");
scanf("%lf", &a);
// Solicitar al usuario que ingrese el coeficiente b
printf("Ingrese el coeficiente b: ");
scanf("%lf", &b);
// Comprobar diferentes escenarios
if (a == 0 && b == 0) {
printf("Soluciones infinitas: Cualquier número real es una solución.\n");
} else if (a == 0 && b != 0) {
printf("No hay solución: La ecuación no se puede resolver.\n");
} else {
// Calcular la solución x
x = -b / a;
// Imprimir la solución
printf("Ecuación: %.2fx + %.2f = 0\n", a, b);
printf("Solución: x = %.2f\n", x);
}
return 0;
}
Compila y ejecuta el programa:
gcc linear_equation.c -o linear_equation
./linear_equation
Ejemplos de salida:
Escenario 1 (Solución normal):
Ingrese el coeficiente a: 2
Ingrese el coeficiente b: 4
Ecuación: 2.00x + 4.00 = 0
Solución: x = -2.00
Escenario 2 (No hay solución):
Ingrese el coeficiente a: 0
Ingrese el coeficiente b: 5
No hay solución: La ecuación no se puede resolver.
Escenario 3 (Soluciones infinitas):
Ingrese el coeficiente a: 0
Ingrese el coeficiente b: 0
Soluciones infinitas: Cualquier número real es una solución.
Mejoras clave en esta versión:
- Maneja tres escenarios distintos para ecuaciones lineales.
- Proporciona mensajes claros e informativos para diferentes casos.
- Utiliza una lógica matemática precisa para determinar el tipo de solución.
Resumen
En este laboratorio, aprendiste a leer los coeficientes a y b para resolver una ecuación lineal en C. Creaste un programa simple que solicita al usuario que ingrese los coeficientes y los almacena en variables. También aprendiste a calcular la solución de la ecuación lineal ax + b = 0, con un enfoque especial en el caso en que a sea cero. El programa verifica si a es cero y proporciona un mensaje de error si lo es; de lo contrario, calcula la solución x = -b/a e imprime el resultado.



