Introducción
En este laboratorio, aprenderás a evaluar expresiones racionales en el lenguaje de programación C. El laboratorio cubre los pasos fundamentales para leer las expresiones del numerador y denominador, calcular el valor de la fracción de forma segura manejando la división por cero, e imprimir el resultado final. Este ejercicio práctico te ayudará a desarrollar las habilidades necesarias para trabajar con expresiones algebraicas usando C.
El laboratorio comienza guiándote a través del proceso de leer las entradas del numerador y denominador del usuario, asegurando que los valores se almacenen correctamente en tu programa. Luego, introduce el concepto de manejo de la división por cero, un problema común al trabajar con fracciones, y demuestra cómo abordar este escenario. Finalmente, el laboratorio cubre el cálculo del valor de la fracción y la salida del resultado final.
Leer Expresiones de Numerador y Denominador
En este paso, aprenderás a leer expresiones de numerador y denominador en C, una habilidad fundamental para evaluar expresiones racionales.
Primero, crea un nuevo archivo C para implementar la entrada de expresiones racionales:
cd ~/project
nano rational_expressions.c
Ahora, agrega el siguiente código para leer el numerador y el denominador:
#include <stdio.h>
int main() {
int numerator, denominator;
printf("Ingrese el numerador: ");
scanf("%d", &numerator);
printf("Ingrese el denominador: ");
scanf("%d", &denominator);
printf("Numerador: %d\n", numerator);
printf("Denominador: %d\n", denominator);
return 0;
}
Compila y ejecuta el programa:
gcc rational_expressions.c -o rational_expressions
./rational_expressions
Salida de ejemplo:
Ingrese el numerador: 10
Ingrese el denominador: 5
Numerador: 10
Denominador: 5
Desglose del código:
scanf()se utiliza para leer entradas de números enteros del usuario.- El especificador de formato
%dse utiliza para la entrada de números enteros. - Almacenamos el numerador y el denominador en variables enteras separadas.
printf()se utiliza para mostrar los valores de entrada.
Calcular el Valor de la Fracción
En este paso, aprenderás a calcular el valor de la fracción de forma segura, manejando la posible división por cero y realizando el cálculo.
Actualiza el archivo anterior rational_expressions.c para incluir el cálculo de la fracción:
cd ~/project
nano rational_expressions.c
Modifica el código para calcular el valor de la fracción:
#include <stdio.h>
int main() {
int numerator, denominator;
float fraction_value;
printf("Ingrese el numerador: ");
scanf("%d", &numerator);
printf("Ingrese el denominador: ");
scanf("%d", &denominator);
// Verificar la división por cero
if (denominator == 0) {
printf("Error: No se permite la división por cero.\n");
return 1;
}
// Calcular el valor de la fracción
fraction_value = (float)numerator / denominator;
printf("Numerador: %d\n", numerator);
printf("Denominador: %d\n", denominator);
printf("Valor de la Fracción: %.2f\n", fraction_value);
return 0;
}
Compila y ejecuta el programa:
gcc rational_expressions.c -o rational_expressions
./rational_expressions
Salida de ejemplo:
Ingrese el numerador: 10
Ingrese el denominador: 4
Numerador: 10
Denominador: 4
Valor de la Fracción: 2.50
Puntos clave del código:
- Se agregó una verificación de división por cero para evitar errores en tiempo de ejecución.
- Se utilizó el tipo de dato
(float)para asegurar la división en punto flotante. - Se muestra el valor de la fracción con dos decimales usando
%.2f.
Imprimir el Resultado o Manejar la División por Cero
En este paso, mejorarás el programa de expresiones racionales para proporcionar un manejo de errores más robusto y una presentación de resultados más completa.
Actualiza el archivo rational_expressions.c para mejorar la salida y el manejo de errores:
cd ~/project
nano rational_expressions.c
Modifica el código para incluir un manejo de errores avanzado y un formato de resultados mejorado:
#include <stdio.h>
#include <stdlib.h>
int main() {
int numerator, denominator;
// Validación de entrada y manejo de errores
printf("Ingrese el numerador: ");
if (scanf("%d", &numerator) != 1) {
printf("Error: Entrada de numerador inválida.\n");
return 1;
}
printf("Ingrese el denominador: ");
if (scanf("%d", &denominator) != 1) {
printf("Error: Entrada de denominador inválida.\n");
return 1;
}
// Manejo integral de la división por cero
if (denominator == 0) {
printf("Error: No se puede dividir por cero. El denominador debe ser distinto de cero.\n");
return 1;
}
// Calcular e imprimir resultados con diferentes formatos
double fraction_value = (double)numerator / denominator;
printf("\n--- Resultados de la Expresión Racional ---\n");
printf("Numerador: %d\n", numerator);
printf("Denominador: %d\n", denominator);
printf("Valor de la Fracción: %.2f\n", fraction_value);
printf("Resultado Entero: %d\n", numerator / denominator);
printf("Residuo: %d\n", numerator % denominator);
return 0;
}
Compila y ejecuta el programa:
gcc rational_expressions.c -o rational_expressions
./rational_expressions
Ejemplos de salida:
Cálculo exitoso:
Ingrese el numerador: 10
Ingrese el denominador: 4
--- Resultados de la Expresión Racional ---
Numerador: 10
Denominador: 4
Valor de la Fracción: 2.50
Resultado Entero: 2
Residuo: 2
División por cero:
Ingrese el numerador: 10
Ingrese el denominador: 0
Error: No se puede dividir por cero. El denominador debe ser distinto de cero.
Entrada inválida:
Ingrese el numerador: abc
Error: Entrada de numerador inválida.
Mejoras clave:
- Se agregó la validación de entrada usando el valor de retorno de
scanf(). - Se mejoraron los mensajes de error para diferentes escenarios.
- Se proporcionaron múltiples representaciones de resultados.
- Se utilizó
doublepara cálculos de punto flotante más precisos.
Resumen
En este laboratorio, aprendiste a leer expresiones de numerador y denominador en C, una habilidad fundamental para evaluar expresiones racionales. También aprendiste a calcular el valor de la fracción de forma segura, manejando la posible división por cero y realizando el cálculo. Finalmente, implementaste la capacidad de imprimir el resultado o manejar la división por cero. Estos pasos proporcionan una base sólida para trabajar con expresiones racionales en la programación en C.



