Anda di halaman 1dari 26

Sintaxis del lenguaje Java

Instrucciones de Control - Repeticiones

Repeticiones
Una estructura de repeticin permite al programador especificar que se debe repetir una accin mientras cierta condicin sea verdadera. En algn momento la condicin ser falsa y en ese momento la repeticin terminar y se ejecutar la siguiente instruccin despus de la estructura de repeticin.

Repeticiones
Existen tres formas diferentes de representar la estructura de repeticin: for while do while

Instruccin for
for (inicializacion; condicion; incremento) { sentencias }

Instruccin for
La ejecucin del ciclo for comienza con la instruccin de inicializacin que, normalmente, suele realizar la inicializacin de una variable de control, incluyendo su declaracin. A continuacin se comprueba la condicin, cuyo resultado debe ser siempre de tipo boolean; en caso de que el resultado sea true, se ejecutarn las instrucciones delimitadas por el bloque de llaves {}, despus se ejecutar la instruccin de incremento y volver a comprobarse la condicin.

public class Factorial1 { public static void main (String[] args) { long p=5; // factorial a calcular long r=1; // resultado for (int i=1; i<=p; i++) { r *= i; } System.out.println(El factorial de +p+ es +r); } }

Instruccin while
while (condicion) { sentencias }

public class Factorial2 { public static void main (String[] args) { long p=5; // factorial a calcular long r=1; // resultado int i=1; // contador de repeticiones while (i<=p) { r *= i; i++; } System.out.println(El factorial de +p+ es +r); } }

Instruccin do while
do { sentencias } while (condicion);

public class Factorial3 { public static void main (String[] args) { long p=5; // factorial a calcular long r=1; // resultado int i=1; // contador de repeticiones do { r *= i; i++; } while (i<=p) ; System.out.println(El factorial de +p+ es +r); } }

Repeticin controlada por contador


La tcnica de repeticin controlada por contador utiliza una variable contador o variable de control para llevar la cuenta del nmero de veces que debe ejecutarse un conjunto de instrucciones. A la repeticin controlada por contador se le llama comnmente repeticin definida, ya que el nmero de repeticiones se conoce antes de que el ciclo empiece a ejecutarse.

Problema
A una clase de diez estudiantes se les aplic un examen. Las calificaciones son nmeros enteros en el rango de 0 a 100. Determinar el promedio de la clase para este examen.

import java.util.Scanner; public class Promedio1 { public static void main(String args[]) { int valor; int promedio; int suma = 0; int repeticiones = 10; Scanner leer = new Scanner(System.in);

for (int contador=1;contador<=repeticiones;contador++) { System.out.print("Escriba el valor "+contador+": "); valor = leer.nextInt(); suma += valor; } promedio = suma / repeticiones; System.out.println("El promedio es: "+promedio);

import java.util.Scanner; public class Promedio2 { public static void main(String args[]) { int valor; int promedio; int suma = 0; int contador =1; int repeticiones = 10; Scanner leer = new Scanner(System.in);

while (contador<=repeticiones) { System.out.print("Escriba el valor "+contador+": "); valor = leer.nextInt(); suma += valor; contador++; } promedio = suma / repeticiones; System.out.println("El promedio es: "+promedio);

import java.util.Scanner; public class Promedio3 { public static void main(String args[]) { int valor; int promedio; int suma = 0; int contador =1; int repeticiones = 10; Scanner leer = new Scanner(System.in);

do { System.out.print("Escriba el valor "+contador+": "); valor = leer.nextInt(); suma += valor; contador++; } while (contador<=repeticiones); promedio = suma / repeticiones; System.out.println("El promedio es: "+promedio);

Repeticin controlada por centinela


Cuando no conocemos el nmero de repeticiones que debe ejecutar un conjunto de instrucciones, debemos utilizar otra tcnica que nos indique en que momento debemos parar la repeticin. Esto se realiza por medio de un valor especial denominado valor centinela (tambin llamado valor de seal, valor de prueba o bandera) para indicar el fin de la introduccin de datos. A la repeticin controlada por centinela a menudo se le llama repeticin indefinida.

Problema
Desarrollar un programa que calcule el promedio de calificaciones de una clase para un nmero indeterminado de estudiantes. El usuario escribe calificaciones hasta que se han introducida todas, despus escribe un valor centinela para indicar que no hay ms calificaciones. El valor centinela debe elegirse de tal forma que no pueda confundirse con un valor de entrada permitido.

import java.util.Scanner; public class Promedio4 { public static void main(String args[]) { int valor; int promedio; int suma = 0; int contador; Scanner leer = new Scanner(System.in); System.out.print("Escriba el valor inicial: "); valor = leer.nextInt();

for (contador=0;valor>=0;contador++) { suma += valor; System.out.print("Escriba el valor "+(contador+2)+": "); valor = leer.nextInt(); } if (contador>0) { promedio = suma / contador; System.out.println("El promedio es: "+promedio); }

import java.util.Scanner; public class Promedio5 { public static void main(String args[]) { int valor; int promedio; int suma = 0; int contador =0; Scanner leer = new Scanner(System.in); System.out.print("Escriba el valor inicial: "); valor = leer.nextInt();

while (valor>=0) { suma += valor; contador++; System.out.print("Escriba el valor "+(contador+1)+": "); valor = leer.nextInt(); } if (contador>0) { promedio = suma / contador; System.out.println("El promedio es: "+promedio); }

import java.util.Scanner; public class Promedio6 { public static void main(String args[]) { int valor; int promedio; int suma = 0; int contador =0; Scanner leer = new Scanner(System.in);

do { System.out.print("Escriba el valor "+(contador+1)+": "); valor = leer.nextInt(); if (valor>=0) { suma += valor; contador++; } } while (valor>=0); if (contador>0) { promedio = suma / contador; System.out.println("El promedio es: "+promedio); }

Anda mungkin juga menyukai