Академический Документы
Профессиональный Документы
Культура Документы
I. Tema:
Calculadora científica
II. Objetivos:
Objetivo general
Objetivo especifico
V. Marco teórico
Módulos Matemáticos en Python : Math y Cmath
Cuando escribimos programas en nuestra vida diaria, usualmente nos encontramos con situaciones en
donde necesitamos usar un poco de matemáticas para hacer una tarea. Como otros lenguajes de
programación, Python proporciona varios operadores para realizar cálculos básicos como * para
multiplicación, % para módulos y // para división.
Si estás escribiendo un programa para realizar tareas específicas como estudiar movimiento periódico o
simular circuitos eléctricos, necesitarás trabajar con funciones trigonométricas así como números
complejos. Mientras que no puedes usar estas funciones directamente, puedes acceder a ellas incluyendo
dos módulos matemáticos primero. Estos módulos son mathy cmath.
Funciones Aritméticas
Estas funciones realizan varias operaciones aritméticas como calcular el valor superior, inferior o absoluto
de un número usando las funciones floor(x), ceil(x), y fabs(x) respectivamente. La función ceil(x)
devolverá el entero más pequeño que sea mayor qué o igual a x. De manera similar, floor(x) devuelve el
entero más grande menor qué o igual a x. La función fabs(x) devuelve el valor absoluto de x.
También puedes realizar operaciones no triviales como calcular el factorial de un número usando
factorial(x). Un factorial es el producto de un entero y todos los enteros positivos menores que este. Es
usado extensivamente cuando se trabaja con combinaciones y permutaciones. También puede ser usado
para calcular el valor de las funciones seno y coseno.
Otra función útil en el módulo math es gcd(x,y), la cuál te da el máximo común divisor (MCD) de dos
números x y y. Cuando x y y no son cero, esta función regresa el entero positivo más grande que divida
tanto a x como a y. Puedes usarlo indirectamente para calcular el mínimo común múltiplo de dos números
usando la siguiente fórmula:
Funciones Trigonométricas
Estas funciones relacionan los ángulos de un triángulo a sus lados. Tienen muchas aplicaciones, incluyendo
el estudio de triángulos y el modelado de fenómenos periódicos como el sonido y ondas de luz. Ten en
mente que el ángulo que proporcionas está en radianes.
Puedes calcular sin(x) , cos(x) , y tan(x) directamente usando este módulo. Sin embargo, no hay fórmula
directa para calcular cosec(x) , sec(x) , y cot(x) , pero su valor es igual al recíproco del valor devuelto
por sin(x) , cos(x) , y tan(x) respectivamente.
En lugar de calcular el valor de funciones trigonométricas como cierto ángulo, también puedes hacer el
cálculo inverso y calcular el ángulo al que tienen un valor dado usando asin(x) , acos(x) , and atan(x) .
math.acos( x )
Devuelve el arco coseno de x , en radianes.
math.asin( x )
Devuelve el arco seno de x , en radianes.
math.atan( x )
Devuelve la tangente de arco de x , en radianes.
math.atan2( y , x )
Regreso , en radianes. El resultado es entre y . El vector en el plano desde el origen al punto forma este ángulo
con el eje X positivo. El punto es que se conocen los signos de ambas entradas, por lo que puede calcular el
cuadrante correcto para el ángulo. Por ejemplo, y son ambos , pero lo es .atan(y / x)-
pipi(x,y)atan2()atan(1)atan2(1, 1)pi/4atan2(-1, -1)-3*pi/4
math.cos( x )
Devuelve el coseno de x radianes.
math.hypot( x , y )
Devolver la norma euclidiana, . Esta es la longitud del vector desde el origen hasta el
punto .sqrt(x*x + y*y)(x, y)
math.sin( x )
Devuelve el seno de x radianes.
math.tan( x )
Devuelve la tangente de x radianes.
Funciones Hiperbólicas
Las funciones hiperbólicas son análogas a las funciones trigonométricas que están basadas en una hipérbole
en lugar de un círculo. En trigonometría, los puntos (cos b, sin b) representan los puntos de un círculo
unitario. En caso de funciones hiperbólicas, los puntos (cosh b, sinh b) representan los puntos que forman la
mitad derecha de una hipérbola equilátera.
Justo como las funciones trigonométricas, puedes calcular el valor de sinh(x), cosh(x), y tanh(x)
directamente. El resto de los valores pueden ser calculados usando varias relaciones entra estos tres valores.
También hay otras funciones como asinh(x), acosh(x), and atanh(x), lac cuales pueden ser usadas para
culcular la inversa de los valores hiperbólicos correspondientes.
math.acosh( x ) [1]
Devuelve el coseno hiperbólico inverso de x .
math.asinh( x )
Devuelve el seno hiperbólico inverso de x .
math.atanh( x )
Devuelve la tangente hiperbólica inversa de x .
math.cosh( x )
Devuelve el coseno hiperbólico de x .
math.sinh( x )
Devuelve el seno hiperbólico de x .
math.tanh( x )
Devuelve la tangente hiperbólica de
Puedes usar log(x,[base]) para calcular el log de un número dado x a la base dada. Si dejas fuera el
argumento opcional de base, el log de x es calculado a la base e. Aquí, e es una constante matemática cuyo
valor es 2.71828182.... y puede ser accedida usando math.e . Por cierto, Python también te permite acceder
a otra constante π usando math.pi .
Si quieres calcular los valores logarítmicos base 2 o base 10, usar log2(x) y log10(x) revolverá
resultados más precisos que log(x, 2) y log(x, 10) . Ten en mente que no hay función log3(x) , así que
tendrás que seguir usando log(x, 3) para calcular valores logarítmicos log(x,3). Lo mismo aplica para
todas las demás bases.
Si el valor cuyo logaritmo estás calculando es bastante cercano a 1, puedes usar log1p(x) .
El 1p en log1p significa 1 más. Así pues, log1p(x) calcula log(1+x) en donde x es cercano a cero. Sin
embargo, los resultados son más precisos con loglp(x) .
También puedes calcular el valor de un número x elevado a la potencia yusando pow(x, y) . Antes de
computar las potencias, esta función convierte ambos argumentos a tipo float. Si quieres que el resultado
final se compute en potencias enteras exactas, deberías usar la función integrada pow() o el operador ** .
También puedes computar la raíz cuadrada de cualquier número dado xusando sqrt(x) , pero la misma cosa
también puede ser lograda usando pow(x, 0.5) .
Números Complejos
Los números complejos son almacenados inicialmente usando coordenadas rectangulares o Cartesianas. Un
número complejo z será representado en coordenadas Cartesianas como z = x + iy, en donde x representa la
parte real y y representa la parte imaginaria. Otra manera de representarlos es usando coordenadas polares.
En este caso, el número complejo sería definido por una combinación de los módulos r y ángulo de fase
phi. El módulo r es la distancia entre el número complejo z y el origen. El ángulo phi es el ángulo contrario
medido en radianes desde el eje x positivo al segmento de línea uniendo a z y el origen.
Mientras lidiamos con números complejos, el módulo cmath puede ser de gran ayuda. El módulo de un
número complejo puede ser calculado usando la función integrada abs() y su fase puede ser calculada
usando la función phase(z) disponible en el módulo cmath. Puedes convertir un número complejo en forma
rectangular a forma polar usando polar(z), la cuál devolverá un par (r, phi), en donde r es abs(z) y phi es
phase(z).
De manera similar, puedes convertir un número complejo en forma polar a rectangular usando rect(r, phi).
El número complejo devuelto por esta función es r * (math.cos(phi) + math.sin(phi)*1j). [1]
Conversión angular
math.degrees( x )
Convierta el ángulo x de radianes a grados.
math.radians( x )
Convierta el ángulo x de grados a radianes.
VI.
Actividades por desarrollar;
- Me muestre a través de un menú las operaciones básica suma resta multiplicación división
entre otros.
- Cada vez que termine el cálculo de una operación nos va a dar la respuesta.
- Cada que vez que finalice la operación el programa nos va a volver al menú para poder
realizar otra operación.
El programa que realizamos hemos utilizando nuestros conocimientos aprendidos en clase lo cual
ponemos énfasis en el desarrollo de la calculadora
Como hemos podido ver las calculadoras pueden construir a fomentar el pensamiento matemático
además no solo cuenta con el resultado final si no que ay proceso que a través del funcionamiento
de ellas ya atreves de su funcionamiento esta la programación.
IX. Recomendaciones
Para la realización de un programa bien hecho se debe tomar en cuenta si está bien instalado sublime
text y acondicionado para el ambiente de programación en python ya que al no estar bien instalado
correctamente la programación no va a dar ningún resultado.
X. Anexo
Programa
import math
import cmath
def cls():
print("\n"*10)
print("")
print("")
print ("\t\t\t*******MENÚ*******")
print("")
print("\t\t\t4. SALIR")
print("\n")
if Opcion==1:
cls()
print("")
print("\t\t\t1. SUMA")
print("\t\t\t2. RESTA")
print("\t\t\t3. DIVISION")
print("\t\t\t4. MULTIPLICACION")
print("\t\t\t5. POTENCIACION")
print("\t\t\t6. RADICACION")
print("\n")
while (Opcion!=7):
if Opcion==1:
#Input
#Impresion
print("")
elif Opcion==2:
#Input
#Resta
restaTotal=variable_resta1-variable_resta2
#Impresion
# se visualizara en pantalla.
print()
elif Opcion==3:
#Input
#Division
divisionTotal=divisor/dividendo
#Impresion
print("")
elif Opcion==4:
#Input
#Operacion
multiplicacionTotal=multiplicando1*multiplicando2
#Impresion
print()
elif Opcion==5:
#Input
#Operacion
PotenciacionTotal=variable_potenciacion1**variable_potenciacion2
#Impresion
print()
elif Opcion==6:
print("Radicacion")
#Input
#Operacion
RadicacionTotal=variable_radicacion1**(1/variable_radicacion2)
#Impresion
print()
else:
print("")
print ("\t\t\t*******MENÚ*******")
print("")
print("\t\t\t1. SUMA")
print("\t\t\t2. RESTA")
print("\t\t\t3. DIVISION")
print("\t\t\t4. MULTIPLICACION")
print("\t\t\t5. POTENCIACION")
print("\t\t\t6. RADICACION")
print("\t\t\t7. MENU")
print("")
SystemExit
print("\t\t\t Ejecucion finalizada \n \t\t GRACIAS POR USAR NUESTRO SERVICIO ☻")
print ("\t\t\t*******MENÚ*******")
print("")
print("\t\t\t4. SALIR")
print("\n")
elif Opcion==2:
print ("\t\t\t*******MENÚ*******")
print("")
print("\n")
while (Opcion!=5):
if Opcion==1:
s1= float(s)
s2= math.radians(s1)
elif Opcion==2:
s=input("Ingrese un angulo:")
s1= float(s)
s2= math.radians(s1)
elif Opcion==3:
s=input("Ingrese un angulo:")
s1= float(s)
s2= math.radians(s1)
elif Opcion==4:
s=float(input("Ingrese un numero:"))
else:
print ("\t\t\t*******MENÚ*******")
print("")
print("\n")
SystemExit
print("\t\t\t Ejecucion finalizada \n \t\t GRACIAS POR USAR NUESTRO SERVICIO ☻")
print ("\t\t\t*******MENÚ*******")
print("")
print("\t\t\t4. SALIR")
print("\n")
elif Opcion==3:
print ("\t\t\t*******MENÚ*******")
print("")
print("\n")
while (Opcion!=4):
if Opcion==1:
s1=((9* s)/5)+32
s2=s+273.15
elif Opcion==2:
s1= (s*60)/1
s1= ((s*24)/1)
else:
print ("\t\t\t*******MENÚ*******")
print("")
print("\n")
SystemExit
print("\t\t\t Ejecucion finalizada \n \t\t GRACIAS POR USAR NUESTRO SERVICIO ☻")
print ("\t\t\t*******MENÚ*******")
print("")
print("\t\t\t4. SALIR")
print("\n")
else:
print ("\t\t\t*******MENÚ*******")
print("")
print("\t\t\t4. SALIR")
print("\n")
SystemExit
print("\t\t\t Ejecucion finalizada \n \t\t GRACIAS POR USAR NUESTRO SERVICIO ☻")
XI. Bibliografía
Bibliografía
[1] «math — Mathematical functions — Python 3.7.1rc1 documentation,» Docs.python.org, 2018. [En línea].
Available: https://docs.python.org/3/library/math.html#angular-conversion.