Terminado

Proyecto

Publicado el 29 Marzo, 2025 en Programación y Tecnología

Sobre este proyecto

Abierto

Requerimientos Funcionales:
El programa leerá las expresiones algebraicas desde un archivo de texto llamado entrada.txt. Cada expresión estará en una línea separada.
El programa construirá un árbol de expresiones con la expresión a derivar. Se derivará cada expresión algebraica y escribirá el resultado en un archivo de texto llamado salida.dat. Cada derivada estará en una línea separada y mantendrá el mismo orden que las expresiones originales.
El programa debe ser capaz de derivar expresiones algebraicas simples que contengan operadores básicos (+, -, *, /,^) y funciones matemáticas simples (sin, cos, tan).
Las expresiones algebraicas pueden contener variables representadas por letras del alfabeto (por ejemplo, x, y, z).
El programa debe manejar correctamente los paréntesis y seguir las reglas de la derivación para obtener el resultado correcto.
El programa debe ser capaz de manejar errores de sintaxis en las expresiones de entrada y proporcionar mensajes claros al usuario en caso de encontrar uno. Si se detecta un error de sintaxis en una línea, se aborta mostrando en el archivo salida.dat la información correspondiente al error (línea y posición) y se continua procesando a siguiente línea.
El programa debe ser modular y estar correctamente comentado para facilitar la comprensión y el mantenimiento del código.
Debe existir un archivo llamado arboles.dat donde se deben dibujar los arboles de todas las expresiones a derivar.
Los árboles de expresiones debem construirse con el método de gramáticas visto en clase.
Requerimientos No Funcionales:
El programa debe estar escrito en lenguaje C y seguir las mejores prácticas de programación.
El código debe ser eficiente en cuanto a uso de recursos y manejo de memoria.
El programa debe ser fácil de ejecutar y debe proporcionar instrucciones claras sobre cómo compilar y ejecutar el código.
Ejemplo de Entrada (entrada.txt):
3*x^2 + 2*x + sin(x)
2*y^3 - 5*y^2 + 3*y
Ejemplo de Salida (salida.dat):
6*x + 2 + cos(x)
6*y^2 - 10*y + 3
Entregables

Se debe subir un link a un directorio compartido, al cual debe tener acceso el catedrático con la siguiente información:
Directorio con el código fuente del programa
Tres directorios conteniendo cada uno una corrida de prueba, so su respectivo archivo de entrada y salida.

Contexto general del proyecto

Si es posible entregar el proyecto con un video explicándome como se realiza el funcionamiento, asimismo la fecha de entrega seria para el 14 de abril

Categoría Programación y Tecnología
Subcategoría Otros
Tamaño del proyecto Pequeño
¿Es un proyecto o una posición? Un proyecto
Actualmente tengo No aplica
Disponibilidad requerida Según se necesite

Plazo de Entrega: 14 Abril, 2025

Habilidades necesarias

C++