Resumen: Entrega nº 78 del curso Bases de la programación Nivel I.
Codificación aprenderaprogramar.com: CU00179A

 

 

INSTRUCCIÓN SALIRDESDE (EXIT FOR)

La instrucción SalirDesde se usa para provocar una salida forzada de un bucle Desde ... Siguiente. El flujo del programa salta a la instrucción inmediatamente posterior al Siguiente que marca la terminación del bucle.

 

En el caso de bucles anidados SalirDesde afecta únicamente al bucle que está procesándose cuando se llega a esta instrucción de salida. Su uso antes o después de un bucle Desde ... Siguiente no tiene ningún efecto al carecer de sentido. SalirDesde puede encontrarse en cualquier punto intermedio entre el Desde y el Siguiente. Normalmente irá después de evaluar una situación que evoluciona a medida que lo hace el bucle, y que es la desencadenante de la salida.

 

 

Ejemplo de uso en un bucle

Introduciremos una cláusula en un proceso de extracción de datos de modo que si un dato no cumple las características que debe cumplir el programa no se procesa normalmente y advierte de la situación al usuario.

1. Inicio [Algoritmo Media aprenderaprogramar.com]

2. Leer Numerodatos [Establece el nº de datos a extraer]

3. [El dato esperado en fichero debe valer entre 0 y10]

4. Desde i = 1 hasta Numerodatos Hacer

Leer Dato(i)

Si Dato(i) < 0 ó Dato(i) >10 Entonces [Dato no válido]

Mostrar “No se pudo completar la extracción de datos.

Motivo: dato no válido. Revise archivo y vuelva a intentarlo”

Fallolectura = Verdadero [Interruptor]

SalirDesde

FinSi

Suma = Suma + Dato(i)

Siguiente

5. Si Fallolectura = Falso Entonces

Media = Suma / Numerodatos

Mostrar “La media es”, Media

Sino

Mostrar “Gracias por utilizar este programa”

FinSi

6. Fin

 

 

Diagrama de flujo:

 

 

Comentarios: Una vez más es el diagrama de flujo el que mejor revela la alteración drástica del flujo del programa. Opciones de este tipo pueden calificarse como poco recomendables, sobre todo teniendo en cuenta que podemos realizar la evaluación Dato(i) < 0 ó Dato(i) > 10 una vez termine el bucle sin necesidad de romperlo. Pero será el programador en función de las circunstancias específicas quien decida si procede o no usar esta instrucción. En un caso como el anterior influirán el tipo de dato, el número de datos (no será lo mismo esperar a que termine un bucle de 10 ó 100 elementos a que se termine uno de 1000 ó 10000), la cantidad de procesos que haya que hacer con cada uno de los datos, el tiempo de proceso, etc.

Fallolectura funciona como interruptor que se enciende en caso de una salida no natural del bucle y sirve para “avisar” al resto del programa de que se ha producido esta circunstancia.

El SalirDesde puede ser útil en ciertas circunstancias en que se conoce de antemano el número de iteraciones máximo aunque, por otro lado, puede ser necesario salir en función del desarrollo de los acontecimientos. En cualquier caso:

· Evitar el uso de SalirDesde siempre que sea posible.

· Recordar lo expuesto en la introducción a la modificación directa del flujo de programas.

 

 



 

 

Para acceder a la información general sobre este curso y al listado completo de entregas pulsa en este link:  Ver curso completo.

Para  hacer un comentario o consulta utiliza los foros aprenderaprogramar.com, abiertos a cualquier persona independientemente de su nivel de conocimiento.

 

Descargar archivo: