FOR

Sintaxis

for (inicialización ; condición ; acción )

acción a realizar;

Si se requiere realizar más de una acción se deben utilizar llaves.

for (inicialización ; condición ; acción )

{

bloque de acciones;


}

Funcionamiento del For

  1. Ejecuta el o los estatutos de inicialización
  2. Evalúa la condición, si es verdadera entra al ciclo
  3. Ejecuta el o los estatutos
  4. Ejecuta la o las acciones y regresa al paso 2

Notas sobre el For

  • Las 3 partes del for son opcionales, si no se pone condición se toma como verdadero.
  • Si no se incluye la inicialización o condición, los “;” deben de ir.

Ejemplo: for ( ; a > 10 ; a–)

  • Si la primera vez la condición es falsa no se ejecuta ningún estatuto y termina el for
  • Una variable puede declararse en la sección de inicialización, solo hay que tomar en cuenta que esta variable solo esreconocida dentro del ciclo.

Ejemplo: for (int num = 1; num < = 10; num++)

Para ilustrar mejor lo anterior mostrare un simple ejemplo del ciclo, el cual me pedirá ingresar una palabra, esta acción terminara hasta que se ingrese la palabra que nosotros deseemos, en este caso escogí la palabra “fin“.

external image 0013.png

Como resultado nos mostrara el numero de veces que se ingresaron palabras hasta llegar a la palabra que termino el ciclo.

external image 0014.png

WHILE

Sintaxis while ( condición )estatuto;

Si se requiere realizar más de un estatuto se deben utilizar llaves.

while ( condición )

{

bloque de estatutos;

}

Tengamos en cuenta que esta es una estructura de iteración preprueba, es decir primero se evalúa la condición antes de realizar cualquier acción. Si de entrada la condición es falsa nunca ejecutará el conjunto de sentencias. Como ejemplo mostrare el mismo problema anterior con la diferencia que el ciclo esta hecho con el ciclo while:

external image 0015.png

Obviare la imagen del resultado, ya que va ser el mismo resultado de la imagen del for, simplemente estoy mostrando la sintaxis del ciclo e intrinsicamente otra manera de “solucionar” el “problema” .

Fuente: http://jagonzalez.org/ciclos/

La Sentencia For

La sentencia for tiene el siguiente formato:


for (expresion1;expresion2;expresion3)
    • sentencia;

    • o {bloque de sentencias}
En donde expresion1 se usa para realizar la inicialización de variables, usando una o varias sentencias, si se usan varias sentencias deberá usarse el operador , para separarlas. Por lo general, establece el valor de la variable de control del ciclo. expresion2 se usa para la condición de terminación del ciclo y expresion3 es el modificador a la variable de control del ciclo cada vez que la computadora lo repite, pero también puede ser más que un incremento.
Por ejemplo:
<span style="background-color: #ffffff; font-size: 12px;">int X;
 
main()
{
    for( X=3; X>0; X--)
    {
        printf("X=%d\n",X);
    }
}</span>
genera la siguiente salida a pantalla ...
<span style="background-color: #ffffff; font-size: 12px;">X=3
X=2
X=1</span>
Todos las siguientes sentencias for son válidas en C. Las aplicaciones prácticas de tales sentencias no son importantes aquí, ya que tan sólo se intenta ilustrar alguanas características que pueden ser de utilidad:
<span style="background-color: #ffffff; font-size: 12px;">for ( x=0; ( (x>3) && (x<9) ); x++ )
 
for ( x=0, y=4; ( (x>3) && (x<9) ); x++, y+=2)
 
for ( x=0, y=4, z=4000; z; z/=10)</span>
En el segundo ejemplo se muestra la forma como múltiples expresiones pueden aparecer, siempre y cuando estén separadas por una coma ,
En el tercer ejemplo, el ciclo continuará iterando hasta que z se convierta en
$0$
$0$

La Sentencia Do-While

Al contrario de los ciclos for y while que comprueban la condición en lo alto del bucle, el bucledo ... while la examina en la parte baja del mismo. Esta característica provoca que un ciclodo ... while siempre se ejecute al menos una vez. La forma general del ciclo es:


do {
    • sentencia;
} while (condición);
Aunque no son necesarias las llaves cuando sólo está presente una sentencia, se usan normalmente por legibilidad y para evitar confusión (respecto al lector, y no del compilador) con la sentencia while.
En el siguiente programa se usa un ciclo do ... while para leer números desde el teclado hasta que uno de ellos es menor que o igual a 100:
<span style="background-color: #ffffff; font-size: 12px;">main()
{
    int num;
 
    do
    {
        scanf("%d", &num);
    } while ( num>100 );
}</span>
Otro uso común de la estructura do ... while es una rutina de selección en un menú, ya que siempre se requiere que se ejecute al menos una vez.
<span style="background-color: #ffffff; font-size: 12px;">main()
{
    int opc;
 
    printf("1. Derivadas\n");
    printf("2. Limites\n");
    printf("3. Integrales\n");
 
    do
    {
        printf("   Teclear una opcion:  ");
        scanf("%d", &opc);
 
        switch(opc)
        {
            case 1:
                printf("\tOpcion 1 seleccionada\n\n");
                break;
            case 2:
                printf("\tOpcion 2 seleccionada\n\n");
                break;
            case 3:
                printf("\tOpcion 3 seleccionada\n\n");
                break;
            default:
                printf("\tOpcion no disponible\n\n");
                break;
        }
    } while( opc != 1  &&  opc != 2  &&  opc != 3);
}</span>
Se muestra un ejemplo donde se reescribe usando do ... while uno de los ejemplos ya mostrados.
<span style="background-color: #ffffff; font-size: 12px;">main()
{
    int x=3;
 
    do
    {
        printf("x = %d\n", x--);
    }
    while( x>0 ) ;
}
      </span>

La Sentencia While

La sentencia while es otro ciclo o bucle disponible en C. Su formato es:


  • while (expresion)sentencia;

donde sentencia puede ser una sentencia vacía, una sentencia única o un bloque de sentencias que se repetirán. Cuando el flujo del programa llega a esta instrucción, primero se revisa si la condición es verdad para ejecutar la(s) sentencia(s), y después el ciclo while se repetirá mientras la condición sea verdadera. Cuando llega a ser falsa, el control del programa pasa a la línea que sigue al ciclo.
En el siguiente ejemplo se muetra una rutina de entrada desde el teclado, la cual se cicla mientras no se pulse A:
<span style="background-color: #ffffff; font-size: 12px;">main()
{
    char carac;
 
    carac = '\0';
    while( carac != 'A') carac = getchar();
}</span>
Antes de entrar al ciclo se inicializa la variable carac a nulo. Después pasa a la sentencia whiledonde se comprueba si carac no es igual a 'A', como sea verdad entonces se ejecuta la sentencia del bucle (carac = getchar();). La función getchar() lee el siguiente carácter del flujo estándar (teclado) y lo devuelve, que en nuestro ejemplo es el caracter que haya sido tecleado. Una vez que se ha pulsado una tecla, se asigna a carac y se comprueba la condición nuevamente. Después de pulsar A, la condición llega a ser falsa porque carac es igual a A, con lo que el ciclo termina.
De lo anterior, se tiene que tanto el ciclo for, como el ciclo while comprueban la condición en lo alto del ciclo, por lo que el código dentro del ciclo no se ejecuta siempre.
A continuación mostramos otro ejemplo:
<span style="background-color: #ffffff; font-size: 12px;">main()
{
    int x=3;
 
    while( x>0 )
    {
        printf("x = %d\n", x);
        x--;
    }
}</span>
que genera la siguiente salida en pantalla:
<span style="background-color: #ffffff; font-size: 12px;">x = 3
x = 2
x = 1</span>
Como se observa, dentro del ciclo tenemos más de una sentencia, por lo que se requiere usar la llave abierta y la llave cerrada { ... } para que el grupo de sentencias sean tratadas como una unidad.
Como el ciclo while pueda aceptar también expresiones, y no solamente condiciones lo siguiente es válido:
<span style="background-color: #ffffff; font-size: 12px;">while ( x-- );
 
while ( x = x + 1 );
 
while ( x += 5 );</span>
Si se usan este tipo de expresiones, solamente cuando el resultado de x--, x=x+1 o x+=5sea cero, la condición fallará y se podrá salir del ciclo.
De acuerdo a lo anterior, podemos realizar una operación completa dentro de la expresión. Por ejemplo:
<span style="background-color: #ffffff; font-size: 12px;">main()
{
    char carac;
 
    carac = '\0';
    while ( (carac = getchar()) != 'A' )
        putchar(carac);
}</span>
En este ejemplo se usan las funciones de la biblioteca estándar getchar() -- lee un caracter del teclado y putchar() escribe un caracter dado en pantalla. El ciclo while procederá a leer del teclado y lo mostrará hasta que el caracter A sea leído.


Tipo de ciclo
Explicación
Ejemplo
While ... Do
El ciclo While ... Do evalúa la condición y si ésta es verdadera, entonces evalúa la expresión que sigue a Do.
Al terminar de hacer esto, vuelve a evaluar la condición y si ésta es verdadera, vuelve a evaluar la expresión que sigue a Do.
Continúa repitiendo este proceso hasta que la condición sea falsa.
<span style="font-family: 'courier new';">While condición Do</span>
<span style="font-family: 'courier new';">   expresión
</span>
Do ... While
El ciclo Do ... While evalúa la expresión simplemente una vez.
Luego evalúa la condición y si ésta es verdadera, vuelve a evaluar la expresión. Este proceso continúa hasta que la condición sea falsa.
<span style="font-family: 'courier new';">Do</span>
<span style="font-family: 'courier new';">   expresión
While condición</span>








For i

0 to 10= msgbox "n veces dentro del ciclo" & i next i
While te permite para entrar en un ciclo, pero solo cuando se cumpla tambien osea mientras se cumpla sirta condicion entrara e ese ciclo de acuerdo ala sentencia que ayas puesto vale y si no pues mientras no entra o.k solo si cumple.

For te permite limitar un ciclo este es mas sencillo ya que tu tienes el control de cuantas veces quieres que entre al ciclo, es lo que diferencia de while si ose que desde 0 hasta 10 osea entrara solamente a compara la sentencias que tengas dentro de ese ciclo 10 veces ya y si se cumple una pues es de ahi si no simplemente no cumple nada pero ten cuidado al cerrar el ciclo ya que si no , de lo contrario se te ciclara

Fuente:
http://es.kioskea.net/forum/affich-23543-para-que-sirve-if-for-y-while-visual-basic


Ciclo For Next: permite evaluar una secuencia de enunciados varias veces.

Ciclo While: el cuerpo de instrucciones se ejecuta mientras una condición permanezca como verdadera en el momento en el que la condición se convierte en falsa el ciclo termina.
Hipertexto (en inglés hypertext) es un sistema para escribir y mostrar texto que enlaza a información adicional sobre ese texto.

El término fue acuñado por Ted Nelson para referir a un sistema no lineal de buscar y conseguir información basado en enlaces asociativos entre documentos. La World Wide Web utiliza el protocolo de transferencia de hipertexto (HTTP) para enlazar páginas web y archivos multimedia.

