Ciclos en Java

Sentencias de repe-ción (ciclos) Algoritmos y Programación Nathalia Duque Madrid, Msc. Sep=embre 2017 Sentencias de r

Views 74 Downloads 0 File size 472KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

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. •  El número de repe=ciones (iteraciones) es finito. •  Garan=za la

ejecución de la primera iteración

Sentencias de Repe-ción

Condicionada al final Ejecute mientras (do while)

•  Puede no

iterar



•  Sentencias

de decisión

Condicionada al inicio Mientras (while)

Para (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

(

;

Inicialización for del contador condición

aumento o 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!