Vous êtes sur la page 1sur 24

Sentencias

de repe-ción
(ciclos)



Algoritmos y Programación
Nathalia Duque Madrid, Msc.
Sep=embre 2017
Sentencias de repe-ción: marco conceptual
Estructuras de control
•  Permiten ejecutar de
manera repe==va un


conjunto de
instrucciones. Sentencias de •  Sentencias
de decisión
•  El número de Repe-ción
repe=ciones
(iteraciones) es
finito.

•  Puede no
•  Garan=za la Condicionada Condicionada
iterar
ejecución al inicio
al final
de la
primera
iteración Ejecute mientras Mientras Para
(do while) (while) (for)
Do While
(Ejecute mientras)
Sintaxis de la sentencia do while en lenguaje Java

do {
/* conjunto de instrucciones que se
ejecutan repe==vamente mientras
se cumpla la condición que se encuentra
asociada al while */
} while (condición);

La condición asociada a la instrucción while
puede ser una expresión de =po lógico o
relacional o bien una variable de =po lógico
(boolean).
Ejemplo de la sentencia do while en lenguaje Java
1. Programa que muestra los mensajes de un conteo
regresivo que inicia en 10 y termina en 0.

public sta=c void main (String[ ] args){
int cuenta=10;
do{
JOp=onPane.showMessageDialog (null, “Conteo
regresivo… ” + cuenta);
cuenta--; //*
} while (cuenta >= 0);
} // cierra cuerpo del método main

* El operador – – se u-liza para disminuir en 1 el
valor de una variable numérica.
Ejemplo de la sentencia do while en lenguaje Java
2. Programa que permite calcular la nota final de varios
estudiantes. La nota se calcula como el promedio de 3
calificaciones. El programa se cierra cuando el usuario decide.

public sta=c void main (String[ ] args){
String con=nuar = “Si”;
do{
double nota1 = Double.parseDouble(JOp=onPane.
showInputDialog (null, “Ingrese la nota 1: ”));
double nota2 = Double.parseDouble(JOp=onPane.
showInputDialog (null, “Ingrese la nota 2: ”));
double nota3 = Double.parseDouble(JOp=onPane.
showInputDialog (null, “Ingrese la nota 3: ”));

Ejemplo de la sentencia do while en lenguaje Java

double notaFinal = (n1 + n2 + n3) / 3;


JOp=onPane.showMessageDialog (null, “La nota
final del estudiante es: ” + notaFinal);
con=nuar = JOp=onPane.showInputDialog(null,
“Desea con=nuar con otro estudiante? (Si / No)”);
} while (con=nuar.equalsIgnoreCase(“Si”));
JOp=onPane.showMessageDialog (null, “Hasta
luego”);
} // cierra cuerpo del método main


While
(Mientras)
Sintaxis de la sentencia while en lenguaje Java

while (condición) {
/* conjunto de instrucciones que se
ejecutan repe==vamente mientras
se cumpla la condición que se encuentra
asociada al while */
}

La condición asociada a la instrucción while
puede ser una expresión de =po lógico o
relacional o bien una variable de =po lógico
(boolean).
Ejemplo de la sentencia while en lenguaje Java
1. Programa que permite calcular la nota final de varios estudiantes. La
nota se calcula como el promedio de 3 calificaciones. El programa
muestra la can-dad de estudiantes del grupo con el promedio de
calificaciones del mismo y se cierra cuando el usuario decide.

public sta=c void main (String[ ] args){
String con=nuar = “Si”;
int con=0; // variable para contar los estudiantes
double acum=0; // variable para la suma de las notas finales
while (con=nuar.equalsIgnoreCase(“Si”)){
double nota1 = Double.parseDouble(JOp=onPane.
showInputDialog (null, “Ingrese la nota 1: ”));
double nota2 = Double.parseDouble(JOp=onPane.
showInputDialog (null, “Ingrese la nota 2: ”));
double nota3 = Double.parseDouble(JOp=onPane.
showInputDialog (null, “Ingrese la nota 3: ”));

Ejemplo de la sentencia while en lenguaje Java

double notaFinal = (nota1 + nota2 + nota3) / 3;


con++; // aumenta el contador
acum += notaFinal; // sumatoria notas finales
JOp=onPane.showMessageDialog (null, “La nota final del
estudiante” + con + “ es: ” + notaFinal);
con=nuar = JOp=onPane.showInputDialog(null,
“Desea con=nuar con otro estudiante? (Si / No)”);
} // cierra cuerpo del ciclo while
double prom= acum / con; // promedio del grupo
JOp=onPane.showMessageDialog (null, “El promedio de
calificación del grupo es: ” + prom);
} // cierra cuerpo del método main


Ejemplo de la sentencia while en lenguaje Java
2. Programa que muestra los divisores de un número entero
posi-vo dado por el usuario.

public sta=c void main (String[ ] args){
int num = Integer.parseInt(JOp=onPane.
showInputDialog(null, “Ingrese el número para el
cual desea conocer los divisores”)) ;
String msj = “Los divisores de” + num + “son:”;
int con = 1;
while (con < num) {
if (num % con == 0){ //*
msj += con + “ - ”;
}
con++;
} // cierra cuerpo del ciclo while
Ejemplo de la sentencia while en lenguaje Java

msj += num;
JOp=onPane.showMessageDialog(null, msj);
} // cierra cuerpo del método main

* El operador % en lenguaje Java se u-liza para obtener el
residuo (módulo) de una división.

For
(Para)
Sintaxis de la sentencia for en lenguaje Java

aumento o
(Inicialización
;
for
del contador condición ; disminución ) {

del contador

/* conjunto de instrucciones que se
ejecutan repe==vamente mientras
se cumpla la condición que se encuentra
inmersa en el ciclo for*/
}

Para u=lizar esta sentencia es deseable establecer
previamente la can=dad de iteraciones que se van a
ejecutar.
Ejemplo de la sentencia for en lenguaje Java
1. Programa que muestra los mensajes de un conteo
regresivo que inicia en 10 y termina en 0.

public sta=c void main (String[ ] args){
for (int cuenta = 10; cuenta>=0;cuenta--){
JOp=onPane.showMessageDialog (null, “Conteo
regresivo… ” + cuenta);
}
} // cierra cuerpo del método main

Ejemplo de la sentencia for en lenguaje Java
2. Programa que muestra los divisores de un número entero
posi-vo dado por el usuario.

public sta=c void main (String[ ] args){
int num = Integer.parseInt(JOp=onPane.
showInputDialog(null, “Ingrese el número para el
cual desea conocer los divisores”)) ;
String msj = “Los divisores de” + num + “son:”;
for (int con = 1; con < num; con++) {
if (num % con == 0) {
msj += con + “ - ”;
}
} // cierra cuerpo del ciclo for
Ejemplo de la sentencia for en lenguaje Java

msj += num;
JOp=onPane.showMessageDialog(null, msj);
} // cierra cuerpo del método main


A con=nuación modificaremos el ejemplo anterior
de manera que el programa valide el ingreso de un
número entero posi=vo, muestre la can=dad de
divisores encontrados para el número dado y se
ejecute tantas veces como el usuario desee.


Ejemplo de la sentencia for en lenguaje Java
public sta=c void main (String[ ] args){
String con=nuar = “si”;
int num = 0;
while (otro.equalsIgnoreCase(“si”)) {
do{
num = Integer.parseInt(JOp=onPane.
showInputDialog(null, “Ingrese el número entero
posi=vo para el cual desea conocer los divisores: ”)) ;
} while ( ! (num > 0));
int divisores=0; // contador para los divisores
String msj = “Los divisores son:”;
for (int con = 1; con < num; con++) {
if (num % con == 0) {
msj += con + “ - ”;
divisores++;
}
} // cierra cuerpo del ciclo for
Ejemplo de la sentencia for en lenguaje Java

msj += num;
divisores++; // se cuenta num como divisor
JOp=onPane.showMessageDialog(null, num + “ =ene ”
+ divisores + “ divisores. ” + msj);
do {
con=nuar = JOp=onPane.showInputDialog(null, “Desea conocer
los divisores de otro número? (si/no)”);
} while ( ! (con=nuar.equalsIgnoreCase(“si”) ||
con=nuar.equalsIgnoreCase(“no”)));
} // cierra cuerpo del ciclo while
} // cierra cuerpo del método main


Ejercicios:


1.  Tomando como base el ejemplo visto, escribir un programa
que permita calcular la nota final de varios estudiantes. La
nota se calcula como el promedio de 3 calificaciones. El
programa debe mostrar la can-dad de estudiantes del grupo
con el promedio de calificaciones del mismo y se cierra
cuando el usuario decide. Adicionalmente, el programa debe
validar que las notas ingresadas se encuentren entre 0 y 5,
notas por fuera de este rango no son válidas.
Ejercicios:


2. U-lizando el ciclo for, escribir un programa que permita al
usuario ingresar la edad de cada una de las personas
pertenecientes a un grupo de n integrantes. El programa debe
preguntar al usuario la can-dad de integrantes del grupo y
presentar un mensaje con el promedio de edad del grupo, la
can-dad de personas menores de edad y la can-dad de
personas mayores de edad del mismo. El formato del mensaje
debe ser:

Grupo 1:
Edad promedio: (aquí el promedio de edad)
Menores de edad: (aquí la can-dad de personas menores)
Mayores de edad: (aquí la can-dad de personas mayores)
Ejercicios:

Para el siguiente ejercicio debe escribir dos versiones: una u-lizando el ciclo
for y otra u-lizando el ciclo while.

3. Escribir un programa que muestre la tabla de mul-plicar del 1 al 12 para
un número entero posi-vo n cualquiera, dado por el usuario. El mensaje con
la tabla generada debe tener el siguiente formato:

ESTA ES LA TABLA DEL (aquí el número n):

n * 1 = resultado
n * 2 = resultado

n * 12 = resultado

El programa debe validar que el número ingresado por el usuario sea entero
posi-vo y debe permi-r al usuario generar tantas tablas de mul-plicar
como él quiera.
¡GRACIAS!

Vous aimerez peut-être aussi