Sintaxis del Ciclo FORLa Sintaxis empleada por el ciclo for es la siguiente:
<span style="font-family: 'Courier New',Courier,monospace; font-size: 1.1em;">for (//valores de entrada// ; //condición de terminación// ; //iteración por ciclo//)
</span>
  • Las tres partes del ciclo se encuentran separadas por ; (punto y coma)
  • La primer parte del ciclo especifica valores previo a su inicio.
  • La segunda parte indica la condición de terminación para el ciclo, la cual esta directamente relacionada con los valores iniciales.
  • Finalmente, la última parte especifica como serán manipulados los valores iniciales en cada iteración del ciclo.
Cada parte del ciclo debe incluir al menos un elemento, a la cual es posible agregar otros elementos a partir de una , (coma).
Código Fuente PruebaFor.java
<span style="font-family: 'Courier New',Courier,monospace; font-size: 1.1em;">
public class PruebaFor {
 
    public static void main(String[] args) {
    for(int i = 1, j = i + 10; i < 5; i++, j = i * 2)
        System.out.println("i= " + i + " j= " + j);
 
</span>

Prueba For
  • Se inicia este programa con la clásica definición de class.
  • Se define el método principal (main), el uso de corchetes ([]) al lado de la Clase String indica unArreglo de String's.

Se define el ciclo for con las siguientes características:
    • Dos variables iniciales (primitivos) i y j.
    • La condición para terminar el ciclo es definida cuando el valor de la variable i sea menor 5.
    • Cada iteración de ciclo el valor de la variable i debe ser incrementado en uno (++) y el valor de j debe ser igualado a dos veces el valor de i.

  • Dentro del Ciclo se utiliza la Clase System.out.println para imprimir los valores de las variables i y j en cada iteración de ciclo.

Ciclos en visual basic

http://www.youtube.com/watch?v=Cbw38IHmozY

For:

El ciclo FOR se utiliza principalmente para que la maquina haga un proceso o procesos un determinado numero de veces, el fotmato es

FOR variable=valorinicial TO/DOWNTO valorfinal
Bloque de lo que quieras que haga el sistema
NEXT variable

To. Es para que avance para adelante

For i=0 to 10
msgbox "Numero de veces dentro del ciclo " & i
next i

DOWNTO. Es para que avance para atras

For i=10 downto 0
msgbox "Faltan para llegar a cero " & i
next i


Instrucciones para ciclos resuelven el problema de repetir todo el programa o cierta parte del programa mas de una vez.

Este ciclo es uno de los mas usados para repetir una secuencia de instrucciones, sobre todo cuando se conoce la cantidad exacta de veces que se quiere que se ejecute una instrucción simple o compuesta.

Su formato general es:

for (inicialización; condición; incremento)

{ instrucción(es); };

ejemplo:


for(x=1;x⇐10;x=x+1)

{ puts(” MAMA ”); };


En su forma simple la inicialización es una instrucción de asignación que carga la variable de control de ciclo con un valor inicial.

La condición es una expresión relacional que evalúa la variable de control de ciclo contra un valor final o de parada que determina cuando debe acabar el ciclo.

El incremento define la manera en que la variable de control de ciclo debe cambiar cada vez que el computador repite un ciclo.

Se deben separar esos 3 argumentos con punto y coma (;)

EJEMPLO

Codigo prog6.cpp

<span style="background-color: #f7f9fa; font-size: 12px;">#include <stdio.h>
 
#include <conio.h>
 
#include <string.h>
 
void main()
 
{
 
clrscr();
 
// declaracion variables
 
int x;
 
// instruccion <span class="search_hit" style="background-color: #ffff99;">for
 
for</span>(x=1;x<=10;x=x+1)
 
{ gotoxy(10, x+4); printf("%d MAMA",x); };
 
getchar();
 
}</span>

corrida:

image197.jpg
image197.jpg

Casos Particulares del ciclo for;

1.- El ciclo comienza en uno y se incrementa de uno en uno este es el caso mas general.

2.- Pero el valor inicial puede se diferente de uno, ejemplo;

for(x=5;x⇐15;x=x+1){ etc.};

3.- Incluso el valor inicial puede ser negativo, ejemplo;

for (x = -3 ;x⇐ 8; x=x+1) { etc.};

4.- Los incrementos también pueden ser diferentes al de uno en uno, ej.;

for (x=1; x⇐ 20; x=x+3){ etc. };

5.- Incluso pueden ser decrementos, solo que en este caso, recordar;

5.1.-el valor inicial de la variable debe ser mayor que el valor final.

5.2.-cambiar el sentido de la condición.

ejemplo;


for (x= 50 ; x >= 10; x= x-4 ) { etcétera };


6.- Solo para los casos de incrementos y decrementos de una en una

UNIDAD substituir en el for:

el x = x + 1 por x++

el x = x - 1 por x–

TAREAS PROGRAMAS EN C++

1.- CONSTRUIR UN PROGRAMA QUE DESPLIEGUE LOS NÚMEROS DEL 20 AL 30.

2.- DESPLEGAR LOS ENTEROS ENTRE 50 Y 30 ACOMPAÑADOS DE SU POTENCIA CUADRADA Y RAÍZ CUBICA RESPECTIVA (revisar el tema de operadores aritmeticos).

3.- DESPLEGAR LOS MÚLTIPLOS DE 5, ENTRE 10 Y 50, ACOMPAÑADOS DE SU FACTORIAL Y LOGARITMO RESPECTIVO (revisar el tema de operadores aritmeticos tambien).

4.- DESPLEGAR LA TABLA DE MULTIPLICAR QUE EL USUARIO INDIQUE.

5.- EVALUAR LA FUNCION Y=5X^2 + 3X + 8 CUANDO X–> -3…10 (RANGO DE -3 HASTA 10)





While:

http://www.youtube.com/watch?v=NEHlsbijzFI

En este ciclo el cuerpo de instrucciones se ejecuta mientras una condición permanezca como verdadera en el momento en que la condición se convierte en falsa el ciclo termina.


Su formato general es :


cargar o inicializar variable de condición;


while(condición)


{


grupo cierto de instrucciones;


instrucción(es) para salir del ciclo;


};


Un error muy comun con el while, es poner un punto y coma(;) despues de la (condición) ejemplo while(condicion); ←-esto es y causa un error.

EJ:

x=1
while x<=10
msgbox x
x=x+1
wend


Instrucción While

(Visual Basic)


Requerido. Expresión Boolean. Si condition es Nothing, Visual Basic la trata como False.
statements
Opcional. Una o más instrucciones a continuación de While, que se ejecutan cada vez que condition es True.
Exit While
Opcional. Transfiere el control fuera del bloque While.
End While
Obligatorio. Termina la definición del bloque While.

Utilice una estructura While...End While si desea repetir un conjunto de instrucciones un número indefinido de veces, siempre que una condición sea True. Si desea más flexibilidad con respecto a la ubicación donde prueba la condición o al resultado para el que la prueba, quizá prefiera Instrucción Do...Loop (Visual Basic). Si desea repetir las instrucciones un número fijo de veces, Instrucción For...Next (Visual Basic) suele ser mejor opción.
Si condition es True, se ejecutan todas las statements hasta que se encuentra la instrucción End While Después, el control vuelve a la instrucción While y se comprueba de nuevo condition. Si condition aún esTrue, se repite el proceso. Si es False, el control pasa a la instrucción que sigue a la instrucción End While.

Reglas

  • Naturaleza de la condición. Generalmente, la condición es el resultado de comparar dos valores, pero también puede ser cualquier expresión que da como resultado un valor Boolean (Tipo de datos, Visual Basic) (True o False). Esto incluye los valores de otros tipos de datos, como los numéricos, que han sido convertidos a valores de tipo Boolean.
  • Probar la condición. La instrucción While comprueba siempre la condición antes de iniciar el bucle. La ejecución en bucle continúa mientras el resultado de la condición sea True.
  • Número de iteraciones. Si condition es False cuando entra en el bucle por primera vez, no se ejecuta ni una vez.
  • Anidar bucles. Los bucles While se pueden anidar, colocando un bucle dentro de otro. También puede anidar tipos diferentes de estructuras de control entre sí. Para obtener más información, veaEstructuras de control anidadas.
  • Transferir fuera del bucle. Instrucción Exit (Visual Basic) transfiere el control inmediatamente a la instrucción que sigue a la instrucción End While. Puede desear salir de un bucle si detecta una condición que hace que sea innecesario o que no se pueda continuar la iteración, como un valor incorrecto o una solicitud de finalización. Puede incluir el número que desee de instrucciones Exit While en cualquier parte del bucle While. Exit While se utiliza a menudo tras evaluar alguna condición, por ejemplo en una estructura If...Then...Else.
  • Bucles sin fin. Un uso de Exit While consiste en comprobar una condición que puede ocasionar un bucle sin fin; es decir, un bucle que se puede ejecutar un número extremadamente elevado o infinito de veces. Si detecta este tipo de condición, puede utilizar Exit While para salir del bucle. Para obtener más información, vea Instrucción Do...Loop (Visual Basic).

external image clear.gif

Este ejemplo utiliza la estructura While...End While para incrementar una variable de contador. Las instrucciones del bucle se ejecutan en tanto la condición dé como resultado True.

<span style="font-family: Consolas,Courier,monospace;"><span style="color: blue;">Dim</span> counter <span style="color: blue;">As Integer</span> = 0
<span style="color: blue;">While</span> counter < 20
    counter += 1
    <span style="color: green;">' Insert code to use current value of counter.</span>
<span style="color: blue;">End While</span>
MsgBox(<span style="color: #a31515;">"While loop ran "</span> & <span style="color: blue;">CStr</span>(counter) & <span style="color: #a31515;">" times"</span>)
</span>

Prog7.cpp


<span style="background-color: #f7f9fa; font-size: 12px;">#include <stdio.h>
 
#include <conio.h>
 
#include <string.h>
 
void main()
 
{
 
clrscr();
 
// declaracion variables
 
int x=1;
 
// instruccion <span class="search_hit" style="background-color: #ffff99;">while
 
while</span>(x<=10)
 
{ gotox<span class="search_hit" style="background-color: #ffff99;">y</span>(10, x+3); printf("%d PATO",x); x++; };
 
getchar();
 
}</span>

Corrida:

[[code]]
= =
<span style="color: #436976;">[[image:http://www.programacionfacil.com/_media/cpp/image198.jpg caption="image198.jpg" link="http://www.programacionfacil.com/_detail/cpp/image198.jpg?id=cpp%3Aciclo_while"]]</span>
= =
[[code format="code"]]
 

While puede llevar dos condiciones en este caso inicializar 2 variables de condición y cuidar que existan 2 de rompimiento o terminación de ciclo.

[[code]]
= =
El grupo cierto de instrucciones puede ser una sola instrucción o todo un grupo de instrucciones.
= =
[[code format="code"]]
 

La condición puede ser simple o compuesta.

[[code]]
= =
Los casos generales de <span class="search_hit" style="background-color: #ffff99;">for</span> tambien se aplican a <span class="search_hit" style="background-color: #ffff99;">while</span>.
= =
[[code format="code"]]
 

A este ciclo también se le conoce también como ciclo de condición de entrada o prueba por arriba porque este ciclo evalúa primero la condición y posteriormente ejecuta las instrucciones.

[[code]]
= =
TAREAS PROGRAMAS EN C++
= =
[[code format="code"]]
 

1.- DESPLEGAR ENTEROS ENTRE 50 Y 80

[[code]]
= =
2.- DESPLEGAR MULTIPLOS DE 4 ENTRE 60 <span class="search_hit" style="background-color: #ffff99;">Y</span> 20 ACOMPAÑADOS DE SU LOGARITMOS DE BASE 10 <span class="search_hit" style="background-color: #ffff99;">Y</span> BASE e RESPECTIVOS.
= =
[[code format="code"]]
 

3.- CONSTRUIR LA TABLA DE DIVIDIR QUE EL USUARIO INDIQUE.

[[code]]
= =
4.- Evaluar una funcion cualesquiera para el rango de valores de x de -3 a +5
= =
[[code format="code"]]
 
 
 
 



Ciclos en Lenguaje C:


Tutorial en YouTube


Ciclos en lenguaje C++:


En este ciclo el cuerpo de instrucciones se ejecuta mientras una condición permanezca como verdadera en el momento en que la condición se convierte en falsa elciclo termina.
Su formato general es :
cargar o inicializar variable de condición;
while(condición)
{
grupo cierto de instrucciones;
instrucción(es) para salir del ciclo;
};
Un error muy comun con el while, es poner un punto y coma(;) despues de la (condición) ejemplo while(condicion); ←-esto es y causa un error.
Prog7.cpp
<span style="background-color: #f7f9fa; font-size: 12px; text-align: justify;">#in<span class="search_hit" style="background-color: #ffff99;">c</span>lude <stdio.h>
 
#in<span class="search_hit" style="background-color: #ffff99;">c</span>lude <<span class="search_hit" style="background-color: #ffff99;">c</span>onio.h>
 
#in<span class="search_hit" style="background-color: #ffff99;">c</span>lude <string.h>
 
void main()
 
{
 
<span class="search_hit" style="background-color: #ffff99;">c</span>lrs<span class="search_hit" style="background-color: #ffff99;">c</span>r();
 
// de<span class="search_hit" style="background-color: #ffff99;">c</span>lara<span class="search_hit" style="background-color: #ffff99;">c</span>ion variables
 
int x=1;
 
// instru<span class="search_hit" style="background-color: #ffff99;">cc</span>ion <span class="search_hit" style="background-color: #ffff99;">while
 
while</span>(x<=10)
 
{ gotox<span class="search_hit" style="background-color: #ffff99;">y</span>(10, x+3); printf("%d PATO",x); x++; };
 
get<span class="search_hit" style="background-color: #ffff99;">c</span>har();
 
}</span>
Corrida:
image198.jpg
image198.jpg

While puede llevar dos condiciones en este caso inicializar 2 variables de condición y cuidar que existan 2 de rompimiento o terminación de ciclo.
El grupo cierto de instrucciones puede ser una sola instrucción o todo un grupo de instrucciones.
La condición puede ser simple o compuesta.
Los casos generales de for tambien se aplican a while.
A este ciclo también se le conoce también como ciclo de condición de entrada o prueba por arriba porque este ciclo evalúa primero la condición y posteriormente ejecuta las instrucciones.
TAREAS PROGRAMAS EN C++
1.- DESPLEGAR ENTEROS ENTRE 50 Y 80
2.- DESPLEGAR MULTIPLOS DE 4 ENTRE 60 Y 20 ACOMPAÑADOS DE SU LOGARITMOS DE BASE 10 Y BASE e RESPECTIVOS.
3.- CONSTRUIR LA TABLA DE DIVIDIR QUE EL USUARIO INDIQUE.
4.- Evaluar una funcion cualesquiera para el rango de valores de x de -3 a +5


Ciclos en Java Script:

CICLOS FOR EN JAVA SCRIPT
Instrucciones para ciclos resuelven el problema de repetir todo el programa o cierta parte del programa mas de una vez.
Este ciclo es uno de los más usados para repetir una secuencia de instrucciones sobre todo cuando se conoce la cantidad exacta de veces que se quiere que se ejecute una instrucción simple o compuesta.
Su formato general es:
for (inicialización; condición; incremento)
{ instrucción(es); };
En su forma simple la inicialización es una instrucción de asignación que carga una variable de control de ciclo con un valor inicial.
La condición es una expresión relacional que evalúa la variable de control de ciclo contra un valor final o de parada que determina cuando debe acabar el ciclo.
El incremento define la manera en que la variable de control de ciclo debe cambiar cada vez que el computador repite un ciclo.
Se deben separar esos 3 argumentos con punto y coma ;

CICLO WHILE EN JAVA SCRIPT

En este ciclo el cuerpo de instrucciones se ejecuta mientras una condición permanezca como verdadera en el momento en que la condición se convierte en falsa el ciclo termina.

While puede llevar dos condiciones en este caso inicializar 2 variables de condición y cuidar que existan 2 de rompimiento o terminación de ciclo.
El grupo cierto de instrucciones puede ser una sola instrucción o todo un grupo de instrucciones.
La condición puede ser simple o compuesta.
A este ciclo también se le conoce como ciclo de condición de entrada o prueba por arriba porque este ciclo evalúa primero la condición y posteriormente ejecuta las instrucciones.



/* * Ejemplo de uso de diferentes iteradores. * while, for, do while, etc * */
<span style="background-color: #ffffff;">
**<span style="color: #4169e1;">[[#Ejercicio02]]public class Ejercicio02 </span>**{
    </span>
Comienzo del flujo principal del programa.
<span style="background-color: #ffffff;">**<span style="color: #4169e1;"> public static void main(String [] argumentos)</span>** {
 int x = 0;
 int y = 10;
 salida(</span>
"Primer iterador"
<span style="background-color: #ffffff;">);
 </span>
while
<span style="background-color: #ffffff;">(x < y) {
     salida(</span>
"x es "
<span style="background-color: #ffffff;">+  x++);
 }
 salida(</span>
"Segundo iterador"
<span style="background-color: #ffffff;">);
 </span>
for
<span style="background-color: #ffffff;">(int i = 0; i < 10 ; ++i) {
     salida(</span>
"i es "
<span style="background-color: #ffffff;">+ i);
 }
 salida(</span>
"Tercer iterador"
<span style="background-color: #ffffff;">);
 </span>
do
<span style="background-color: #ffffff;"> {
     salida(</span>
"x es "
<span style="background-color: #ffffff;"> + x--);
 } </span>
while
<span style="background-color: #ffffff;"> ( x > 0 );
 
 System.exit(0);
    }
 
**<span style="color: #4169e1;"> public static void salida ( String cadena )</span>** {
 System.out.println(cadena);
    }
 
}</span>
Sentencia con etiqueta (Labeled)Hay muchas sentencias en un programa en Java que pueden ser etiquetadas, pero su uso más común es con los bucles
for y while, asociadas a break y continue. Una etiqueta debe ir colocada justo antes del bucle al que va etiquetando y se forma con un identificador válido seguido de dos puntos (:).
Hay que tener muy clara la diferencia entre usar sentencias
break y continue con etiquetas a usar sentencias break y continue sin etiquetar. El uso de las sentencias break y continue con etiquetas, será necesario cuando tengamos varios bucles anidados y necesitemos indicar cual es el bucle anidado que debe continuar su ejecución tras romper el flujo normal de ejecución del programa. Por ejemplo:
<span style="background-color: #f3f3f3; font-size: 1em; text-align: justify;">bucle1:
for (int i = 0; i < 10; i++) {
  System.out.println(<span style="color: #0000ff;">"Bucle i. i = "</span>+i);
  for (int j = 0; j < 10; j++) {
    System.out.println(<span style="color: #0000ff;">"Bucle j. j = "</span>+j);
    for (int k = 0; k < 10; k++) {
      System.out.println(<span style="color: #0000ff;">"Bucle k. k = "</span>+k);
      **<span style="color: #993366;">break</span>**bucle1;
    }
  }
}</span>
En esta ocasión la salida del programa sería:
<span style="background-color: #f3f3f3; font-size: 1em; text-align: justify;">"Bucle i. i = 0"
"Bucle j. j = 0"
"Bucle k. k = 0"</span>
El programa comienza la ejecución en el primer bucle for. Ejecuta la primera iteración y entra en el bucle for anidado de “j”. Realiza la primera iteración y entra en el bucle for anidado de “k”. Aquí nuevamente ejecuta la primera iteración y se encuentra con una sentencia
break. (Recordad que break, detiene la ejecución del bucle y provoca que el programa continúe desde la primera línea depués del bucle). Pero en este caso es una sentencia break con etiqueta, por tanto, continuará con la primera línea tras el bucle que está indicado por la etiqueta. Y en esta ocasión es el bucle for de “i”; de esta forma, al ejecutar esta sentencia break, provocamos el que programa deje de ejecutar el resto de iteraciones de los tres bucles for anidados.
Veamos un ejemplo con una sentencia
continue.
<span style="background-color: #f3f3f3; font-size: 1em; text-align: justify;">fuera:
  for (int i=0; i<5; i++) {
    for (int j=0; j<5; j++) {
      System.out.println(<span style="color: #0000ff;">"Dentro"</span>);
      **<span style="color: #993366;">continue</span>** fuera;
    } <span style="color: #008000;">// fin del bucle anidado</span>
    System.out.println(<span style="color: #0000ff;">"fuera"</span>); <span style="color: #008000;">// nunca lo escribe</span>
  }
System.out.println(<span style="color: #0000ff;">"Fuera del bucle"</span>);</span>
La salida que obtenemos tras la ejecución del código anterior es:
<span style="background-color: #f3f3f3; font-size: 1em; text-align: justify;">Dentro
Dentro
Dentro
Dentro
Dentro
Fuera del bucle</span>
Veamos porqué.Después de que se ejecute la sentencia
continue, el flujo de ejecución continúa ejecutando la siguiente iteración del bucle for identificado por la etiqueta, hasta que éste alcance la condición de parada. Finalmente, cuando la condición de parada del bucle se alcanza, el bucle termina y se escribirá “Fuera del Bucle”. Si en lugar de poner una sentencia continue, hubieramos puesto unbreak, el resultado hubiera sido:
<span style="background-color: #f3f3f3; font-size: 1em; text-align: justify;">Dentro
Fuera del bucle</span>
NOTA: Las sentencias
http://rekkeb.wordpress.com/2009/04/11/curiosidades-java-break-y-continue/

break y continue con etiquetas, deben estar dentro del bucle que tiene la misma etiqueta, de otra forma, el codigo no compilará.




While y For en C++



While y for en JAVA


INFORMACÓN APARTE

Dennis MacAlistair Ritchie fue un científico computacional estadounidense
Nació en 1941 y falleció en el año 2011
Ritchie es conocido sobre todo por ser el creador del lenguaje de programación C y cocreador, junto con Ken Thompson, delsistema operativo Unix. También fue coautor junto con Brian Kernighan del manual El lenguaje de programación C, que durante años fue el estándar de facto del lenguaje (conocido como K&R C//), hasta la aparición del ANSI C.
Estos aportes convirtieron a Ritchie en un importante pionero de la informática moderna. El lenguaje C aún se usa ampliamente hoy día en el desarrollo de aplicaciones y sistemas operativos, y ha sido una gran influencia en otros lenguajes más modernos como el lenguaje de programación Java. Unix también ha sentado las bases de los sistemas operativos modernos, estableciendo conceptos y principios que hoy son ampliamente adoptados.

Fuente: Wikipedia - Biografía creador


CICLOS EN PASCAL:



FOR
Instrucciones que resuelven el problema de repetir todo el programa o cierta parte del programa mas de una vez.

Este ciclo es uno de los mas usados para repetir una secuencia de instrucciones, sobre todo cuando se conoce la cantidad exacta de veces que se quiere que se ejecute una instrucción simple o compuesta.

Su formato general es:

for VARCONTROL := ValorInicial to ValorFinal do

begin instrucciones; end;

EJEMPLO

Codigo prog4.pas

program prog4;
 
uses crt;
 
var
 
x:integer;
 
begin
 
clrscr;
 
for x:= 1 to 5 do
 
begin
 
gotoxy(10,4+x);write(x,' tecnologico');
 
end;
 
readln;
 
end.

corrida:

image236.jpg
image236.jpg



En pascal solo puede haber incrementos de uno en uno, lo mas que existen son decrementos de uno en uno, usando la instruccion:

for VarControl := ValIniGde DOWNTO ValFinChico do

begin instruccion(es); end;

Se pueden usar los siguientes casos;

a) valor incial diferente de uno ejemplo for x:= 5 to 8 do etc

b) valor inicial negativo for x:= -5 to 3 do etc

c) para incrementos diferentes de uno en uno , usar dentro del begin end un acumulador del tipo x := x + 5 pero recordar que el ultimo valor del ciclo corresponda con el valor de parada o la maquina se les cicla y se van divertir mucho cuando esto les pase.

d) para decrementos diferentes de uno en uno usar una tecnica similar x:= x- 20 dentro de un ciclo for DOWNTO, pero recordar la nota anterior.

TAREAS PROGRAMACIÓN PASCAL :
1.- CONSTRUIR UN PROGRAMA QUE DESPLIEGUE LOS NUMEROS DEL 20 AL 30.
2.- DESPLEGAR LOS ENTEROS ENTRE 50 Y 30 ACOMPANADOS DE SU POTENCIA CUADRADA Y RAIZ CUBICA RESPECTIVA(revisar el tema de operadores aritmeticos).
3.- DESPLEGAR LOS MÚLTIPLOS DE 5, ENTRE 10 Y 50, ACOMPANADOS DE SU FACTORIAL (este algortimo lo tienen que buscar en el www) Y LOGARITMO RESPECTIVO(revisar el tema de operadores aritmeticos tambien).
4.- DESPLEGAR LA TABLA DE MULTIPLICAR QUE EL USUARIO INDIQUE.
5.- EVALUAR LA FUNCION Y=5X^2 + 3X + 8 CUANDO X–> -3…10 (RANGO DE -3 HASTA 10)


WHILE

En este ciclo el cuerpo de instrucciones se ejecuta mientras una condicion permanezca como verdadera en el momento en que la condicion se convierte en falsa el ciclo termina.

while BooleanExpression do

statement;

Su formato general es :

cargar o inicializar variable de condicion;

while condicion do

begin

grupo cierto de instrucciones;

instruccion(es) para salir del ciclo;

end;

Un error muy comun con el while, es poner un punto y coma(;) despues de la (condicion) ejemplo while condicion do ; ←-esto es y causa un error.

Prog5.pas

program prog5; uses crt; var x:integer; begin clrscr; x:=1; while x <= 5 do begin gotoxy(10,4+x);write(x,' pato'); x:=x+1; end; readln; end.

Corrida:

image237.jpg
image237.jpg

While puede llevar dos condiciones en este caso inicializar 2 variables de condicion y cuidar que existan 2 de rompimiento o terminacion de ciclo.

El grupo cierto de instrucciones puede ser una sola instruccion o todo un grupo de instrucciones.

La condicion puede ser simple o compuesta.

Los casos generales de for tambien se aplican a while.

A este ciclo tambien se le conoce tambien como ciclo de condicion de entrada o prueba por arriba porque este ciclo evalua primero la condicion y posteriormente ejecuta las instrucciones.


TAREAS PROGRAMACIÓN PASCAL:
1.- DESPLEGAR ENTEROS ENTRE 50 Y 80
2.- DESPLEGAR MULTIPLOS DE 4 ENTRE 60 Y 20 ACOMPANADOS DE SU LOGARITMOS RESPECTIVOS.
3.- CONSTRUIR LA TABLA DE DIVIDIR QUE EL USUARIO INDIQUE.
4.- Evaluar una funcion cualesquiera para el rango de valores de x de -3 a +5



15.- CICLO FOR VISUAL BASIC

Este ciclo es uno de los mas usados para repetir una secuencia de instrucciones, sobre todo cuando se conoce la cantidad exacta de veces que se quiere que se ejecute una instrucción simple o compuesta.
Su formato general es:

FOR VARCICLO=VALORINICIAL TO VALORFINAL [STEP INCR O DECR]
INSTRUCCION(ES)
NETX VARCICLO

EJEMPLO
3aca4379.jpg
3aca4379.jpg

Como se observa, instrucciones de ciclo, si ocuparan que se declaren variables de control de ciclo, ya sea de tipo byte,integer o long.
Casos Particulares;
1.- El ciclo comienza en uno y se incrementa de uno en uno, este es el caso mas general.
2.- Pero el valor inicial puede se diferente de uno, ejemplo;
DIM X AS INTEGER
FOR X=5 TO 28
LABEL4.CAPTION=X
NEXT X
3.- Incluso el valor inicial puede ser negativo, ejemplo;
DIM X AS INTEGER
FOR X= -5 TO 18
LABEL4.CAPTION=X
NEXT X
4.- Los incrementos también pueden ser diferentes al de uno en uno, ej.;
DIM X AS INTEGER
FOR X=1 TO 50 STEP 4
LABEL4.CAPTION=X
NEXT X
5.- Incluso pueden ser decrementos, solo que en este caso, recordar;
* el valor inicial de la variable debe ser mayor que el valor final.
DIM X AS INTEGER
FOR X=100 TO 20 STEP - 5
LABEL4.CAPTION = X
NEXT X
6.- Un ejemplo para usarlo en los problemas sugeridos mas adelante;
ejemplo;
Desplegar los números enteros, comprendidos entre el 1 y el 20.
Se ocupa ahora un componente que pueda almacenar y desplegar un conjunto de los 10 resultados, el único componente visto hasta ahora con esta capacidad es el componente ComboBox, sin embargo existe otro componente llamado ListBox muy similar a ComboBox, excepto que no tiene encabezado y todos sus elementos los mantiene a la vista del usuario, no ocultos como el ComboBox, dicho componente ListBox se analiza a fondo en la siguiente UNIDAD VISUAL BASIC , pero de momento permite resolver el problema del for (desplegar un conjunto de resultados a la vez).
Tanto ComboBox como ListBox permiten cargar todos sus elementos o valores, dentro de un programa, usando un método llamado AddItem(valor), como se ve en el siguiente programa ejemplo;
Para este problema se ocupa poner en Form1, un componente Command1 OK que en su evento Click contiene el for y la carga del componente ListBox; Pantalla de diseño
3aca437a.jpg
3aca437a.jpg

B) Programa
3aca437b.jpg
3aca437b.jpg

la pantalla de salida es:
3aca437c.jpg
3aca437c.jpg

Este procedimiento y método igualmente trabaja con un componente ComboBox.
Practicar hasta conseguir tener esta pantalla de salida o de ejecución, cuando se consiga entonces ya se esta listo para lo siguiente;
TAREAS PROGRAMACION VISUAL BASIC
1.- CONSTRUIR UN PROGRAMA QUE DESPLIEGUE LOS NÚMEROS DEL 20 AL 30.
2.- DESPLEGAR LOS ENTEROS ENTRE 50 Y 30 ACOMPAÑADOS DE SU POTENCIA CUADRADA Y RAÍZ CUBICA RESPECTIVA ( OCUPA TRES ListBox).
3.- DESPLEGAR LOS MÚLTIPLOS DE 5, ENTRE 10 Y 50, ACOMPAÑADOS DE SU FACTORIAL Y LOGARITMO RESPECTIVO.
4.- DESPLEGAR LA TABLA DE MULTIPLICAR QUE EL USUARIO INDIQUE.
5.- EVALUAR LA FUNCION <m> Y=5X^2 + 3X + 8 </m> CUANDO X→ -3…10 (RANGO DE -3 HASTA 10)

http://www.programacionfacil.com/visual_basic:for



Ciclos For/Next (sintaxis Basic)

Los ciclos For/Next le permiten evaluar una secuencia de enunciados varias veces. Esto es diferente a los enunciados If y Select, donde el programa pasa por cada enunciado al menos una vez durante la evaluación de la fórmula.
Los ciclos For/Next funcionan mejor cuando conoce de antemano la cantidad de veces que es necesario evaluar un enunciado.

Sintaxis del ciclo For

Ejemplo 1
Suponga que desea invertir la cadena {Cliente.Nombre del cliente}. Por ejemplo, la compañía "City Cyclists" pasa a ser "stsilcyC ytiC".

<span style="text-align: left;">Rem Reverse a string version 1
formula = ""
Dim strLen
strLen = Len ({Customer.Customer Name})
Dim i
For i = 1 To strLen
   Dim charPos
   charPos = strLen - i + 1
   formula = formula & _
             Mid({Customer.Customer Name}, charPos, 1)
Next i</span>
Examine cómo funciona esta fórmula asumiendo que el valor actual del campo {Customer.Customer Name} es "Clean Air". La variable strLen se asigna como longitud de “Clean Air”, es decir, 9. En este momento también se escribe para que sea una variable numérica. La variable i se conoce como variable de contador ya que su valor cambia con cada iteración del ciclo For. Es decir, se usa para contar las iteraciones del ciclo. El ciclo For se repetirá 9 veces; la primera vez, i es 1, luego, i es 2, después, i es 3 y así sucesivamente hasta que, finalmente, i es 9. Durante la primera repetición, el noveno carácter de {Customer.Customer Name} se anexa a la fórmula de variable especial vacía. Como resultado la fórmula es igual a "r" después de la primera iteración. Durante la segunda iteración, el octavo carácter de {Customer.Customer Name}se anexa a la fórmula y de este modo la fórmula es igual a "ri". Esto continúa hasta después de la novena iteración, la fórmula es igual a "riA naelC", que es la cadena invertida.
Ejemplo 2
He aquí una versión más simple de la fórmula anterior, que usa una cláusula Step con un valor negativo de Step igual a -1. En el ejemplo de “Clean Air”, i es 9 en la primera repetición, 8 en la segunda, 7 en la tercera y así sucesivamente hasta la repetición final, en la que es 1.

<span style="text-align: left;">Rem Reverse a string version 2
formula = ""
Dim i
For i = Len ({Customer.Customer Name}) To 1 Step -1
   formula = formula + _
             Mid({Customer.Customer Name}, i, 1)
Next i</span>
Ejemplo 3
La versión más simple es usar la función incorporada StrReverse:

<span style="text-align: left;">Rem Reverse a string version 3
formula = StrReverse ({Customer.Customer Name})</span>
Las funciones String integradas de Crystal Reports pueden administrar muchas de las aplicaciones de procesamiento de cadenas que tradicionalmente serían administradas mediante un ciclo For/Next o algún otro tipo de ciclo. Sin embargo, los ciclos For/Next proporcionan la mayor flexibilidad y potencia en el procesamiento de cadenas y matrices. Esto puede ser vital si las funciones incorporadas no cubren la aplicación que le interesa.


http://msdn.microsoft.com/es-es/library/ms225402(v=vs.80).aspx



Utilice una estructura For...Next cuando desee repetir un conjunto de instrucciones un número fijo de veces.
Una Instrucción While...End While (Visual Basic) o una Instrucción Do...Loop (Visual Basic) funciona bien cuando no se sabe de antemano cuántas veces se necesita ejecutar las instrucciones del bucle. Sin embargo, cuando espere ejecutar el bucle un número concreto de veces, For...Next es una mejor elección. Determina el número de iteraciones cuando se entra en el bucle por primera vez.
El valor de step puede ser positivo o negativo. Determina el procesamiento del bucle como sigue:


Valor de step
El bucle se ejecuta si
Positivo o cero
counter <= end
Negativo
counter >= end
Si no se especifica, el valor predeterminado de step es 1.

Reglas

  • Tipos de datos. El tipo de datos de counter suele ser Integer, pero puede ser cualquier tipo que admita los operadores mayor o igual que (>=), menor o igual que (<=), suma (+) y resta (-). Incluso puede ser un tipo definido por el usuario siempre que admita todos estos operadores.
    Las expresiones start, end y step suelen evaluarse como tipo Integer, pero pueden evaluarse como cualquier tipo de datos que se amplíe al tipo de counter. Si se utiliza un tipo definido por el usuario para counter, significa que hay que definir el operador de conversión CType para convertir los tipos de start, end o step al tipo de counter.
  • Declaración. Si counter no se ha declarado fuera de este bucle, se debe declarar en la instrucción For. En tal caso, el ámbito de counter es el cuerpo del bucle. Sin embargo, no se puede declarar counter fuera y dentro del bucle.
  • Número de iteraciones. Visual Basic evalúa los valores de iteración start, end y step sólo una vez, antes de que comience el bucle. Si el bloque de instrucciones cambia end o step, estos cambios no afectan a la iteración del bucle.
  • Bucles anidados. Se pueden anidar bucles For colocando un bucle dentro de otro. Sin embargo, cada bucle debe tener una variable counter única. La siguiente construcción es válida.
    <span style="font-family: Consolas,Courier,monospace;">                For i As Integer = 1 To 10
        For j As Integer = 1 To 10
            For k As Integer = 1 To 10
                ' Insert statements to operate with current values of i, j, and k.
            Next k
        Next j
    Next i
    </span>
También se pueden anidar entre sí tipos diferentes de estructuras de control. Para obtener más información, vea Estructuras de control anidadas.
  • ||~
    Note
    Note
    Nota ||
  • || Si una instrucción Next de un nivel de anidamiento externo se encuentra antes de la instrucción Next de un nivel interno, el compilador genera un error. Sin embargo, el compilador sólo puede detectar este error superpuesto si se especifica counter en cada instrucción Next. ||
  • Identificar la variable de control. Opcionalmente, puede especificarse counter en la instrucción Next. Esto mejora la legibilidad del programa, sobre todo si se han anidado bucles For. La variable que se especifique debe ser igual a la que aparece en la instrucción For correspondiente.
  • Transferir fuera del bucle. La Instrucción Exit (Visual Basic) transfiere el control inmediatamente a la instrucción que sigue a Next. Por ejemplo, puede ser conveniente salir de un bucle si se detecta una condición que hace que sea innecesario o imposible continuar la iteración, como puede ser un valor erróneo o una solicitud de finalización. Asimismo, si se detecta una excepción en una instrucción Try...Catch...Finally, se puede utilizar Exit For al final del bloque Finally.
    Se puede colocar cualquier número de instrucciones Exit For en un bucle For. Exit For se suele utilizar después de evaluar alguna condición, por ejemplo en una estructura If...Then...Else.
  • Bucles sin fin. Un uso de Exit For es comprobar una condición que pudiera ocasionar un bucle sin fin; es decir, un bucle que pudiera ejecutarse un número extremadamente elevado de veces e incluso infinitamente. Si se detecta este tipo de condición, se puede utilizar Exit For para escapar del bucle. Para obtener más información, vea Instrucción Do...Loop (Visual Basic).

Comportamiento

  • Entrada en el bucle. Cuando comienza la ejecución del bucle For...Next, Visual Basic evalúa start, end y step por primera y única vez. Después asigna start acounter. Antes de ejecutar el bloque de instrucciones, compara counter con end. Si counter ya ha superado el valor final, el bucle For finaliza y el control pasa a la instrucción que sigue a Next. De lo contrario se ejecuta el bloque de instrucciones.
  • Iteraciones del bucle. Cada vez que Visual Basic encuentra la instrucción Next, incrementa counter en el valor indicado en step y vuelve a la instrucción For. Compara de nuevo counter con end y, otra vez, ejecuta el bloque o termina el bucle según el resultado. Este proceso continúa hasta que counter sobrepasa end o se encuentra una instrucción Exit For.
  • Terminación del bucle. El bucle no finaliza hasta que counter haya sobrepasado end. Si counter es igual a end, el bucle continúa. La comparación que determina si se ejecuta el bloque es counter <= end si step es positivo y counter >= end si step es negativo.
  • Cambiar los valores de iteración. Cambiar el valor de counter mientras se está dentro de un bucle puede dificultar la lectura y la depuración del código. Cambiar el valor de start, end o step no afecta a los valores de iteración especificados cuando se entró en el bucle por primera vez.

external image clear.gif

En el ejemplo siguiente se muestran estructuras For...Next anidadas con valores de incremento diferentes.

<span style="font-family: Consolas,Courier,monospace;"><span style="color: blue;">Dim</span> words, digit <span style="color: blue;">As Integer
Dim</span> thisString <span style="color: blue;">As String</span> = <span style="color: #a31515;">""</span>
<span style="color: blue;">For</span> words = 10 <span style="color: blue;">To</span> 1 <span style="color: blue;">Step</span> -1
    <span style="color: blue;">For</span> digit = 0 <span style="color: blue;">To</span> 9
        thisString &= <span style="color: blue;">CStr</span>(digit)
    <span style="color: blue;">Next</span> digit
    thisString &= <span style="color: #a31515;">" "</span>
<span style="color: blue;">Next</span> words
 
</span>
En el ejemplo anterior se crea una cadena que contiene 10 instancias de los números del 0 al 9, donde cada cadena está separada de la siguiente por un único espacio en blanco. El bucle externo disminuye una variable de contador del bucle cada vez que se recorre el bucle.


http://msdn.microsoft.com/es-es/library/5z06z1kb(v=vs.80).aspx


Programación en Java


Sentencia while


La sentencia while es la más sencilla de las estructuras de iteración. La iteración continuará hasta que su condición sea falsa.
<span style="background-color: #f9f9f9; font-family: monospace,Courier;">while ( condición ) sentencia ;</span>
La condición tiene que tomar un valor booleano (verdadero o falso). Si este valor es verdadero, se ejecutará la sentencia. Concluida esta acción se vuelve a evaluar la condición. Proseguirán los ciclos hasta que la condición no cambie a falso.
Esta es una estructura de iteración preprueba, es decir primero se evalúa la condición antes de realizar cualquier acción. Si de entrada la condición es falsa nunca ejecutará el conjunto de sentencias.
<span style="background-color: #f9f9f9; font-family: monospace,Courier;">int n = 0;
 while ( n > 0 ) System.out.println("Esto nunca lo verás");</span>
Dentro del conjunto de sentencia que controla, debe existir alguna que cambie el valor de la condición que se está evaluando.
<span style="background-color: #f9f9f9; font-family: monospace,Courier;">boolean prueba = true;
  while ( prueba ) {
        System.out.println("Esto lo verás una vez");
        prueba = false;
  }</span>
Entraríamos en un ciclo infinito si nunca se modifica la condición y permanece verdadera.
<span style="background-color: #f9f9f9; font-family: monospace,Courier;">boolean prueba = true;
  while ( prueba ) {
        System.out.println("Esto lo verás muchas veces");
  }</span>
Generalmente esta estructura se utiliza en situaciones en donde desconocemos la cantidad de ciclos que se deben ejecutar para producir un resultado. Mostraremos como se utiliza en estas circunstancias con el ejemplo de pase a binario, mostrado en el capítulo anterior.
Teníamos que transformar un número decimal a binario. El programa en java nos queda de esta manera:
<span style="background-color: #f9f9f9; font-family: monospace,Courier;">public class Dec2Bin{
   public static void main(String args[]){
      int decimal = 252222;
      String binario = "";
      while ( decimal > 0 ) {
        binario = decimal % 2 + binario;
        decimal /= 2;
      }
      System.out.println(binario);
   }
}</span>
Como no sabemos de antemano cuantas vueltas debe dar, simplemente esperamos que el resultado de las divisiones sucesivas sea igual a cero.
También se pueden realizar ciclos con while en donde ya conocemos, antes de entrar en la estructura, cuantas vueltas debe dar para terminar. Para esto nos auxiliamos con un contador de vueltas. Previamente tiene que inicializarse antes de ingresar al ciclo. Luego en cada vuelta se modificara según la lógica del algoritmo.
Realicemos el programa que despliegue por pantalla cinco líneas de caracteres.
<span style="background-color: #f9f9f9; font-family: monospace,Courier;">public class Cuadrado{
   public static void main(String args[]){
      int contador = 1;
      while ( contador <= 5 ) {
         System.out.println("*****\n");
         contador++;
      }
   }
}</span>
En este algoritmo, inicializamos el contador a 1 y luego en cada ciclo se incrementa. La condición de corte tiene como objetivo no permitir mas vueltas si el contador superó el valor 5.
<span style="background-color: #f9f9f9; font-family: monospace,Courier;"> </span>
Para tener varias veces el asterisco sin necesidad de imprimirlo asi "*", utilizamos otro ciclo while y otra variable que inicializaremos dentro del ciclo para que se cumpla la cual llamaremos "contador2", obtendremos el mismo resultado que el anterior, el codigo quedaria asi:
public class Cuadrado {
<span style="background-color: #f9f9f9; font-family: monospace,Courier;">public static void main (String args [])
   {
       int contador = 1;
       while (contador <= 5)
       {
          int contador2 = 1;
           while (contador2 <= 5)
           {
               System.out.print ("*");
               contador2++;
           }
           System.out.println ();
           contador++;
       }
   }</span>
}
http://es.wikibooks.org/wiki/Programaci%C3%B3n_en_Java/Sentencia_while