Equipo - 3 - Codigo Proyecto para Graficar en C

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 9

Programa para evaluar un polinomio

Alvarado Ahedo Nataly Camila


Escalera Rios Maximiliano
Molina Aguirre Maryfer
Pérez Núñez Sonia Elizabeth

Universidad de Guanajuato
Campus León
División de Ciencias e Ingenierías

UDA: Programación básica


Grupo A
Docente: Ignacio Raúl Rosas Román

León, Gto.,11 de noviembre de 2024


Este programa es parte de una serie de códigos creados con la finalidad de hacer
un código único con el que se pueda hacer una gráfica en base a un archivo de
datos.
Nuestro equipo realizó el código para evaluar un polinomio de cualquier grado y
generar los puntos necesarios para graficar su parábola correspondiente desde un
archivo CSV. Este programa se realizó usando el algoritmo de Horner el cual permite
calcular el resultado de un polinomio para un determinado valor de x reduciendo la
cantidad de operaciones necesarias para llegar al resultado siendo una técnica más
eficiente en programación.
Toma como entrada el nombre del archivo CSV en el que se guardarán los puntos
generados, el intervalo en el que se hará la evaluación incluyendo el límite inferior,
el límite superior y la separación entre los puntos; y los coeficientes que definen el
polinomio comenzando desde el termino de mayor grado hasta el término
independiente, estos los utiliza para calcular el valor del polinomio en cada punto
del intervalo especificado para finalizar guardando los puntos generados en un
archivo CSV para facilitar la creación de la posterior gráfica.

Explicación del código


1. Bibliotecas.
<stdio.h> proporciona funciones para entrada y salida como la lectura de datos del
teclado, mostrar información en la pantalla, en este programa se usa para solicitar
los valores de entrada al usuario y escribir los resultados en el archivo CSV.
<stdlib.h> incluye funciones que involucran asignación de memoria, control de
procesos, conversiones. Suele emplearse si se requiere asignación dinámica de
memoria, en este caso para trabajar con polinomios de cualquier grado.

2. Declaración de variables.
Se hace una declaración de variables para los límites y la separación; así como
también para el grado del polinomio y para el arreglo de los coeficientes teniendo
como un límite máximo un grado de 10.
Se usa el tipo de variable double a los límites, separación, y coeficientes ya que se
esperan valores que no son enteros y dar precisión a la lectura. Y el tipo de variables
int para representar el grado del polinomio puesto que en un número entero.

3. Funciones.
Se realizan dos funciones específicas para distintos procesos.
1. Validar parámetros.
Esto con el objetivo de asegurarse que los datos ingresados por el usuario
son correctos en el contexto del programa. Se implementaron varios arreglos
usados como defensa a cualquier caso que pudiera existir en que no se
siguieran los formatos correctos.
1. Validar número de argumentos.
Si la cantidad de argumentos es menor a 6 (límite mínimo de
argumentos) se imprime un mensaje con el formato correcto de
escritura.

2. Validar el límite inferior.


Si la cantidad de valores ingresada para esta condición es diferente a
una se imprime un mensaje de advertencia.
3. Validar el límite superior.
Si la cantidad de valores ingresada para esta condición es diferente a
uno se imprime un mensaje de advertencia.

4. Validar la separación.
Si la cantidad de valores ingresada para esta condición es diferente a
uno se imprime un mensaje de advertencia.

5. Validar el grado del polinomio.


En base al límite ya determinado de 10, si los datos ingresados para
estas condiciones son diferentes a uno o menores a cero o mayores a
diez se imprime un mensaje de advertencia.
6. Validar el número de coeficientes.
Si los datos ingresados para esta condición son menores que el
número de coeficientes especificados en la entrada de datos se
imprime un mensaje de advertencia.

7. Validar coeficientes.
Se implementa un ciclo for para asegurarse que lo ingresado son
números válidos.

8. Validar los límites.


