Instrucción SalirHacer (Exit Do) y Hacer - Repetir (Do). Pseudocódigo y diagrama de flujo. Ejemplo (CU00181A)

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

 

 

INSTRUCCIÓN SALIRHACER E INSTRUCCIÓN HACER … REPETIR

La instrucción SalirHacer se usa para provocar una salida forzada de un bucle Hacer ... Repetir Mientras. El flujo del programa salta a la instrucción inmediatamente posterior al Repetir Mientras que marca la terminación del bucle. En el caso de bucles anidados SalirHacer afecta únicamente al bucle que está en proceso cuando se llega a esa instrucción de salida. Su uso antes o después de un bucle Hacer ... Repetir Mientras no tiene ningún efecto al carecer de sentido.

 

SalirHacer puede encontrarse en cualquier punto intermedio entre el Hacer y Repetir Mientras. 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.

Disponer de la orden SalirHacer nos va a permitir introducir una variante de la instrucción   Hacer ... RepetirMientras. Dicha variante es esa misma instrucción pero sin la condición de salida Mientras. La sintaxis es la ya conocida:

Hacer
Instrucción 1
Instrucción 2
.
.
.
Instrucción n
Repetir
 

 

Queda claro que dentro del bucle habrá de existir una vía de salida a través de un SalirHacer, ya que en caso contrario el número de repeticiones sería infinito.

 

 

Ejemplo de uso de SalirHacer y de Hacer ... Repetir.

1.  Inicio [Mensaje si se acierta número secreto - aprenderaprogramar.com]

2.  Leer Secretcode [Valor del número secreto]

3.  Hacer

Mostrar “Introduzca número secreto”

Pedir Numero

Si Numero = Secretcode Entonces

Mostrar “Bienvenido. Su clave para operar será 685297”

SalirHacer

SiNo

Mostrar “Número erróneo”

i = i + 1

Si i > 19 Entonces

Mostrar “Excedido número de pruebas disponibles. Acceso denegado”

SalirHacer

FinSi

FinSi

Repetir

4.  Fin

 

 

 

Téngase en cuenta que este programa puede ser construido sin demasiada dificultad usando un Hacer ... Repetir Mientras sin necesidad de usar SalirHacer.

En este algoritmo aparte de la “salida obligatoria” que todo bucle Hacer... Repetirdebe tener, se ha incluido otra de seguridad. Algunos sistemas informáticos trabajan en continuo con repeticiones indefinidas. Piénsese por ejemplo en un ordenador a cargo de una red de cajeros automáticos: recibe datos, realiza procesos y vuelve a la “situación de espera”. En estos casos no hay salida excepto para circunstancias muy específicas controladas por el usuario.

Como venimos haciendo con las instrucciones anteriores propondremos:

· Evitar el uso de SalirHacer 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.

¿Puedo yo aprender?

Seas o no del área informática, si quieres aprender a programar te ofrecemos una solución guiada y personalizada: realizar un curso tutorizado on-line. Con este tipo de curso, podrás aprender a programar de forma ágil y amena.

Acceder a detalles y precios de los cursos tutorizados on-line

Política sobre cookies

Utilizamos cookies propias y de terceros para ofrecerte una mejor experiencia y servicio, de acuerdo a tus hábitos de navegación.

Si continúas navegando, consideramos que aceptas su uso. Puedes obtener más información en nuestra Política de Cookies.

En Facebook!

Ahora puedes seguirnos en Facebook. Noticias, novedades y mucho más ¡Te esperamos!

RANKING APR2+

Ranking de lenguajes y entornos de programación aprenderaprogramar.com
 

MAYO - JUNIO 2017

1. Java / J2EE
2. Entornos Oracle
3. Entornos SQL Server
4. .NET, C#
5. JavaScript, jQuery
6. HTML, CSS
7. Php, MySql
8. Android, iOS


Acceder a detalles sobre el ranking de programación aprenderaprogramar.com

FOROS APR2+

Pregunta, responde, consulta, lee, intercambia...

Participa!!! Entra en los foros aprenderaprogramar.com.

             Copyright 2006-2017 aprenderaprogramar.com                La web abierta a cualquier persona interesada en la programación