Blog en Blogger Perfil en Slideshare Bookmarks en Delicious Perfil el Facebook Perfil en Twitter Fotos en Flickr Página en MySpace Canal en YouTube Perfil en Google Perfil en Google
Búsqueda personalizada
Curso/Tutorial de Pascal (Turbo Pascal)
 Principal
 Inicio
 Libros
 Librerías
 Bibliotecas
 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
 Perfiles
 Taller de ideas 
  
 Otros Proyectos
 Blog Carlos Pes
 Grupo Google
 Fotografías
 Proyecto CP
 Recetas cocina 
  
 Sitios Amigos
 Enlaces
  
 Contenidos > 3.3 Repetitiva para ( la instrucción for )
En Pascal, para escribir una instrucción repetitiva para se utiliza la sintaxis:


   for <variable> := <valor_inicial> to <valor_final> do
      begin
         
<bloque_de_instrucciones>
      end

 

Cuando el <bloque_de_instrucciones> sólo contiene una instrucción, las palabras reservadas begin y end son opcionales.

En una instrucción repetitiva for, 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 1 y, cuando la <variable> supera el <valor_final>, el bucle finaliza.

En consecuencia, cuando el flujo de un programa llega a un bucle for, 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 for 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 1 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 for permite ejecutar, repetidamente, un bloque de instrucciones, en base a un valor inicial y a un valor final.

El bucle for 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 (véase el apartado
10.1 Repetitiva mientras, del Curso de Diseño de Algoritmos). Sin embargo, el bucle for 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 1 del apartado 3.1 Repetitiva mientras, 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 for de la siguiente forma:

program EJE13131;

uses Crt;

var Contador : Integer;

begin
   ClrScr;
   GotoXY( 4, 2 );

   for Contador := 1 to 10 do
      begin
         Write( Contador, ' ' )
      end
end.

Programa (.PAS): Números del 1 al 10 (for)

Ejemplo 2: Si en vez de querer mostrar los números del 1 al 10, se quisieran mostrar al revés, es decir, del 10 al 1, podríamos utilizar la palabra reservada downto en vez de to. Por tanto, en el programa, escribiríamos:

   for Contador := 10 downto 1 do

en vez de:

   for Contador := 1 to 10 do


¿Cuándo usar un bucle u otro?

A la hora de elegir un bucle u otro, debemos hacernos la siguiente pregunta:
  • ¿Se conoce, de antemano, el número de veces (iteraciones) que tiene que ejecutarse un determinado bloque de instrucciones?
Si la respuesta es afirmativa, habitualmente se usa un bucle for. En caso contrario, nos plantearemos la siguiente pregunta:
  • ¿El bloque de instrucciones debe ejecutarse al menos una vez?
En este caso, si la respuesta es afirmativa, generalmente haremos uso de un bucle repeat...until, y si la respuesta es negativa, usaremos un bucle while.


Ejercicios Recomendados:
 Más información
Texto extraído del libro EMPEZAR DE CERO A PROGRAMAR EN PASCAL.
 Contenidos > Apartado siguiente
3.4 Anidamiento