Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def enumeracion(objetivo):
- respuesta = 0
- while respuesta**2 < objetivo:
- print(respuesta)
- respuesta += 1
- if respuesta**2 == objetivo:
- print(f'La raiz cuadrada de {objetivo} es {respuesta}')
- else:
- print(f'{objetivo} no tiene una raiz cuadrada exacta')
- def aproximacion(objetivo):
- epsilon = 0.01 # %1
- paso = epsilon**2
- respuesta = 0.0
- while abs(respuesta**2 - objetivo) >= epsilon and respuesta <= objetivo:
- print(abs(respuesta**2 - objetivo), respuesta)
- respuesta += paso
- if abs(respuesta**2 - objetivo) >= epsilon:
- print (f'No se encontró la raiz cuadrada {objetivo}')
- else: print(f'La raiz cuadrada de {objetivo} es {respuesta}')
- def busqueda_binaria(objetivo):
- epsilon = 0.001
- bajo = 0.0
- alto = max(1.0, objetivo)
- respuesta = (alto + bajo) / 2
- while abs(respuesta**2 - objetivo) >= epsilon:
- print(f'bajo={bajo}, alto={alto}, respuesta={respuesta}')
- if respuesta**2 < objetivo:
- bajo = respuesta
- else:
- alto = respuesta
- respuesta = (alto + bajo) / 2
- print(f'La raiz cuadrada de {objetivo} es {respuesta}')
- def main():
- menu = """
- Bienvenido al programa para calcular raices cuadradas 🧮
- Elija el algorimo para hacer el calculo:
- 1. Enumeración exhaustiva
- 2. Aproximación de soluciones
- 3. Busqueda Binaria
- """
- opcion = int(input (menu))
- objetivo = int(input('Digita un número entero: '))
- if opcion == 1:
- enumeracion(objetivo)
- elif opcion == 2:
- aproximacion(objetivo)
- elif opcion == 3:
- busqueda_binaria(objetivo)
- else:
- print("Ingresa una opción correcta por favor")
- if __name__ == '__main__':
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement