Created
December 22, 2014 21:56
-
-
Save anonymous/f77eb0845cf05d285a39 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#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." |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment