Categoria: Programacion Tema: Python Titulo: Polinomios: suma, producto, opuesto, raices
Fecha del Tema: 2012-04-16 21:48:59Este es un pequeño escript con un menú que nos da a elegir la suma de dos polinomios, el producto, el opuesto, y las rices de un polinomio. Si creamos un fichero por ej polinomio.py y copiamos lo sig. <? //esto no va #! /usr/bin/python import math class Polinomio: def __init__(self, n1, n2, n3): self.a=n1 self.b=n2 self.c=n3 def suma(self, p2): r1=self.a+p2.a r2=self.b+p2.b r3=self.c+p2.c return Polinomio(r1, r2, r3) def producto(self, n): self.a*=n self.b*=n self.c*=n def opuesto(self): r1=self.a*-1 r2=self.b*-1 r3=self.c*-1 return Polinomio(r1, r2, r3) def raices(self): if (self.a==0) or ((math.pow(self.b,2) - (4*self.a*self.c)) < 0): return 0, 0 else : r1 = ((-1 * self.b) + math.sqrt( math.pow(self.b,2) - (4*self.a*self.c))) / 2*self.a r2 = ((-1 * self.b) - math.sqrt( math.pow(self.b,2) - (4*self.a*self.c))) / 2*self.a return r1, r2 def imprimir(self): return str(self.a) + `x2 + ` + str(self.b) + `x + ` + str(self.c) def pedirPolinomio(): a=int(raw_input(`Introduce el valor para a :`)) b=int(raw_input(`Introduce el valor para b :`)) c=int(raw_input(`Introduce el valor para c :`)) return Polinomio(a, b, c) num=0 while num != 5 : num=0 print `1.-Suma de polinomios` print `2.-Producto por un escalar` print `3.-Opuesto` print `4.-Calculo de las raices de un polinomio` print `5.-Salir` while num < 1 or num > 5 : num=int(raw_input(`Elige la opcion deseada : `)) if num==1: print `Primer polinomio` pol1=pedirPolinomio() print `Segundo polinomio` pol2=pedirPolinomio() pol3=pol1.suma(pol2) print `La suma de los polinomios ` + pol1.imprimir() + ` y ` + pol2.imprimir() + ` da como resultado : ` + pol3.imprimir() elif num==2: print `Valor del polinomio` pol=pedirPolinomio() n=int(raw_input(`Ahora introduce el valor del escalar : `)) pol.producto(n) print `Al multiplicar el polinomio por ` + str(n) + ` nos queda ` + pol.imprimir() elif num==3: print `Valor del polinomio` pol1=pedirPolinomio() pol2=pol1.opuesto() print `El opuesto de ` + pol1.imprimir() + ` es ` + pol2.imprimir() elif num==4: print `Valor del polinomio` pol=pedirPolinomio() if pol.c==0: print `Al ser C=0 la raiz del polinomio es 0` else: r1, r2=pol.raices() if r1==0: print `Este polinomio no puede solucionarse` else: print `Las raices del polinomio ` + pol.imprimir() + ` son x=` + str(r1) + ` y x=` + str(r2) ?>//esto no va Ahora nos vamos donde esta el fichero y por consola ponemos ./polinomio.py y se ejecutaría nuestro script.
Este es un pequeño escript con un menú que nos da a elegir la suma de dos polinomios, el producto, el opuesto, y las rices de un polinomio. Si creamos un fichero por ej polinomio.py y copiamos lo sig. <? //esto no va #! /usr/bin/python import math class Polinomio: def __init__(self, n1, n2, n3): self.a=n1 self.b=n2 self.c=n3 def suma(self, p2): r1=self.a+p2.a r2=self.b+p2.b r3=self.c+p2.c return Polinomio(r1, r2, r3) def producto(self, n): self.a*=n self.b*=n self.c*=n def opuesto(self): r1=self.a*-1 r2=self.b*-1 r3=self.c*-1 return Polinomio(r1, r2, r3) def raices(self): if (self.a==0) or ((math.pow(self.b,2) - (4*self.a*self.c)) < 0): return 0, 0 else : r1 = ((-1 * self.b) + math.sqrt( math.pow(self.b,2) - (4*self.a*self.c))) / 2*self.a r2 = ((-1 * self.b) - math.sqrt( math.pow(self.b,2) - (4*self.a*self.c))) / 2*self.a return r1, r2 def imprimir(self): return str(self.a) + `x2 + ` + str(self.b) + `x + ` + str(self.c) def pedirPolinomio(): a=int(raw_input(`Introduce el valor para a :`)) b=int(raw_input(`Introduce el valor para b :`)) c=int(raw_input(`Introduce el valor para c :`)) return Polinomio(a, b, c) num=0 while num != 5 : num=0 print `1.-Suma de polinomios` print `2.-Producto por un escalar` print `3.-Opuesto` print `4.-Calculo de las raices de un polinomio` print `5.-Salir` while num < 1 or num > 5 : num=int(raw_input(`Elige la opcion deseada : `)) if num==1: print `Primer polinomio` pol1=pedirPolinomio() print `Segundo polinomio` pol2=pedirPolinomio() pol3=pol1.suma(pol2) print `La suma de los polinomios ` + pol1.imprimir() + ` y ` + pol2.imprimir() + ` da como resultado : ` + pol3.imprimir() elif num==2: print `Valor del polinomio` pol=pedirPolinomio() n=int(raw_input(`Ahora introduce el valor del escalar : `)) pol.producto(n) print `Al multiplicar el polinomio por ` + str(n) + ` nos queda ` + pol.imprimir() elif num==3: print `Valor del polinomio` pol1=pedirPolinomio() pol2=pol1.opuesto() print `El opuesto de ` + pol1.imprimir() + ` es ` + pol2.imprimir() elif num==4: print `Valor del polinomio` pol=pedirPolinomio() if pol.c==0: print `Al ser C=0 la raiz del polinomio es 0` else: r1, r2=pol.raices() if r1==0: print `Este polinomio no puede solucionarse` else: print `Las raices del polinomio ` + pol.imprimir() + ` son x=` + str(r1) + ` y x=` + str(r2) ?>//esto no va Ahora nos vamos donde esta el fichero y por consola ponemos ./polinomio.py y se ejecutaría nuestro script.