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
 Mi Blog 
  
 Sitios Amigos
 Casas Rurales
 Directorio Web

 
[más enlaces] 
  
 Contenidos > 10.3 Repetitiva para en pseudocódigo
En pseudocódigo, para escribir una instrucción repetitiva para se utiliza la sintaxis:


   para <variable>  <valor_inicial> hasta <valor_final>
   [ incremento <valor_incremento> ] hacer
      <bloque_de_instrucciones>
   fin_para
 

En una instrucción repetitiva para, siempre se utiliza una <variable> a la que se debe asignar un <valor_inicial>. En cada iteración del bucle, al valor de la <variable> se le suma el <valor_incremento> y, cuando la <variable>
supera el <valor_final>, el bucle finaliza.

En consecuencia, cuando el flujo de un algoritmo llega a un bucle para, en primer lugar, se asigna el <valor_inicial>
a la <variable> y, a partir de ese instante, existen dos posibilidades:
  1. Si el valor de la <variable> es mayor que el <valor_final>, entonces no se ejecuta el bloque de instrucciones, y el bucle para finaliza sin realizar ninguna iteración.
  2. Si el valor de la <variable> es menor o igual que el <valor_final>, entonces, se ejecuta el bloque de instrucciones y, después, se le suma el <valor_incremento> a la <variable>, volviéndose, de nuevo, a comparar el valor de la <variable> con el <valor_final>. Y así sucesivamente, hasta que, el valor de la <variable> sea mayor que el <valor_final>.
En resumen, una instrucción repetitiva para permite ejecutar, repetidamente, un bloque de instrucciones, en base a un valor inicial y a un valor final.

El bucle para es ideal usarlo cuando, de antemano, ya se sabe el número de veces (iteraciones) que tiene que ejecutarse un determinado bloque de instrucciones.

El bucle para es una variante del bucle mientras y, al igual que éste, puede iterar cero o más veces. Sin embargo, el bucle para sólo se suele usar cuando se conoce el número exacto de veces que tiene que iterar el bucle. Éste es el caso del problema planteado en el ejemplo
del apartado 10.1.1 Variable contador, en el cual, se sabe de antemano que el bucle tiene que iterar, exactamente, diez veces.

Ejemplo 1: Por tanto, dicho problema, se puede resolver con una instrucción repetitiva para de la siguiente forma:

 algoritmo Numeros_del_1_al_10

 variables
    entero contador

 inicio
    para contador 
1 hasta 10 incremento 1 hacer
       escribir( contador )
    fin_para
 fin

Ejemplo 2: Cuando el incremento es 1, se puede omitir la palabra reservada incremento, y su valor.

 algoritmo Numeros_del_1_al_10

 variables
    entero contador

 inicio
    /* Al no aparecer el valor del incremento,
        se entiende que es 1. */

    para contador 
1 hasta 10 hacer
      escribir( contador )
    fin_para
 fin

La traza de ambos algoritmos es la misma:

 
Secuencia:
 
Acción (instrucción):
Valor de:
contador
1 contador  1 1
2 (Comprobar si contador es menor o igual que 10 ) 1
contador sí es menor o igual que 10.
Inicio de la iteración 1.
3 escribir( contador ) 1
Fin de la iteración 1.
4 (Sumar a contador el valor 1 ) 2
5 (Comprobar si contador es menor o igual que 10 ) 2
contador sí es menor o igual que 10.
Inicio de la iteración 2.
6 escribir( contador ) 2
Fin de la iteración 2.
...
n-3 (Comprobar si contador es menor o igual que 10 ) 10
contador sí es menor o igual que 10.
Inicio de la iteración 10.
n-2 escribir( contador ) 10
Fin de la iteración 10.
n-1 (Sumar a contador el valor 1 ) 11
n (Comprobar si contador es menor o igual que 10 ) 11
contador no es menor o igual que 10.
El bucle finaliza después de 10 iteraciones.

