¿ Cómo se controla el flujo de ejecución de un programa en Boo?
Al igual que los demás lenguajes de programación (estructurados u OOP), posee palabras clave para el manejo del flujo de ejecución por medio del analísis de condiciones, están aquellos de selección e iterativos, analicemos los primeros:
Condicionales y Selección – Instrucciones if, Permiten hacer una u otra acción dependiendo de si la condición en VERDADERA o FALSA.
if (1 == 1): print "Se ejecuta esta sección si la condición es VERDADERA" print "aún pertenece al bloque de la condición VERDADERA"
Como se puede ver, se deben obviar los parentesis (al ser una variante de python) el inicio de bloque (los dos puntos) indica que el código debe tabularse (se presiona TAB para insertar el tabulado), en otras palabras de ser verdadera la condición se procede con este bloque indentado de código.
Se complementa con el constructor else: como se aprecia en el siguiente ejemplo:
if 1 == 1:
print "Cierto son iguales"
else:
print "No son iguales"
if (true):
print "Entonces esto si es cierto la condición"
else:
print "I esto si es falsa la condición"
x = 6123
if x > 0: //se evalua si es verdadero o falso
print "x es mayor a 128; ya que x es ${x}"
Una variante interesante en Boo, es manipular la condición como último elemento de una expresión.
x = 12345
print "x es mayor a 234; ya que x es ${x}" if x > 234
Selecciones entre multiples opciones, Existen además control de flujo para múltiples condiciones (switch), estas son en realidad una adaptación de la sentencia de selección anterior.
x = 99 if x > 100: print "x es mayor a 100" elif x > 50: print "x es mayor a 50 pero menor a 100" elif x > 25: print "x es mayor a 25 y menor que 50" else: print "x es menor a 25"
Solo con la finalidad de hacer más legible el código se ha adicionado la instrucción UNLESS (hacer algo siempre que no sea la condición), es decir que se desarrolla un bloque de código con la condición siendo FALSA
i = 6
unless i == 5:
print "Me imprimo siempre y cuando no sea 5"
Bucles mediante for, permiten por medio de una secuencia, generar una iteración, o una sucesión de números enteros, y con ello repetir un número de veces determinado bloque de código. Para los que conozcan la instrucción funciona más como un FOREACH que un FOR convencional
for i in range(10):
print i // En este caso el range empieza en 0
for u in range(3):
print "El número de instrucciones"
print "que yo desee, múltiplicado"
print "por la veces del parametro RANGE"
for iYears in range(2001, 2009):
print iYears // El final es 2009-1
for i in range(): print i // For en una sola línea
for i in [1, 2, 3]: print i // For sobre un lista
Bucles while, permite repetir un bloque de código siempre y cuando la condición sea VERDADERA.
i as int = 0 while (i < 10): print i i += 1
Pero que si no queremos que no se haga nada dada cierta condición, en Boo es posible ello mediante, la instrucción pass
if (x > 1000): pass // No hacer nada while true: pass // Esto genere un bucle infinito - Ctrl+C para cerrar
¿ Cómo controla Boo las excepciones ?
Muchas veces dentro de la programación, ocurren circunstancias las cuales se producen errores que van desde leves a muy críticos, estos errores generalmente son evidentes y pueden ser controlados por medio de excepciones (casos especificos a una regla general), a esas circunstancias controladas desde la programación las podemos manejar en Boo de forma sencilla mediante las palabras clave try (intenta) except (llamada o define la excepcion) y ensure (si una excepcion sucede intenta esto otro)
Ejemplo:
try: cociente = 1 / 0 except e: print "no es posible determinar El cociente " ensure: cociente = 1 // Si realmente necesito el numero
El que acompaña a except es la excepcion en si y puede ser una de las excepciones prevamente definidas por Boo, uno puede generar un error/ una excepcion de forma premeditada con el constructo raise
divisor as int = 0 if divisor == 0: raise "Has intentado dividir entre 0, eso no se puede Chico!!"
Como hemos visto hasta ahora en todas las secciones de
¿ Cómo se controla el flujo de ejecución de un programa en Boo ?
Al igual que los demás lenguajes de programación (estructurados u OOP), posee palabras clave para el manejo del flujo de ejecución por medio del analísis de condiciones, están aquellos de selección e iterativos, analicemos los primeros:
Condicionales y Selección – Instrucciones if, Permiten hacer una u otra acción dependiendo de si la condición en VERDADERA o FALSA.
>>> if (1 == 1): ... print "Se ejecuta esta sección si la condición es VERDADERA" ... print "aún pertenece al bloque de la condición VERDADERA"
Como se puede ver, se deben obviar los parentesis (al ser una variante de python) el inicio de bloque (los dos puntos) indica que el código debe tabularse (se presiona TAB para insertar el tabulado), en otras palabras de ser verdadera la condición se procede con este bloque indentado de código.
Se complementa con el constructor else: como se aprecia en el siguiente ejemplo:
>>> if 1 == 1: ... print "Cierto son iguales" ... else: ... print "No son iguales" >>> if (true): ... print "Entonces esto si es cierto la condición" ... else: ... print "I esto si es falsa la condición"
>>> x = 6123
>>> if x > 0: //se evalua si es verdadero o falso
... print "x es mayor a 128; ya que x es ${x}"
Una variante interesante en Boo, es manipular la condición como último elemento de una expresión.
>>> x = 12345
>>> print "x es mayor a 234; ya que x es ${x}" if x > 234
Selecciones entre multiples opciones, Existen además control de flujo para múltiples condiciones (switch), estas son en realidad una adaptación de la sentencia de selección anterior.
>>> x = 99 >>> if x > 100: ... print "x es mayor a 100" ... elif x > 50: ... print "x es mayor a 50 pero menor a 100" ... elif x > 25: ... print "x es mayor a 25 y menor que 50" ... else: ... print "x es menor a 25"
Solo con la finalidad de hacer más legible el código se ha adicionado la instrucción UNLESS (hacer algo siempre que no sea la condición), es decir que se desarrolla un bloque de código con la condición siendo FALSA.
>>> i = 6 >>> unless i == 5: ... print "Me imprimo siempre y cuando no sea 5"
Bucles mediante for, permiten por medio de una secuencia, generar una iteración, o una sucesión de números enteros, y con ello repetir un número de veces determinado bloque de código. Para los que conozcan la instrucción funciona más como un FOREACH que un FOR convencional.
>>> for i in range(10): ... print i // En este caso el range empieza en 0 >>> for u in range(3): ... print "El número de instrucciones" ... print "que yo desee, múltiplicado" ... print "por la veces del parametro RANGE" >>> for iYears in range(2001, 2009): ... print iYears // El final es 2009-1 >>> for i in range(): print i // For en una sola línea >>> for i in [1, 2, 3]: print i // For sobre un lista
Bucles while, permite repetir un bloque de código siempre y cuando la condición sea VERDADERA.
>>> i as int = 0 >>> while (i < 10): ... print i ... i += 1
Pero que si no queremos que no se haga nada dada cierta condición, en Boo es posible ello mediante, la instrucción pass.
>>> if (x > 1000): ... pass // No hacer nada >>> while true: ... pass // Esto genere un bucle infinito - Ctrl+C para cerrar
¿ Cómo controla Boo las excepciones ?
Muchas veces dentro de la programación, ocurren circunstancias las cuales se producen errores que van desde leves a muy críticos, estos errores generalmente son evidentes y pueden ser controlados por medio de excepciones (casos especificos a una regla general), a esas circunstancias controladas desde la programación las podemos manejar en Boo de forma sencilla mediante las palabras clave try (intenta) except (llamada o define la excepcion) y ensure (si una excepcion sucede intenta esto otro).
Ejemplo:
>>> try: ... cociente = 1 / 0 ... except e: ... print "no es posible determinar El cociente " ... ensure: ... cociente = 1 // Si realmente necesito el numero
El que acompaña a except es la excepcion en si y puede ser una de las excepciones prevamente definidas por Boo, uno puede generar un error/ una excepcion de forma premeditada con el constructo raise.
>>> divisor as int = 0 >>> if divisor == 0: ... raise "Has intentado dividir entre 0, eso no se puede Chico!!"
Como hemos visto hasta ahora en todas las secciones de los tutoriales de Boo, éste es un lenguaje sencillo, que si bien no resulta ser un lenguaje comercial de masas, es un lenguaje sencillo para prototipos, y en mi caso me permite aprender el framework .Net de forma mucho más sencilla y transparente, por lo que te lo recomiendo, no como curiosidad sino una herramienta extra para mejorar tu programación; Nos vemos en la siguiente entrega.

Discussion
No comments yet.