Búsqueda personalizada
Curso de Diseño de Algoritmos
 Principal
 Inicio
 Libros
 Librerías
 Mapa Web
 
 Recursos
 Artículos
 Cursos
 Ejercicios
 Guías de uso
 Mini Diccionario 
  
 Sintaxis
 ANSI C
 Ordinogramas
 Pascal
 Pseudocódigo 
  
 Acerca de
 Carlos Pes
 Colaboradores
 Taller de ideas 
  
 Sitios Amigos
 Blogs,...
 Informática,...
 Directorios,...
 Empresas,...
 Gente,...
 Ocio,...
 Tutoriales,...
  
 Mis Blogs en
 Blogger
 BuscoAfiliados 
  
 Contenidos > 11.2 Instrucción continuar
11.2 Instrucción continuar
En pseudocódigo, para escribir una instrucción de salto continuar, se utiliza la sintaxis:


   continuar
 

La instrucción de salto continuar siempre se usa para interrumpir (romper) la ejecución normal de un 
bucle. Sin embargo, el control del programa no se transfiere a la primera instrucción después del bucle (como sí hace la instrucción interrumpir), es decir, el bucle no finaliza, sino que, finaliza la iteración en curso, transfiriéndose el control del programa a la condición de salida del bucle, para decidir si se debe realizar una nueva iteración o no.

Por tanto, la instrucción continuar finaliza (termina) la ejecución de una iteración de un bucle, pero, no la ejecución del bucle en sí. De forma que, la instrucción continuar salta (no ejecuta) las instrucciones que existan después de ella, en la iteración de un bucle.


Ejemplo 1: En el algoritmo siguiente se muestra como se puede utilizar la instrucción continuar:

 algoritmo Numeros_opuestos_del_menos_10_al_mas_10

 variables
    entero n, a

 inicio
    a 
0
    hacer
       escribir( "Introduzca un número entero: " )
       leer( n )
       si ( n = 0 )
         escribir( "ERROR: El cero no tiene opuesto." )
         continuar
         /* En el caso de que n sea un cero,
            la iteración en curso del bucle
            se interrumpe aquí. */
       fin_si
       escribir( "El opuesto es: ", -n )
       a 
a + n
    mientras ( n >= -10 y n <= 10 )
    escribir( "Suma: ", a )
 fin

El código del algoritmo es el mismo que el del ejemplo 1 del apartado anterior, 11.1 Instruccion interrumpir, excepto por la instrucción interrumpir, que ha sido sustituida por la instrucción continuar. El algoritmo puede ser la solución para el problema siguiente, el cual se diferencia del ejemplo 1 del apartado anterior en que si el 
usuario introduce un cero, el bucle no deja de iterar.

Diseñe el agoritmo de un programa que:

1º) Pida por teclado un número (dato entero).
2º) Si el número introducido por el usuario es distinto de cero, muestre por pantalla el mensaje:
  • "El opuesto  es: <-número>".
En caso contrario, muestre el mensaje:
  • "ERROR: El cero no tiene opuesto.".
3º) Repita los pasos 1º y 2º, mientras que, el usuario introduzca un número mayor o igual que -10 y menor o igual que 10.
4º) Muestre por pantalla la suma de los números introducidos por el usuario.

En pantalla:


   Introduzca un número entero: 2

   El opuesto es: -2


   Introduzca un número entero: 0

   ERROR: El cero no tiene opuesto.


   Introduzca un número entero: -59

   El opuesto es: 59


   Suma: -57

 

La traza del algoritmo es:

 
Secuencia:
 
Acción (instrucción):
Valor de:
a n
1  0 0 ?
Inicio de la iteración 1.
2 escribir( "Introduzca un número entero:" ) 0 ?
3 leer( n ) 0 2
4 (Comprobar si = 0) 0 2
La condición de la alternativa simple es falsa.
5 escribir( "El opuesto es: ", -n ) 0 2
6  a + n 2 2
Fin de la iteración 1.
7 (Comprobar si >= -10 y n <= 10) 2 2
La condición del bucle es verdadera.
Inicio de la iteración 2.
8 escribir( "Introduzca un número entero:" ) 2 2
9 leer( n ) 2 0
10 (Comprobar si = 0) 2 0
La condición de la alternativa simple es verdadera.
11 escribir( "ERROR: El cero no tiene opuesto." ) 2 0
12 continuar 2 0
La 2ª iteración se interrumpe (finaliza) aquí.
El control del programa se transfiere (salta) a la
 condición de salida del bucle.
13 (Comprobar si >= -10 y n <= 10) 2 0
La condición del bucle es verdadera.
Inicio de la iteración 3.
14 escribir( "Introduzca un número entero:" ) 2 0
15 leer( n ) 2 -59
16 (Comprobar si = 0) 2 -59
La condición de la alternativa simple es falsa.
17 escribir( "El opuesto es: ", -n ) 2 -59
18  a + n -57 -59
Fin de la iteración 3.
19 (Comprobar si >= -10 y n <= 10) -57 -59
La condición del bucle es falsa.
El bucle finaliza después de 3 iteración.
20 escribir( "Suma: ", a ) -57 -59

Figura. Traza del ejemplo 1.

La instrucción continuar se ejecuta cuando el usuario introduce un cero, interrumpiendo la iteración en curso; pero, el bucle solamente finaliza cuando la condición ( 
>= -10 y n <= 10 ) sea falsa.

Normalmente, al igual que ocurre con la instrucción interrumpir, cuando en un bucle se utiliza una instrucción continuar, la ejecución de ésta también se condiciona.

En el ejemplo 1, la iteración en curso del bucle se interrumpe si es verdadera la condición ( 
= 0 ).

Ejemplo 2: No obstante, el problema también se puede resolver sin hacer uso de la instrucción continuar:

 algoritmo Numeros_opuestos_del_menos_10_al_mas_10

 variables
    entero numero, acumulador

 inicio
    acumulador
0
    hacer
       escribir( "Introduzca un número entero: " )
       leer( numero )
       si ( numero = 0 )
         escribir( "ERROR: El cero no tiene opuesto." )
       sino
         escribir( "El opuesto es: ", -numero )
         acumulador acumulador + numero
       fin_si
    mientras ( numero >= -10 y numero <= 10 )
    escribir( "Suma: ", acumulador )
 fin

Los resultados por pantalla de este algoritmo son idénticos a los del algoritmo anterior.

 Más información
Texto extraído del libro DOMINE LA PROGRAMACIÓN EN LENGUAJE C.
 Contenidos > Apartado siguiente
11.3 Instrucción ir_a
 A destacar
Cursos Ejercicios Libros Enlaces Recomendados
Curso Diseño de Algoritmos
Curso Informática Básica
Curso Ingeniería del Software
Curso Marketing en Internet
Curso Lenguaje C
Curso Turbo Pascal
Curso Representación Datos
Ejercicios de Algoritmos
Ejercicios de Lenguaje C
Ejercicios de Ordinogramas
Ejercicios de Pascal
Empezar de cero a programar en lenguaje C
Domine la programación en lenguaje C
Empezar de cero a programar en Pascal
Tutoriales y Cursos
Gane dinero con su web
Comprar dominio
Programación Informática
100% Adsense
Búsqueda personalizada
 Más Webs Interesantes
© 2006-2009 CarlosPes.com