Advertisement
teslariu

cuadratica

Oct 2nd, 2021
97
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. """
  2. Script que calcula las raíces de una ecuación cuadrática en el campo
  3. de los nros reales
  4. Ej:
  5. >>> Ingrese el tèrmino cuadrático: 1
  6. >>> Ingrese el término lineal: 10
  7. >>> Ingrese el término independiente: 5
  8. >>> No existen raíces en el campo de los nros reales
  9. """
  10. import datetime
  11.  
  12.  
  13.  
  14. def ingresar_datos():
  15.     a = float(input("Ingrese el término cuadrático: "))
  16.     b = float(input("Ingrese el término lineal: "))
  17.     c = float(input("Ingrese el término independiente: "))
  18.     return [a,b,c]
  19.  
  20.  
  21.  
  22.  
  23. def calcular_raices(a,b,c):
  24.     from math import sqrt
  25.     delta = b**2 - 4*a*c
  26.  
  27.     if not delta:
  28.         raices = -1*b / (2*a)
  29.         return raices
  30.     elif delta > 0:
  31.         raiz1 = (-1*b + sqrt(delta)) / (2*a)
  32.         raiz2 = (-1*b - sqrt(delta)) / (2*a)
  33.         return [raiz1, raiz2]
  34.     else:
  35.         return "No existen raices en el campo de los nros. reales"
  36.  
  37.  
  38. def grabar_datos(a,b,c,raices):
  39.     # escribo fecha y hora:
  40.     f.write(datetime.datetime.now().strftime("%d/%m/%y %H:%M:%S") + "\n")
  41.     f.write("Parámetros de la parábola:\n")
  42.     f.write(f"Término cuadrático (a): {a}\n")
  43.     f.write(f"Término lineal (b): {b}\n")
  44.     f.write(f"Término independiente (c): {c}\n")
  45.     if isinstance(raices, float):
  46.         f.write("Existe una raíz: {:.3f}\n".format(raices))
  47.     elif isinstance(raices, list):
  48.         f.write("Existen dos raíces: {:.3f} y {:.3f}\n".format(raices[0], raices[1]))
  49.     else:
  50.         f.write(raices + "\n")
  51.     f.write(30*"-"+"\n")
  52.    
  53.    
  54.    
  55.  
  56. def imprimir(raices):
  57.     if isinstance(raices, float):
  58.         print("Existe una raíz: {:.3f}".format(raices))
  59.     elif isinstance(raices, list):
  60.         print("Existen dos raíces: {:.3f} y {:.3f}".format(raices[0], raices[1]))
  61.     else:
  62.         print(raices)
  63.  
  64.  
  65. ###  main  ##############
  66. print("Script que calcula raíces de una ec.cuadrática en R")
  67.  
  68. while True:
  69.     a,b,c = ingresar_datos()
  70.     raices = calcular_raices(a,b,c)
  71.     f = open("cuadratica.txt", "a")
  72.     grabar_datos(a,b,c,raices)
  73.     imprimir(raices)
  74.  
  75.     opcion = input("\nPresione cualquier tecla para continuar(o '1' para salir): ")
  76.     if opcion == "1":
  77.         print("Gracias por usar este programa...")
  78.         f.close()
  79.         break
Advertisement
RAW Paste Data Copied
Advertisement