Advertisement
Guest User

cuadratica

a guest
Dec 22nd, 2014
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 6.33 KB | None | 0 0
  1. #usr/bin/python
  2. #coding: utf-8
  3. #Cdt.py
  4.  
  5. from math import *
  6.  
  7. #resolveremos una ecuacion cuadratica de la forma ax^2+bx+c=0
  8. class Cdt(object):
  9.     def __init__(self, cc, cx, ti): #cc=a, cx=b y ti=c
  10.         self.a1=cc
  11.         self.b1=cx
  12.         self.c1=ti
  13.         self.solucion()
  14.    
  15.     def solucion(self):
  16.         a=self.a1
  17.         b=self.b1
  18.         c=self.c1
  19.         lista=[]
  20.         if a>0:
  21.             if ((b**2)-4*a*c)>0:
  22.                 x1=(-b+sqrt((b**2)-4*a*c))/(2*a)
  23.                 x2=(-b-sqrt((b**2)-4*a*c))/(2*a)
  24.                 lista.append(x1)
  25.                 lista.append(x2)
  26.                 return lista
  27.             elif ((b**2)-4*a*c)<0:
  28.                 r=-b/(2*a)
  29.                 i1=sqrt(4*a*c-(b**2))
  30.                 i2=-i1
  31.                 lista.append(r)
  32.                 lista.append(i1)
  33.                 lista.append(i2)
  34.                 return lista
  35.             elif ((b**2)-4*a*c)==0:
  36.                 x1=-b/(2*a)
  37.                 lista.append(x1)
  38.                 return lista
  39.         elif a<0:
  40.             return Cdt(-a,-b,-c)
  41.         elif a==0:
  42.             if b!=0:
  43.                 if c!=0:
  44.                     x1=-c/b
  45.                     lista.append(x1)
  46.                     return lista
  47.                 else:
  48.                     x1=0
  49.                     lista.append(x1)
  50.                     return lista
  51.             else:
  52.                 if c==0:
  53.                     x1=0
  54.                     lista.append(x1)
  55.                     return lista
  56.                    
  57. a2=input("ingrese el coeficiente de x^2: ")
  58. b2=input("ingrese el coeficiente de x: ")
  59. c2=input("ingrese el termino independiente: ")
  60.  
  61. x=Cdt(a2,b2,c2)
  62. #x.solucion(a2,b2,c2)
  63.  
  64. if a2==0:
  65.     if b2!=0:
  66.         if c2!=0 and c2>0:
  67.             print "la solucion de la ecuacion "+str(b2)+"x+"+str(c2)+"=0 es:"
  68.             print "x="+str(x[0])
  69.         elif c2!=0 and c2<0:
  70.             print "la solucion de la ecuacion "+str(b2)+"x"+str(c2)+"=0 es:"
  71.             print "x="+str(x[0])
  72.     elif b2==0:
  73.         if c2==0:
  74.             print "x="+str(x[0])
  75.         else:
  76.             print "estas comparando un termino real con un cero"
  77. else:
  78.     if ((b2**2)-4*a2*c2)>0:
  79.         if b2!=0 and b2>0:
  80.             if c2!=0 and c2>0:
  81.                 print "la factorizacion de la ecuacion "+str(a2)+"x^2+"+str(b2)+"x+"+str(c2)+"=0 es:"
  82.                 print str(a2)+"x^2+"+str(b2)+"x+"+str(c2)+"=(x+"+str((-1*x[0]))+")(x+"+str((-1*x[1]))+")=0"
  83.                 print "la solucion de la ecuacion "+str(a2)+"x^2+"+str(b2)+"x+"+str(c2)+"=0 es:"
  84.                 print "x1="+str(x[0])+" y x2="+str(x[1])
  85.             elif c2!=0 and c2<0:
  86.                 print "la factorizacion de la ecuacion "+str(a2)+"x^2+"+str(b2)+"x"+str(c2)+"=0 es:"
  87.                 print str(a2)+"x^2+"+str(b2)+"x+"+str(c2)+"=(x"+str((-1*x[0]))+")(x+"+str((-1*x[1]))+")=0"
  88.                 print "la solucion de la ecuacion "+str(a2)+"x^2+"+str(b2)+"x+"+str(c2)+"=0 es:"
  89.                 print "x1="+str(x[0])+" y x2="+str(x[1])
  90.             elif c2==0:
  91.                 print "la factorizacion de la ecuacion "+str(a2)+"x^2+"+str(b2)+"x=0 es:"
  92.                 print str(a2)+"x^2+"+str(b2)+"x=x(x+"+str((-1*x[1]))+")=0"
  93.                 print "la solucion de la ecuacion "+str(a2)+"x^2+"+str(b2)+"x=0 es:"
  94.                 print "x1="+str(x[0])+" y x2="+str(x[1])
  95.             else:
  96.                 print "ingresa un termino independiente real."
  97.         elif b2!=0 and b2<0:
  98.             if c2!=0 and c2>0:
  99.                 print "la factorizacion de la ecuacion "+str(a2)+"x^2"+str(b2)+"x+"+str(c2)+"=0 es:"
  100.                 print str(a2)+"x^2+"+str(b2)+"x+"+str(c2)+"=(x+"+str((-1*x[0]))+")(x+"+str((-1*x[1]))+")=0"
  101.                 print "la solucion de la ecuacion "+str(a2)+"x^2"+str(b2)+"x+"+str(c2)+"=0 es:"
  102.                 print "x1="+str(x[0])+" y x2="+str(x[1])
  103.             elif c2!=0 and c2<0:
  104.                 print "la factorizacion de la ecuacion "+str(a2)+"x^2"+str(b2)+"x"+str(c2)+"=0 es:"
  105.                 print str(a2)+"x^2+"+str(b2)+"x+"+str(c2)+"=(x"+str((-1*x[0]))+")(x+"+str((-1*x[1]))+")=0"
  106.                 print "la solucion de la ecuacion "+str(a2)+"x^2"+str(b2)+"x+"+str(c2)+"=0 es:"
  107.                 print "x1="+str(x[0])+" y x2="+str(x[1])
  108.             elif c2==0:
  109.                 print "la factorizacion de la ecuacion "+str(a2)+"x^2"+str(b2)+"x=0 es:"
  110.                 print str(a2)+"x^2+"+str(b2)+"x=x(x+"+str((-1*x[1]))+")=0"
  111.                 print "la solucion de la ecuacion "+str(a2)+"x^2"+str(b2)+"x=0 es:"
  112.                 print "x1="+str(x[0])+" y x2="+str(x[1])
  113.             else:
  114.                 print "ingresa un termino independiente real."
  115.         elif b2==0:
  116.             if c2!=0 and c2<0:
  117.                 print "la factorizacion de la ecuacion "+str(a2)+"x^2"+str(c2)+"=0 es:"
  118.                 print str(a2)+"x^2"+str(c2)+"=(x"+str((-1*x[0]))+")(x+"+str((-1*x[1]))+")=0"
  119.                 print "la solucion de la ecuacion "+str(a2)+"x^2"+str(c2)+"=0 es:"
  120.                 print "x1="+str(x[0])+" y x2="+str(x[1])
  121.             else:
  122.                 print "ingresa un termino independiente real."
  123.     elif ((b2**2)-4*a2*c2)<0:
  124.         if b2!=0 and b2>0:
  125.             if c2!=0 and c2>0:
  126.                 print "la factorizacion de la ecuacion "+str(a2)+"x^2+"+str(b2)+"x+"+str(c2)+"=0 es:"
  127.                 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"
  128.                 print "la solucion de la ecuacion "+str(a2)+"x^2+"+str(b2)+"x+"+str(c2)+"=0 es:"
  129.                 print "x1="+str(x[0])+"+"+str(x[1])+"i y x2="+str(x[0])+str(x[2])+"i"
  130.             else:
  131.                 print "ingresa un termino independiente real."
  132.         elif b2!=0 and b2<0:
  133.             if c2!=0 and c2>0:
  134.                 print "la factorizacion de la ecuacion "+str(a2)+"x^2"+str(b2)+"x+"+str(c2)+"=0 es:"
  135.                 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"
  136.                 print "la solucion de la ecuacion "+str(a2)+"x^2"+str(b2)+"x+"+str(c2)+"=0 es:"
  137.                 print "x1="+str(x[0])+"+"+str(x[1])+"i y x2="+str(x[0])+str(x[2])+"i"
  138.             else:
  139.                 print "ingresa un termino independiente real."
  140.         elif b2==0:
  141.             if c2!=0 and c2>0:
  142.                 print "la factorizacion de la ecuacion "+str(a2)+"x^2+"+str(c2)+"=0 es:"
  143.                 print str(a2)+"x^2+"+str(c2)+"=(x"+str((-1*x[1]))+"i)(x+"+str((-1*x[2]))+"i)=0"
  144.                 print "la solucion de la ecuacion "+str(a2)+"x^2+"+str(c2)+"=0 es:"
  145.                 print "x1="+str(x[1])+"i y x2="+str(x[2])+"i"
  146.             else:
  147.                 print "ingresa un termino independiente real."
  148.     elif ((b2**2)-4*a2*c2)==0:
  149.         if b2!=0 and b2>0:
  150.             if c2!=0 and c2>0:
  151.                 print "la factorizacion de la ecuacion "+str(a2)+"x^2+"+str(b2)+"x+"+str(c2)+"=0 es:"
  152.                 print str(a2)+"x^2+"+str(b2)+"x+"+str(c2)+"=(x+"+str((-1*x[0]))+")^2=0"
  153.                 print "la solucion de la ecuacion "+str(a2)+"x^2+"+str(b2)+"x+"+str(c2)+"=0 es:"
  154.                 print "x1="+str(x[0])
  155.             else:
  156.                 print "ingresa un termino independiente real."
  157.         elif b2!=0 and b2<0:
  158.             if c2!=0 and c2>0:
  159.                 print "la factorizacion de la ecuacion "+str(a2)+"x^2"+str(b2)+"x+"+str(c2)+"=0 es:"
  160.                 print str(a2)+"x^2+"+str(b2)+"x+"+str(c2)+"=(x"+str((-1*x[0]))+")^2=0"
  161.                 print "la solucion de la ecuacion "+str(a2)+"x^2"+str(b2)+"x+"+str(c2)+"=0 es:"
  162.                 print "x1="+str(x[0])
  163.             else:
  164.                 print "ingresa un termino independiente real."
  165.         elif b2==0:
  166.             if c2==0:
  167.                 print "la solucion de la ecuacion "+str(a2)+"x^2=0 es:"
  168.                 print "x1="+str(x[0])
  169.             else:
  170.                 print "ingresa un termino independiente real."
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement