Mostrando las entradas con la etiqueta suma. Mostrar todas las entradas
Mostrando las entradas con la etiqueta suma. Mostrar todas las entradas

jueves, 19 de enero de 2017

[Tutorial Python] 6. Jerarquía de operaciones




Antes de abarcar otros temas sobre la programación en sí, quisiera hacer un paréntesis muy importante, y es que los operadores tienen un cierto orden de importancia y el ignorar esto puede causar errores que no son tan fáciles de percibir.

Si experimentaste bastante con lo que se vio en la publicación pasada te habrás dado cuenta que al momento de combinar muchas operaciones algunas veces no nos da el resultado "esperado" o "predecible", esto se debe a que las computadoras siguen un orden específico para resolver fórmulas; la cuál se describe a continuación: 
  1. Potencias y radicales
  2. Multiplicación, división, división sesgada y módulo
  3. Suma y resta
Esto quiere decir que las potencias y los radicales se resolveran primero que las multiplicaciones y las divisiones y estas, a su vez, se solucionarán antes que las adiciones y sustracciones.

Pero, ¿Qué pasa si hay dos operaciones de la misma jerarquía en una misma operación? Ah, pues en este caso se sigue la regla de izquierda a derecha, en la que se resolverá primero la operación que está a la izquierda entre dos o más operaciones de la misma jerarquía.

Por ejemplo: 

4+8×2÷4-32+√4=?

Entonces, según la jerarquía, se tienen que resolver primero las potencias y los radicales, pero si te das cuenta hay dos de ellos en esta operación:

4+8×2÷4-32+√4=?

Para resolver esto necesitamos aplicar la regla de izquierda a derecha; podrás pensar que no cambiaría nada a la hora de resolver la operación, y quizá tengas razón, pero esta regla se vuelve muy importante para las otras operaciones.

Resolviendo:

4+8×2÷4-9+2=?

Ahora, como ya no quedan potencias o radicales, pasamos a la siguiente posición en la jerarquía: las multiplicaciones y las divisiones:
4+8×2÷4-9+2=?

De nuevo, tenemos dos operaciones de la misma categoría y, de nuevo, tenemos que aplicar la regla de izquierda a derecha.

4+16÷4-9+2=?
4+4-9+2=?

Y, por último, resolvemos las operaciones de la última jerarquía de izquierda a derecha otra vez:

4+4-9+2=?
8-9+2=?
-1+2=

El controlar operaciones para que nos den resultados esperados o que tengan el comportamiento que nosotros queramos no sería tarea nada sencilla si no existieran los agrupadores matemáticos o los paréntesis. Aquellas operaciones que estén dentro de paréntesis tendrán la prioridad más alta sin importar la naturaleza de la operación; sin embargo, si dentro de los paréntesis hay operaciones de diferentes jerarquías se deben de respetar las reglas que vimos anteriormente.

Utilizando el ejemplo anterior, colocaremos paréntesis en un grupo de operaciones:

(4+8×2)÷4-32+√4=? 
 
Observa que son los mismos números y las mismas operaciones que el ejemplo pasado, pero esta vez hay paréntesis aislando algunas operaciones. Entonces se resolvería de esta manera:

(4+8×2)÷4-32+√4=?
(4+16)÷4-32+√4=?
20÷4-32+√4=?
20÷4-9+√4=?
20÷4-9+2=?
5-9+2=?
-4+2=-2 

Ahora te toca a ti practicar. Haz un programa que solicite datos al usuario y haz que estos datos pasen por una serie de operaciones (si no recuerdas cómo hacer operaciones en Python haz click aquí), luego coloca paréntesis en posiciones diferentes y, con los mismos datos de usuario, observa cómo el resultado cambia.

Eso es todo por ahora, si tienes alguna duda, un comentario, alguna aportación o consideras que hace falta explicar algo no dudes dejar un comentario. Saludos y hasta la siguiente entrada.

miércoles, 18 de enero de 2017

[Tutorial Python] 5. Función Input - Datos ingresados por el usuario.



Para empezar definamos lo que es un "usuario". En pocas palabras: Un usuario es toda aquella persona que interactuará con nuestro programa. He hablado con algunos desarrolladores y todos coinciden en algo: el usuario es el sujeto principal de todo código de programación; en el entendido de que nuestro programa debe de ser desarrollado de tal manera que cualquier persona pueda entender cómo trabaja y qué tiene que hacer a continuación sin la necesidad de abusar de algún tutorial o manual de uso.

Ahora, como el usuario es aquella persona que utilizará nuestro software; también se hace obvio que es el usuario el que ingresará un dato o un conjunto de datos para que el programa funcione. Por ejemplo:

Imaginemos que estamos programando una calculadora. La función de una calculadora es realizar operaciones sobre los números que el usuario elija. Una calculadora que no admita datos del usuario no seria muy útil ¿verdad?

Para hacer que nuestro programa admita datos de usuario en Python existe la función input.

Esta función tiene la siguiente sintaxis:
x = input ("argumento")
Un ejemplo:
edad = input ("Ingrese su edad: ")
Al momento de ejecutar el programa aparecerá algo así:
Da click en la imagen para ampliar
PyCharm estará esperando a que ingreses un número. Así que escribe tu edad y presiona Enter ¿Pasó algo? Pues no, porque no dimos ninguna otra instrucción a parte de solicitar la edad al usuario. Más abajo hay un ejemplo más completo, así que no desesperes, tenemos que aprender algo más antes de hacer ejemplos prácticos.

Cabe mencionar, y es muy importante que lo tengas en cuenta a la hora de programar, que la función input considerará todos los datos como string (texto), así que si quieres hacer operaciones con los datos de usuario tendrás que hacer una conversión de tipos de datos que se explicó en un post anterior (Si no recuerdas los tipos de datos da click aquí).

Entonces, tomando en cuenta lo anterior, si queremos que la edad del usuario sea considerada como un dato numérico entero por el programa, tendríamos que escribir:

edad = int("Ingrese su edad: ")

o bien, si queremos trabajar con decimales:

edad = float("Ingrese su edad: ")

Ahora que sabemos cómo utilizar la función input podremos hacer un programa que sume un número x y un número y, los cuales serán ingresados por el usuario:

print("\nEste programa sumará un valor x más un valor y\n")
x = float(input("Ingrese el valor de x: "))
y = float(input("Ingrese el valor de y: "))
suma = x + y
print("\nEl resultado es: ", suma, "\n\nFIN DEL PROGRAMA")

Ejecuta, utiliza, analiza y juega con el código y, a continuación, responde lo siguiente:
  • ¿Qué pasaría si no declaráramos el tipo de dato? ¿Daría el mismo resultado?
  • ¿Qué tendría que cambiar para hacer otro tipo de operación?
  • ¿Qué pasa si ingreso un número negativo como usuario? ¿Da algún tipo de error?
  • ¿Puedo hacer que el programa sea un poco más entendible?
  • ¿Un poco más intuitivo?
  • ¿Un poco más atractivo?
 Intenta crear un programa con lo que has aprendido hasta ahora. Cualquier duda, comentario o aportación son bienvenidos; tan solo escríbenos algo más abajo. Saludos.

Entrada siguiente: 6. Jerarquía de operaciones.