Advertisement
Fhernd

raizCuadradaAlgoritmos.py

Feb 26th, 2022
1,079
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.85 KB | None | 0 0
  1. def enumeracion(objetivo):
  2.    
  3.     respuesta = 0
  4.    
  5.     while respuesta**2 < objetivo:
  6.         print(respuesta)
  7.         respuesta += 1
  8.        
  9.     if respuesta**2 == objetivo:
  10.         print(f'La raiz cuadrada de {objetivo} es {respuesta}')
  11.     else:
  12.         print(f'{objetivo} no tiene una raiz cuadrada exacta')
  13.  
  14. def aproximacion(objetivo):
  15.    
  16.     epsilon = 0.01 # %1
  17.  
  18.     paso = epsilon**2
  19.  
  20.     respuesta = 0.0
  21.    
  22.     while abs(respuesta**2 - objetivo) >= epsilon and respuesta <= objetivo:
  23.         print(abs(respuesta**2 - objetivo), respuesta)
  24.         respuesta += paso
  25.  
  26.     if abs(respuesta**2 - objetivo) >= epsilon:
  27.         print (f'No se encontró la raiz cuadrada {objetivo}')
  28.     else: print(f'La raiz cuadrada de {objetivo} es {respuesta}')
  29.  
  30. def busqueda_binaria(objetivo):
  31.    
  32.    
  33.     epsilon = 0.001
  34.     bajo = 0.0
  35.     alto = max(1.0, objetivo)
  36.     respuesta = (alto + bajo) / 2
  37.  
  38.     while abs(respuesta**2 - objetivo) >= epsilon:
  39.         print(f'bajo={bajo}, alto={alto}, respuesta={respuesta}')
  40.         if respuesta**2 < objetivo:
  41.             bajo = respuesta
  42.         else:
  43.             alto = respuesta
  44.  
  45.         respuesta = (alto + bajo) / 2
  46.  
  47.     print(f'La raiz cuadrada de {objetivo} es {respuesta}')
  48.  
  49. def main():
  50.    
  51.     menu = """
  52.    Bienvenido al programa para calcular raices cuadradas 🧮
  53.    Elija el algorimo para hacer el calculo:
  54.    1. Enumeración exhaustiva
  55.    2. Aproximación de soluciones
  56.    3. Busqueda Binaria
  57.    """
  58.     opcion = int(input (menu))
  59.    
  60.     objetivo = int(input('Digita un número entero: '))
  61.  
  62.     if opcion == 1:
  63.         enumeracion(objetivo)
  64.     elif opcion == 2:
  65.         aproximacion(objetivo)
  66.     elif opcion == 3:
  67.         busqueda_binaria(objetivo)
  68.     else:
  69.         print("Ingresa una opción correcta por favor")
  70.    
  71. if __name__ == '__main__':
  72.     main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement