miércoles, 27 de mayo de 2015

Lógica de Programación (20) - Sentencias de salto interrumpir y continuar


Aunque no es una práctica muy extendida en el ámbito de la programación estructurada, en ocasiones es necesario disponer de una manera de salir anticipadamente de un ciclo o de continuar con la ejecución de ciertas sentencias cuando se cumpla una condición determinada. A estas sentencias se les llama sentencias de salto y son dos: interrumpir y continuar.

Sentencia interrumpir.
En ocasiones, un programador desea terminar un ciclo en un lugar determinado del cuerpo del mismo en vez de esperar a que el ciclo termine de modo natural por su entrada o por su salida. Un modo de conseguir esto, siempre que se use con precaución y con un control completo del ciclo, es mediante la sentencia interrumpir.

Esta sentencia se puede usar para terminar una estructura de repetición y cuando se ejecuta produce que el flujo del programa salte fuera a la siguiente sentencia inmediata fuera del ciclo. La sentencia interrumpir debe colocarse en el interior del cuerpo del ciclo para implementar su funcionamiento. Mira el siguiente ejemplo, en el cual interrumpimos el ciclo una vez que el usuario introduce un número entre 1000 y 2000.

algoritmo Interrumpir_Ciclo
var
   entero: num
inicio
   hacer
      escribir ('Introduce un número entre 1000 y 2000')
      leer (num)
      si (num < 1000 o num > 2000) entonces
         escribir ('Número no válido. Por favor introduce otro número.')
      si_no
         interrumpir
      fin_si
   mientras (1 = 1)
fin

Este es un ejemplo peculiar. Observa que la condición de repetición del ciclo hacer-mientras es una que siempre es verdadera (1=1), por lo que, en teoría, estaríamos ante un ciclo infinito. Sin embargo, dentro del cuerpo del ciclo incluimos la sentencia interrumpir, la cual se activará al momento que el usuario introduzca un número cuyo valor esté dentro del rango esperado.

Observa el programa funcionando en C#.



Sentencia continuar
Esta sentencia hace que el flujo de ejecución "se brinque" el resto del cuerpo de un ciclo para continuar con la siguiente iteración del ciclo. Esta característica suele ser útil en algunas circunstancias. Esta sentencia no hace que el ciclo termine prematuramente, sino que sólo permite saltarnos una o varias de sus iteraciones.

En el siguiente ejemplo, mostramos en pantalla todos los números entre 0 y 20 que NO son múltiplos de 4.

algoritmo Múltiplos_4
var
   entero: i
inicio
   desde i<- 0 hasta  20 hacer
      si (i mod 4 = 0) entonces
         continuar
      fin_si
      escribir (i)
   fin_desde
fin

Mira cómo funciona en C#



Como podemos ver, no importa cuál sea la estructura de repetición que ocupemos, siempre hay una forma de modificar su comportamiento mediante estas dos sentencias. En las próximas lecciones haremos una comparación de cada una de las estructuras repetitivas que hemos aprendido, además de aprender la forma en que podemos anidar estas estructuras para hacer nuestros programas aún más potentes. ¡Hasta la próxima!




0 comentarios:

Publicar un comentario

Copyright © IsraelCapetillo.com - Un blog de tecnología, noticias geek y más Compartido por Gooyaabi Templates | Powered By Blogger

Design by Anders Noren | Blogger Theme by NewBloggerThemes.com