Ejercicio: 3Eva_IT2003_T1 Raíces enteras positivas del polinomio
Propuesta de solución en Python: py_pdf, también incluye versión en matlab: m_pdf
El problema se separa en sus partes principales.
Primero la función para encontrar las raíces enteras, usando un contador que
aumenta cuando encuentra que el polinomio evaluado en x tienen valor de 0.
En el programa, para ingresar el polinomio se almacenan solo los coeficientes,
el término i–ésimo también indica el exponente de coeficiente[i]*xi.
Nota: No se incluye la forma de realizar la gráfica en la solución presentara
para el examen.
# ICM00794-Fundamentos de Computación - FCNM-ESPOL # 3Eva_IT2003_T1 Raíces enteras positivas del polinomio # propuesta de solución: edelros@espol.edu.ec import numpy as np def numraices(grado,coeficiente,a,b): encontre=0 x = a while (x<=b): p = 0 i = 0 while (i<=grado): p = p + coeficiente[i]*(x**i) i = i + 1 if (p==0): encontre = encontre+1 x = x + 1 return (encontre) # PROGRAMA ----------------- # INGRESO n = int(input("grado polinomio: ")) coeficiente = np.zeros(n+1,dtype=float) for i in range(0,n+1,1): coeficiente[i] = float(input("coeficiente["+str(i)+"]: ")) print("Rango de busqueda: [a,b]") a = int(input("a: ")) b = int(input("b: ")) # PROCEDIMIENTO resultado = numraices(n,coeficiente,a,b) # SALIDA print("numero de raices enteras:") print(resultado)
resultado del algoritmo
grado polinomio: 7 coeficiente[0]: 0 coeficiente[1]: -336 coeficiente[2]: 356 coeficiente[3]: 208 coeficiente[4]: -337 coeficiente[5]: 127 coeficiente[6]: 19 coeficiente[7]: 1 Rango de busqueda: [a,b] a: -10 b: 40 numero de raices enteras: 1 >>>