lunes, 29 de abril de 2024

Calcular Angulo de referencia y el valor (+/-) de Seno, Coseno y Tangente en Python

 Esta función primero define una función llamada calcular_angulo_referencia que toma un ángulo como parámetro. La función primero convierte el ángulo a radianes si es necesario. Luego, calcula el ángulo de referencia tomando el módulo absoluto del ángulo y dividiéndolo por 2π.

import math

def calcular_angulo_referencia(angulo, tipo_dato):
  """
  Esta función calcula el ángulo de referencia, el cuadrante y las positividades de seno, coseno y tangente para un ángulo dado en radianes o grados.

  Parámetros:
    angulo: El ángulo en radianes o grados.
    tipo_dato: Un string que indica si el ángulo es en "radianes" o "grados".

  Retorno:
    Una tupla que contiene el ángulo de referencia en grados, el cuadrante y las positividades de seno, coseno y tangente.
  """

  # Convertir el ángulo a radianes si es necesario
  if tipo_dato.lower() == "grados":
    angulo = math.radians(angulo)

  # Calcular el ángulo de referencia
  angulo_ref = abs(angulo) % (2 * math.pi)

  # Determinar el cuadrante
  if angulo_ref <= math.pi / 2:
    cuadrante = 1
  elif angulo_ref <= math.pi:
    cuadrante = 2
  elif angulo_ref <= 3 * math.pi / 2:
    cuadrante = 3
  else:
    cuadrante = 4


  # Calcular las positividades de las funciones trigonométricas
  seno_positivo = True if cuadrante in [1, 2] else False
  coseno_positivo = True if cuadrante in [1, 4] else False
  tangente_positivo = True if cuadrante in [1, 3] else False

  # Convertir el ángulo de referencia a grados si es necesario
  angulo_ref_grados = math.degrees(angulo_ref)

  if (float(angulo_ref_grados) > 180.0):
    angulo_ref_grados = (360 - angulo_ref_grados) * -1

  return angulo_ref_grados, cuadrante, seno_positivo, coseno_positivo, tangente_positivo

# Ejemplo de uso
angulo = float(input("Ingrese el ángulo: "))
tipo_dato = input("Ingrese el tipo de dato (radianes o grados): ").lower()

resultado = calcular_angulo_referencia(angulo, tipo_dato)

print(f"Ángulo de referencia: {resultado[0]:.2f}°")
print(f"Cuadrante: {resultado[1]}")
print(f"Seno positivo: {resultado[2]}")
print(f"Coseno positivo: {resultado[3]}")
print(f"Tangente positiva: {resultado[4]}")

A continuación, la función determina el cuadrante en el que se encuentra el ángulo de referencia dividiendo el rango de 0 a 2π en cuatro cuadrantes iguales, y también el tipo de dato (radianes o grados). Finalmente, la función calcula las positividades de las funciones trigonométricas seno, coseno y tangente para el ángulo de referencia en el cuadrante determinado.

La función devuelve una tupla que contiene el ángulo de referencia en grados, el cuadrante, y las positividades de seno, coseno y tangente.

La parte final del código proporciona un ejemplo de cómo usar la función calcular_angulo_referencia. Solicita al usuario que ingrese un ángulo en radianes o grados, y luego imprime los resultados devueltos por la función.

Calculadora científica para calcular el seno, coseno, tangente, exponencial y logaritmo neperiano

La siguiente es una unción que simula una calculadora científica que permita calcular el seno, coseno, tangente, exponencial y logaritmo neperiano. La función preguntará al usuario el valor y la función a aplicar, y mostrará por pantalla una tabla con los enteros de 1 al valor introducido y el resultado de aplicar la función a esos enteros.

import math

def calculadora_cientifica():
  """
  Función que simula una calculadora científica básica.

  Permite calcular el seno, coseno, tangente, exponencial y logaritmo neperiano de un rango de valores enteros.
  """

  # Solicitar valor y función al usuario
  valor = int(input("Ingrese el valor máximo (entero): "))
  funcion = input("Ingrese la función a calcular (seno, coseno, tangente, exponencial, logaritmo): ").lower()

  # Validar la función ingresada
  if funcion not in ("seno", "coseno", "tangente", "exponencial", "logaritmo"):
    print("Función no válida. Intente de nuevo.")
    return

  # Crear tabla de resultados
  print("\n| Valor | Resultado |\n|---|---|")

  # Calcular y mostrar resultados
  for i in range(1, valor + 1):
    if funcion == "seno":
      resultado = math.sin(i)
    elif funcion == "coseno":
      resultado = math.cos(i)
    elif funcion == "tangente":
      resultado = math.tan(i)
    elif funcion == "exponencial":
      resultado = math.exp(i)
    elif funcion == "logaritmo":
      resultado = math.log(i)

    print(f"| {i} | {resultado:.4f} |")

if __name__ == "__main__":
  calculadora_cientifica()

Explicación del código:

  1. Importación de la biblioteca math: Se importa la biblioteca math para acceder a funciones matemáticas como sin, cos, tan, exp y log.
  2. Función calculadora_cientifica:
    • Solicitar valor y función al usuario: Se utilizan las funciones input para obtener el valor máximo (entero) y la función a calcular del usuario.
    • Validar la función ingresada: Se verifica si la función ingresada es válida ("seno", "coseno", "tangente", "exponencial", "logaritmo"). Si no es válida, se muestra un mensaje de error y se termina la función.
    • Crear tabla de resultados: Se imprime un encabezado de tabla con las columnas "Valor" y "Resultado".
    • Calcular y mostrar resultados: Se utiliza un bucle for para iterar desde 1 hasta el valor máximo ingresado. Dentro del bucle, se calcula el resultado de la función correspondiente al valor actual (i) utilizando las funciones matemáticas de la biblioteca math. El resultado se formatea con 4 decimales y se imprime en la tabla junto con el valor actual.
  3. Bloque if __name__ == "__main__"::
    • Este bloque garantiza que el código dentro de la función calculadora_cientifica solo se ejecute cuando se ejecute el script como programa principal, y no cuando se importe como módulo.

Ejecución del código:

  1. Guarde el código como un archivo Python (por ejemplo, calculadora_cientifica.py).
  2. Abra una terminal o ventana de comandos y navegue hasta la ubicación donde guardó el archivo.
  3. Ejecute el código usando el siguiente comando:
python calculadora_cientifica.py
  1. Se le pedirá que ingrese el valor máximo y la función a calcular. El código calculará y mostrará una tabla con los resultados para los valores enteros desde 1 hasta el valor máximo especificado.

7 razones para no usar Laravel en tu proyecto de PHP

En más de 40 años de experiencia como programador y director de proyectos de programación, he aprendido que cada requerimiento tiene mejores...