Python como una mega calculadora

El título dice "mega calculadora" sólo pretende indicar que el intérprete de Python (IDLE) puede realizar todas las operaciones de cálculo que realiza una calculadora cisntífica y mucho más que eso. Todo eso, desde el punto de vista de una calculadora.

Y le llamamos calculadora pues, como ellas, el ingreso de datos es interactivo, como también los resultados.

Las diversas operaciones que se puedan realizar en Python requiere de datos y "operadores" que actúan sobre esos datos.

Para representar los datos usaremos "Variables" y los "Operadores" que actúen sobre ellos serán símbolos aritméticos, relacionales y lógicos, que son los que hemos contemplado anteriormente.

Ahora bien, así como la calculadora común posee "memoria" donde se almcenan los datos o resultados para luego ser invocados sea directamente o mediante la ejecución de alguna función (presionando un botón), Python, en su modalidad interactiva requiere del uso de esas "memorias".

"Dos" palabras, respecto del almacenamiento en la "memoria".

Una computadora tiene procesador para realzar todo tipo de cálculo y memoria, donde se almacenan los datos y resultados. Así como en una calculadora usamos la memoria para almacenar, los lenguajes de programación utilizan la memoria para almacenar. Pero tanto en una calculadora como en una computadora, para recuperar lo almacenado o guardado, requiere del uso de "VARIABLES".

5.2 Variables


Una variable es una "palabra" usada para representar a un dato, de cualquier tipo que éste sea. Es esta variable la que usamos para hacer referencia a una localidad de memoria en una computadora.
Una variable tiene nombre. Este nombre es una cadena de caracteres que no debe empezar con un dígito.

Ejemplos de nombre de variable:
a, x, a1, a2, valor, xTot, Agapito, miEnamorada06, Monto_Neto, Titulo, CtasxCobrar, Cuentas_x_Cobrar, etc.

En Python el símbolo que nos permite guardar un dato en una variable es: ":=" o, "=". Nosotros usaremos "=".

>>> x = 12
Par saber el contenido de x, digitamos
>>>x
12
Otras variables:
>>> abre = 19
>>>limite = 1250.23
>>> s = sx = sy = sxy = sx2 = sy2 = 0
>>>s
>>>sx2
>>>cadena = "Cadena"
>>>cadena
>>>estaEsUnaCadena="El python como el R, son los lemgujes que me deleitan"
>>>estaEsUnaCadena
>>>esta_Es_Otra_Cadena = "120"

5.2 Variables de tipo numérico

Si queremos guardar en la memoria el dato numérico 4, usamos una variable, digamos "a" y digitamos
>>> a = 5

Ejemplo 1

Si deseamos guardar en "b" el valor 8, digitamos
>>> b=8
Si se desea emitir el producto de a * b, podemos usar la declaración print, en minúscula.:
>>>print(a*b)

Si nuestro deseo es mutiplicar 5 por 8 y queremos guardar el resultado en "c", digitamos
>>>c = a*b
Si queremos que nos entregue (o emita) el resultado de la mutiplicación, digitamos
>>>c
Si queremos imprimir el contenido de c, usando print, digitamos
>>>print(c)

Podemos imprimir el valor de c, "acompañado" de una cadena de texto para una mejor comprensión, digitando
>>> print("El resultado: ",c)

O de esta otra forma
print("El resultado de multiplicar ",a, " por ",b, " es: ",c)

Y por qué no de esta forma elegante:
>>>print("Si a = ",a,"\ny b = ",b,"\nEl producto entre ellos será: ",c)

La siguiente imagen muestra este breve ejemplo.  Le pedimos que digite línea por línea y en cada caso, ingrese el  comando, presionando [Intro].
 

Ejemplo 2

Dado dos números, queremos simular una calculadora que imprima la suma, la diferencia, el producto y el cociente entre ellos

La siguiente imagen nos muestra este ejemplo. Le pedimos que digite línea por línea y en cada caso, ingrese el  comando, presionando [Intro].

Puesto que algunas líneas de comandos pueden ser muy extensas, se puede dividir la línea como se muestra en la siguiente imagen en la que presionamos [Intro] después de "suma," y luego seguims digitando.

Pero, en estos dos ejemplos hemos realzado algunos cálculos con datos ya almacenados en variables. Y cada vez que ejecutemos las operaciones, simpre van a calcular sobre el conenido de a, b ó de x, y.

¿Qué sucede si yo quisiera cambiar de datos, por ejemplo que x sea 20 e y = 1200, o cualquier valor?

Tendríamos que reasignar los valores de x e y.

Sin embargo, podemos cambiar dichos datos digitando desde el teclado los nuevos valores.

Esto lo haremos usando la función "input(...)".

Su sintaxis es muy simple:

input(msg)

variable = input(msg)

variable = input(msg+variable)

En las tres formas "msg" es una cadena de texto que sólo informa lo que se debe hacer. Si se usa variable, ésta debe contener un valor

Ejemplos:

>>>input("Dato"). Al presionar [Intro], se emite
Datos|. El cursor se queda en esta línea en espera de que se digite un dato.

Si ahora digitamos 12, tendrá:
Datos12
Al presionar [Intro] se obtendrá
'12'

También pudimos haber digitado:
>>>input()
En este caso, no habiendo msg, sólo pide el dato.

Si nuestro deseo es que lo que se digita debe quedar almacenado en una variable, debemos usar l segunda forma de su sintaxis; es decir,
>>>x = input("Dato")
Dato|
Al digitar 12 y presionar [Inro], obtenemos:
'12'
Aunque podría ser mejor digitar:
>>>x = input("Dato = "), para obtener: Dato = |
Sin duda, más elegante sería:
>>>x = input("x: ")
x: |
como se muestra en la siguiente imagen


Si ahora queremos hacer lo que se pedía en el ejemplo 2, podríamos tener lo que se muestra en la siguiente imagen

La última línea en rojo dice: "Error de tipo. El tipo de operando "-" no tiene soporte para restar "str"(cadena) con "str"(cadena).Esto significa que x e y son cadenas de texto y no valores numéricos.
Y ¿porqué aceptó realizar la suma?. Viendo el contenido de la variable "suma" encntramos que no es la suma de 12 y 15. Lo que ha hecho es "concatenar" cadena de caracteres.
 

De manera que necesitamos convertir las cadenas '12' y '15' en valores numéricos para realizar los cálculos deseados. Esto lo haremos usando la función int(...) o float(...) si tuviéramos que trabajar con valores numéricos flotantes o números que tienen decimales.

Entonces debemos convertir a x e y en valores numéricos. Por ello debemos digitar:

>>>x = input("x: ")
>>>x = int(x)
Pero podemos hacer las dos líneas en una:
>>>y = int(input("y: "))
>>>x
>>>y
Como podemos ver, ahora x e y son valores numéricos y por tanto podemos hacer ingresar las otras líneas de nuestro procedimiento, lo cual se muestra en la siguiente imagen.

Ejemplo 3

Ejemplo 4

Vamos a obtener las raíces de un polinomio cuadrático: ax2+bx+c=0. Los valores de a, b y c, deben ser ingresados por teclado.


Para el ejemplo usemos la ecuación: 3x2+10x-8 = 0
En este caso: a = 3, b=10, c = -8.

La siguiente imagen muestra el procedimiento

Ejemoplo 5

Dado la cantidad(cant), el precio unitario(pru) y descuento (desc) de un producto (en %), se pide calcular: el monto de la venta(Monto) y la venta neta (Neto), aplicando un IGV de 18%.

La siguiente imagen muestra el procedimiento

Continuar en la siguiente sesión