Figura. Traza de los ejemplos 1 y 2.

Explicación de la traza:
  • Primeramente, se le asigna el valor 1 a contador (acción 1).
  • A continuación, se comprueba si contador es menor o igual que 10 (acción 2) y, puesto que esto es verdadero, se ejecuta el bloque de instrucciones del bucle para (una sola instrucción en este caso).
  • Así pues, se muestra por pantalla el valor de contador (acción 3).
  • Después, se incrementa en 1 el valor de la variable contador (acción 4).
  • Posteriormente, se vuelve a comprobar si contador es menor o igual que 10 (acción 5).
  • Y así sucesivamente, mientras que, el valor de contador sea menor o igual que 10, o dicho de otro modo, hasta que, el valor de contador sea mayor que 10.
  • En este algoritmo, el bloque de instrucciones del bucle para se ejecuta diez veces (iteraciones).
Ejemplo 3: Para resolver el problema del ejemplo del apartado 10.1.2 Cambios en un bucle mientras, utilizando un bucle para, debe utilizarse un incremento negativo.

 algoritmo Numeros_del_10_al_1

 variables
    entero contador

 inicio
    para contador 
10 hasta 1 incremento -1 hacer
       escribir( contador )
    fin_para
 fin

En este algoritmo, el <valor_inicial> y el <valor_final> son el 10 y el 1, respectivamente, al revés que en el algoritmo anterior. De manera que, el bucle iterará, hasta que, el valor de contador sea menor que 1, o dicho de otro modo, mientras que, el valor de contador sea mayor o igual que 1.

Ejemplo 4: Por otra parte, también es posible omitir la palabra reservada incremento y su valor, entendiéndose, en ese caso, que es -1, ya que, el <valor_inicial> es mayor que el <valor_final> y, por tanto, sólo es razonable un incremento negativo.

 algoritmo Numeros_del_10_al_1

 variables
    entero contador

 inicio
    /* Al no aparecer el valor del incremento,
        se entiende que es -1. */

    para contador 
10 hasta 1 hacer
      escribir( contador )
    fin_para
 fin

Para los casos en que el incremento es negativo, también se puede utilizar la sintaxis:


   para <variable>  <valor_inicial> hasta <valor_final>
   [ decremento <valor_decremento> ] hacer
      <bloque_de_instrucciones>
   fin_para

   /* En vez de "incremento", se utiliza "decremento". */
 

Ejemplo 5: Así, podemos escribir:

 algoritmo Numeros_del_10_al_1

 variables
    entero contador

 inicio
    para contador 
10 hastadecremento 1 hacer
       escribir( contador )
    fin_para
 fin

Por consiguiente, la sintaxis completa de una instrucción repetitiva para es:


   para <variable>  <valor_inicial> hasta <valor_final>
   [ incremento <valor_incremento> |
     decremento <valor_decremento> ] hacer
      <bloque_de_instrucciones>
   fin_para
 

El carácter tubería ( | ) se utiliza para indicar que, o bien se escribe

   incremento <valor_incremento>

o bien se escribe

   decremento <valor_decremento>

pero, no ambos.


Ejercicios Recomendados:
 Más información
Texto extraído de los apartados:

   13.2.3 Repetitiva para


del libro 
EMPEZAR DE CERO A PROGRAMAR EN LENGUAJE C, (páginas 426-437).
 Contenidos > Apartado siguiente
10.3.1 Repetitiva para en ordinogramas
Búsqueda personalizada
Cursos de Carlos Pes: Ejercicios de Carlos Pes: Libros de Carlos Pes: Enlaces Recomendados:
Curso Diseño de Algoritmos
Curso Informática Básica
Curso Ingeniería del Software
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
Inicio | Libros | Librerías | Mapa Web | Artículos | Cursos | Ejercicios | Guías | MiniDiccionario | Enlaces | Carlos Pes | Mi Blog
© Carlos Javier Pes Rivas, 2006-2008
Política de privacidad - Contactar