1 intro progrmacio ob capitulo 4 02 ciclo fijos

5
Sentencia for Sintaxis (inicialización ; condición ; acción ) Sentencia; Si se requiere realizar más de una sentencia se deben utilizar llaves. (inicialización ; condición ; acción ) { bloque de estatutos; } Funcionamiento del For 1. Ejecuta la(s) sentencias de inicialización 2. Evalúa la condición, si es verdadera entra al ciclo 3. Ejecuta la(s) sentencias 4. Ejecuta la(s) 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 es

Upload: lina-castro

Post on 07-Mar-2016

213 views

Category:

Documents


1 download

DESCRIPTION

 

TRANSCRIPT

Sentencia for

Sintaxis (inicialización ; condición ; acción ) Sentencia; Si se requiere realizar más de una sentencia se deben utilizar llaves. (inicialización ; condición ; acción ) { bloque de estatutos; }

Funcionamiento del For

1. Ejecuta la(s) sentencias de inicialización

2. Evalúa la condición, si es verdadera entra al ciclo

3. Ejecuta la(s) sentencias

4. Ejecuta la(s) 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 es

reconocida dentro del ciclo.

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

Ejemplo I: Mostrar los N primeros números de la serie de Fibonacci. La serie es 1,1,2,3,5,8,13....

public static void main (String args[])

{ String n;

int numero;

n = JOptionPane.showInputDialog ("Ingrese el número: ");

numero= Integer.parseInt(n);

int a = 1, b = 1, fibo;

for (int i = 3; i <=numero ; i++) // se empieza i en 3 porque ya muestra los 2 // primeros números de la serie

{

fibo = a + b; System.out.println("" + fibo + " ");

a = b; b = fibo;

}

}

Al ejecutar el ejemplo se muestra la siguiente ventana

Y la serie impresa por consola sería: 2 3 5

Ciclo infinito

Cuando en un ciclo la condición siempre es verdadera se dice que es un ciclo infinito, pues nunca saldrá del ciclo y el programa no termina. Para evitarlos hay que estar seguros que en el bloque de sentencias haya una sentencia que

modifique el valor de la condición de tal modo que llegue a ser falsa en algún momento.

Ejemplos de ciclos infinitos

Ejemplo I

En el siguiente ejemplo se imprimirá la serie Fibonacci, pero por un error lógico en la condición, este for nunca será evaluado en Falso .

public static void main (String args[])

{ String n;

int numero;

n = JOptionPane.showInputDialog ("Ingrese el número: ");

numero= Integer.parseInt(n);

int a = 1, b = 1, fibo;

for (int i = 3; i!=0 ; i++) // se empieza i en 3 porque ya muestra los 2 // primeros números de la serie

{

fibo = a + b; System.out.println("" + fibo + " ");

a = b; b = fibo;

}

}

Al ejecutar el ejemplo se muestra la siguiente ventana

La condición del FOR nunca se va a evaluar en FALSA, porque siempre el valor de i va a ser diferente de cero.

Las sentencias dentro del FOR comienzan a imprimir valores por consola hasta que la ejecución del programa sea cancelada manualmente.