Ejercicio: 3Eva2003TI_T1 Raíces enteras positivas del polinomio
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.
Algoritmo en Python
# 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
>>>