viernes, 25 de junio de 2010

Estructuras de control

Que son las estructuras de control? Son la forma que tenemos en programación de tomar decisiones y de alterar el flujo normal en un secuencia de instrucciones.
Hasta ahora no hemos realizado ningún código de tres o más lineas, pero para ir despejando la cabeza veamos el siguiente ejemplo:

>>>nombre = raw_input("Cual es tu nombre: - ")
Cual es tu nombre: - Gabriel
>>>#Primero nos pregunta el nombre luego hacemos print
>>>print "Tu nombre es: " + nombre
Tu nombre es Gabriel

Bien, aquí tenemos varias cositas. En primer lugar tenemos la instrucción raw_input() que lo que hace es ingresar en una variable (nombre) lo que ingresemos en el teclado, que se le llama "entrada estándar" (recordemos que otra entrada en el pc es el ratón, siempre refiriéndonos a la entrada de información). Entre los paréntesis ingresamos un string que será el texto que se mostrará al usuario.
Luego de ingresar esta linea damos enter y se ejecuta, se muestra el string que pusimos en los paréntesis y queda esperando a que ingresemos el dato pedido, una vez ingresado damos enter y el dato ingresado es guardado en la variable "nombre".
Que significa la linea con "#"? El numeral en python nos permite ingresar textos que el intérprete ignora, de tal manera que la linea ">>>#Primero nos pregunta el nombre luego hacemos print" es ignorada por python.
¿Entonces que sentido tiene colocarla? Tiene el sentido de agregar texto que ayuda a entender que cosa hace el código escrito. Es una aclaración para quién lee el código, inclusive si es el mismísimo autor del código en cuestión, no nos olvidemos que muchos programas llegan a tener cientos de lineas de código y quién escribe un programa necesita explicar su propio código por si olvida para que, o que hace cierta porción del código. Todo esto se llama "comentar", o sea que la linea con el numeral es un comentario, un comentario para aclarar alguna cosa.
Muchos a esta altura se estará preguntando: ¿Y no se iba a hablar de estructuras de control? Si, .... no desesperen :-P
Las estructuras de control son estructuras condicionales, que toman decisiones dependiendo de las condiciones que impongamos según nuestras necesidades.
En cuanto a la sintaxis de una estructura de control les puedo decir que es muy sencilla, como siempre lo veremos a partir de un ejemplo:

>>>i = 10
>>>if (i < 10):
...    print "Es menor a 10"
... else
...    print "Es mayor a 10"
...
Es menor a 10

Pienso que fácilmente se entiende, en seudocodigo sería algo así:

Si i es menor a 10 entoces
imprime "Es menor a 10"
sino
imprime "Es mayor a 10"

Empezamos la estructura con la palabra clave "if", luego entre parentesis colocamos la condición (i < 10), si la condición es evaluada como verdadera (el valor de i es menor que 10) entonces se ejecuta la instrucción anidada que le sigue inmediatamente. Ahora, si la condición es evaluada falsa, no se ejecuta la instrucción anidada siguiente (print "Es menor a 10"), sino que se ejecuta la instrucción alternativa "else" (sino) y su codigo anidado (print "Es mayor a 10").
Algo que tenemos que tener siempre en cuenta es que las estructuras de control (y otras que veremos mas adelante) llevan dos puntos (:) al final de la declaración inicial como vimos en el ejemplo:

>>>if (i < 10):

Como pueden ver es muy sencillo.
En el próximo post veremos unos ejemplos algo más complejos.

Nos vemos.

No hay comentarios:

Publicar un comentario