Se asegura que los límites establecidos por el usuario sean correctos,
que el límite menor sí sea el menor de los dos.

9. Validar la separación.
Se garantiza que la separación de los puntos sea menor o igual a cero;
así como que sea mayor al límite superior menos el límite inferior.
2. Evaluar el polinomio.
Esta función evalúa el polinomio en un valor x usando el algoritmo de Horner que lo
que hace es optimizar la evaluación del polinomio al reducir la cantidad de
operaciones necesarias calculando valores de forma eficiente y directa en un ciclo
que va acumulando el resultado. Toma como parámetros al arreglo de coeficientes,
al valor de x en donde se va a evaluar el polinomio y el grado de este el cual indica
cuántos coeficientes hay.
La función empieza con el coeficiente del termino con mayor grado, almacenándolo
en la variable llamada resultado. A este valor se le multiplica por x y se le suma al
siguiente coeficiente, continuando hasta que todos los coeficientes hayan sido
procesados. Así el polinomio se va evaluando de forma anidada, ahorrando cálculos
de potencias.

4. Punto de entrada al programa


Al ser el punto donde se hace todo, se usan los parametros ‘(int nArgs, char*
args[ ])’ lo cuales permiten recibir argumentos de la línea de comandos cuando
se ejecuta el programa.
Aquí se manda a llamar a la función de validar parámetros en un arreglo donde
esta función usa los parámetros de nArgs y args para evaluarla.

Al garantizar que los datos sean correctos pasa a usar FILE*, fopen y fclose los
cuales se utilizan para trabajar con archivos. FILE* es un puntero que representa
un archivo en el sistema, almacena la información para acceder al archivo y se
abre con fopen en con la sintaxis: FILE* fopen(const char* nombre, const char*
modo); en donde modo es una cadena que indica la manera en la que se va a
abrir (‘r’ para lectura, ‘w’ para escritura, ‘a’ para añadir datos al final, entre otros).
En el código se usa a esta función y se trabaja con el archivo que mandó a
llamar. Teniendo igual un arreglo que asegura que el archivo llamado sea
correcto, si no manda un mensaje de advertencia.
Se hace la declaración de la variable x con el valor del límite inferior, esta variable
se usa como parámetro en un ciclo while en el que si x es menor o igual al límite
superior se manda a llamar a la función de evaluar el polinomio con el parámetro
de x guardando los datos en otra variable declarada llamada y. Al finalizar el
proceso de la evaluación se imprime en el archivo los datos que se van
obteniendo, sumando el valor de la variable separación al valor que tiene la
variable x, almacenando el resultado de nuevo en la variable x.
Para finalmente, cerrar el archivo después de finalizar el ciclo usando fclose con el
archivo como parámetro y desplegando un mensaje de confirmación al cerrarse.

Se espera que este código ayude en el proyecto grupal planteado y le sea útil al
compañero que le interese sabe sobre la realización de este código.
Referencias
Academia Lab. (2024). Método de Horner. Enciclopedia. Revisado de. https://academia-
lab.com/enciclopedia/metodo-de-horner/
GeeksforGeeks. (2024). C fopen() function with Examples. GeeksforGeeks. Recuperado
de: https://www.geeksforgeeks.org/c-fopen-function-with-examples/
Navarro, A. (2016). Método de Horner-Algoritmos antiguos. Junco TIC. Recuperado de:
https://juncotic.com/metodo-de-horner-algoritmos-antiguos/#c
Programaciónpro. (2024). Bibliotecas en Programación C: Todo lo que Necesitas Saber.
Programaciónpro. Recuperado de: https://programacionpro.com/bibliotecas-en-
programacion-c-todo-lo-que-necesitas-saber/
Team Gyata. (2024). “Biblioteca de Lenguaje C”. Gyata.ai. Recuperado de:
https://www.gyata.ai/es/c/c-language-library

También podría gustarte