Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #usr/bin/python
- #coding: utf-8
- #Cdt.py
- from math import *
- #resolveremos una ecuacion cuadratica de la forma ax^2+bx+c=0
- class Cdt(object):
- def __init__(self, cc, cx, ti): #cc=a, cx=b y ti=c
- self.a1=cc
- self.b1=cx
- self.c1=ti
- self.solucion()
- def solucion(self):
- a=self.a1
- b=self.b1
- c=self.c1
- lista=[]
- if a>0:
- if ((b**2)-4*a*c)>0:
- x1=(-b+sqrt((b**2)-4*a*c))/(2*a)
- x2=(-b-sqrt((b**2)-4*a*c))/(2*a)
- lista.append(x1)
- lista.append(x2)
- return lista
- elif ((b**2)-4*a*c)<0:
- r=-b/(2*a)
- i1=sqrt(4*a*c-(b**2))
- i2=-i1
- lista.append(r)
- lista.append(i1)
- lista.append(i2)
- return lista
- elif ((b**2)-4*a*c)==0:
- x1=-b/(2*a)
- lista.append(x1)
- return lista
- elif a<0:
- return Cdt(-a,-b,-c)
- elif a==0:
- if b!=0:
- if c!=0:
- x1=-c/b
- lista.append(x1)
- return lista
- else:
- x1=0
- lista.append(x1)
- return lista
- else:
- if c==0:
- x1=0
- lista.append(x1)
- return lista
- a2=input("ingrese el coeficiente de x^2: ")
- b2=input("ingrese el coeficiente de x: ")
- c2=input("ingrese el termino independiente: ")
- x=Cdt(a2,b2,c2)
- #x.solucion(a2,b2,c2)
- if a2==0:
- if b2!=0:
- if c2!=0 and c2>0:
- print "la solucion de la ecuacion "+str(b2)+"x+"+str(c2)+"=0 es:"
- print "x="+str(x[0])
- elif c2!=0 and c2<0:
- print "la solucion de la ecuacion "+str(b2)+"x"+str(c2)+"=0 es:"
- print "x="+str(x[0])
- elif b2==0:
- if c2==0:
- print "x="+str(x[0])
- else:
- print "estas comparando un termino real con un cero"
- else:
- if ((b2**2)-4*a2*c2)>0:
- if b2!=0 and b2>0:
- if c2!=0 and c2>0:
- print "la factorizacion de la ecuacion "+str(a2)+"x^2+"+str(b2)+"x+"+str(c2)+"=0 es:"
- print str(a2)+"x^2+"+str(b2)+"x+"+str(c2)+"=(x+"+str((-1*x[0]))+")(x+"+str((-1*x[1]))+")=0"
- print "la solucion de la ecuacion "+str(a2)+"x^2+"+str(b2)+"x+"+str(c2)+"=0 es:"
- print "x1="+str(x[0])+" y x2="+str(x[1])
- elif c2!=0 and c2<0:
- print "la factorizacion de la ecuacion "+str(a2)+"x^2+"+str(b2)+"x"+str(c2)+"=0 es:"
- print str(a2)+"x^2+"+str(b2)+"x+"+str(c2)+"=(x"+str((-1*x[0]))+")(x+"+str((-1*x[1]))+")=0"
- print "la solucion de la ecuacion "+str(a2)+"x^2+"+str(b2)+"x+"+str(c2)+"=0 es:"
- print "x1="+str(x[0])+" y x2="+str(x[1])
- elif c2==0:
- print "la factorizacion de la ecuacion "+str(a2)+"x^2+"+str(b2)+"x=0 es:"
- print str(a2)+"x^2+"+str(b2)+"x=x(x+"+str((-1*x[1]))+")=0"
- print "la solucion de la ecuacion "+str(a2)+"x^2+"+str(b2)+"x=0 es:"
- print "x1="+str(x[0])+" y x2="+str(x[1])
- else:
- print "ingresa un termino independiente real."
- elif b2!=0 and b2<0:
- if c2!=0 and c2>0:
- print "la factorizacion de la ecuacion "+str(a2)+"x^2"+str(b2)+"x+"+str(c2)+"=0 es:"
- print str(a2)+"x^2+"+str(b2)+"x+"+str(c2)+"=(x+"+str((-1*x[0]))+")(x+"+str((-1*x[1]))+")=0"
- print "la solucion de la ecuacion "+str(a2)+"x^2"+str(b2)+"x+"+str(c2)+"=0 es:"
- print "x1="+str(x[0])+" y x2="+str(x[1])
- elif c2!=0 and c2<0:
- print "la factorizacion de la ecuacion "+str(a2)+"x^2"+str(b2)+"x"+str(c2)+"=0 es:"
- print str(a2)+"x^2+"+str(b2)+"x+"+str(c2)+"=(x"+str((-1*x[0]))+")(x+"+str((-1*x[1]))+")=0"
- print "la solucion de la ecuacion "+str(a2)+"x^2"+str(b2)+"x+"+str(c2)+"=0 es:"
- print "x1="+str(x[0])+" y x2="+str(x[1])
- elif c2==0:
- print "la factorizacion de la ecuacion "+str(a2)+"x^2"+str(b2)+"x=0 es:"
- print str(a2)+"x^2+"+str(b2)+"x=x(x+"+str((-1*x[1]))+")=0"
- print "la solucion de la ecuacion "+str(a2)+"x^2"+str(b2)+"x=0 es:"
- print "x1="+str(x[0])+" y x2="+str(x[1])
- else:
- print "ingresa un termino independiente real."
- elif b2==0:
- if c2!=0 and c2<0:
- print "la factorizacion de la ecuacion "+str(a2)+"x^2"+str(c2)+"=0 es:"
- print str(a2)+"x^2"+str(c2)+"=(x"+str((-1*x[0]))+")(x+"+str((-1*x[1]))+")=0"
- print "la solucion de la ecuacion "+str(a2)+"x^2"+str(c2)+"=0 es:"
- print "x1="+str(x[0])+" y x2="+str(x[1])
- else:
- print "ingresa un termino independiente real."
- elif ((b2**2)-4*a2*c2)<0:
- if b2!=0 and b2>0:
- if c2!=0 and c2>0:
- print "la factorizacion de la ecuacion "+str(a2)+"x^2+"+str(b2)+"x+"+str(c2)+"=0 es:"
- print str(a2)+"x^2+"+str(b2)+"x+"+str(c2)+"=(x+"+str((-1*x[0]))+str((-1*x[1]))+"i)(x+"+str((-1*x[0]))+"+"+str((-1*x[2]))+"i)=0"
- print "la solucion de la ecuacion "+str(a2)+"x^2+"+str(b2)+"x+"+str(c2)+"=0 es:"
- print "x1="+str(x[0])+"+"+str(x[1])+"i y x2="+str(x[0])+str(x[2])+"i"
- else:
- print "ingresa un termino independiente real."
- elif b2!=0 and b2<0:
- if c2!=0 and c2>0:
- print "la factorizacion de la ecuacion "+str(a2)+"x^2"+str(b2)+"x+"+str(c2)+"=0 es:"
- print str(a2)+"x^2"+str(b2)+"x+"+str(c2)+"=(x"+str((-1*x[0]))+str((-1*x[1]))+"i)(x"+str((-1*x[0]))+"+"+str((-1*x[2]))+"i)=0"
- print "la solucion de la ecuacion "+str(a2)+"x^2"+str(b2)+"x+"+str(c2)+"=0 es:"
- print "x1="+str(x[0])+"+"+str(x[1])+"i y x2="+str(x[0])+str(x[2])+"i"
- else:
- print "ingresa un termino independiente real."
- elif b2==0:
- if c2!=0 and c2>0:
- print "la factorizacion de la ecuacion "+str(a2)+"x^2+"+str(c2)+"=0 es:"
- print str(a2)+"x^2+"+str(c2)+"=(x"+str((-1*x[1]))+"i)(x+"+str((-1*x[2]))+"i)=0"
- print "la solucion de la ecuacion "+str(a2)+"x^2+"+str(c2)+"=0 es:"
- print "x1="+str(x[1])+"i y x2="+str(x[2])+"i"
- else:
- print "ingresa un termino independiente real."
- elif ((b2**2)-4*a2*c2)==0:
- if b2!=0 and b2>0:
- if c2!=0 and c2>0:
- print "la factorizacion de la ecuacion "+str(a2)+"x^2+"+str(b2)+"x+"+str(c2)+"=0 es:"
- print str(a2)+"x^2+"+str(b2)+"x+"+str(c2)+"=(x+"+str((-1*x[0]))+")^2=0"
- print "la solucion de la ecuacion "+str(a2)+"x^2+"+str(b2)+"x+"+str(c2)+"=0 es:"
- print "x1="+str(x[0])
- else:
- print "ingresa un termino independiente real."
- elif b2!=0 and b2<0:
- if c2!=0 and c2>0:
- print "la factorizacion de la ecuacion "+str(a2)+"x^2"+str(b2)+"x+"+str(c2)+"=0 es:"
- print str(a2)+"x^2+"+str(b2)+"x+"+str(c2)+"=(x"+str((-1*x[0]))+")^2=0"
- print "la solucion de la ecuacion "+str(a2)+"x^2"+str(b2)+"x+"+str(c2)+"=0 es:"
- print "x1="+str(x[0])
- else:
- print "ingresa un termino independiente real."
- elif b2==0:
- if c2==0:
- print "la solucion de la ecuacion "+str(a2)+"x^2=0 es:"
- print "x1="+str(x[0])
- else:
- print "ingresa un termino independiente real."
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement