Clase 3

También podría gustarte

Está en la página 1de 25

Ciclo 2: Programación Básica

Sesión 3:
Estructuras de repetición.

Programa Ciencias de la Computación e Inteligencia Artificial


Escuela de Ciencias Exactas e Ingeniería
Universidad Sergio Arboleda
Bogotá
Contenido

• Ciclo WHILE.
• Ciclo DO-WHILE.
• Ciclo FOR.
Ciclo WHILE
Ciclo WHILE (mientras)
Permite ejecutar un bloque de instrucciones si una
condición se cumple.

Continuará ejecutándose mientras la condición siga


cumpliéndose.

La condición es de carácter booleano.

Dentro del bloque se actualiza la variable que


comprende la condición (Responsabilidad del que
escribe el código).

Nota: Si no se actualiza la variable, se puede crear un ciclo infinito.


Ciclo WHILE
int x = 0; Bloque previo
int y = 5;

while (x < y) { Condición Ciclo WHILE


System.out.println(“X es menor que Y”); Bloque con la
x = x + 2; actualización

}
System.out.println(“X ya NO es menor que Y”); Bloque siguiente

Nota: El bloque ejemplo será ejecutado 3 veces.


Nota 2: Si no estuviera la actualización de la variable (x = x + 2) ese
bloque se ejecutaría infinitamente.
Ejemplo WHILE
Programa que repite lo que dice el usuario.

Lectura de una variable de tipo String del usuario.

Repetir lo que dijo el usuario.

Si el usuario ingresa “Salir del juego”, se acaba el programa.

Nota: En este ejemplo la actualización de la variable es repetir la lectura de la variable


de entrada.
Solución al ejemplo
import java.util.Scanner; 1. Librerías necesarias.

class Main {
2. Clase “main”.
public static void main(String[] args) {

Scanner sc = new Scanner(System.in);


3. Lectura entrada inicial.
String entrada = sc.nextLine();

while ( ! entrada.equals(“Salir del juego”)){


System.out.println(entrada); 4. Ciclo WHILE con
entrada = sc.nextLine(); actualización.

}
}
}
Nota: Recordar siempre los punto y coma (;).
La función .equals() sirve para comparar dos String.
Recordar el operador lógico de negación (!).
Ciclo DO-WHILE
Ciclo DO-WHILE (hacer-mientras)
Tiene la misma idea del ciclo WHILE previo.

El orden de la estructura es inversa.

Primero se ejecuta el bloque.

Luego se revisa la condición.

Dentro del bloque se actualiza la variable que


comprende la condición (Responsabilidad del que
escribe el código).

Nota: Si no se actualiza la variable, se puede crear un ciclo infinito.


Ciclo DO-WHILE
int x = 0; Bloque previo
int y = 5;

Do { Ciclo DO-WHILE
System.out.println(“X es menor que Y”); Bloque con la
x = x + 2; actualización

} while (x < y); Condición

System.out.println(“X
} ya NO es menor que Y”); Bloque siguiente

Nota: El bloque ejemplo será ejecutado 3 veces.


Nota 2: Si no estuviera la actualización de la variable (x = x + 2) ese
bloque se ejecutaría infinitamente.
Ejemplo DO-WHILE
Programa que repite lo que dice el usuario.

Lectura de una variable de tipo String del usuario.

Repetir lo que dijo el usuario.

Si el usuario ingresa “Salir del juego”, se acaba el programa.

Nota: En este ejemplo la actualización de la variable es repetir la lectura de la variable


de entrada.
Solución al ejemplo
import java.util.Scanner; 1. Librerías necesarias.

class Main {
2. Clase “main”.
public static void main(String[] args) {

Scanner sc = new Scanner(System.in);


3. Lectura entrada inicial.
String entrada = "";

do{
System.out.println(entrada); 4. Ciclo DO-WHILE con
entrada = sc.nextLine(); actualización.
} while(! entrada.equals("Salir del juego"));
}
}

Nota: No se debe crear la variable “entrada” varias veces, solo


modificarla, por eso la creación está fuera del ciclo.
Ciclo FOR
Ciclo FOR
Permite ejecutar un bloque de instrucciones una
cantidad determinada de veces.

Se podría entender como un caso particular del ciclo


WHILE.

Utiliza una variable de control.

La actualización de la variable no se incluye en el


bloque de código.

Se utiliza cuando se sabe el inicio y final de la variable


iterada.
Ciclo FOR
int x = 0; Bloque previo
double y = 1.1;

for (int i =0; i<10;i++){ Variable de control Ciclo FOR


System.out.println(i); Bloque

int z = 1000;
Bloque siguiente
double a = x+1;

Nota: Este código imprime los números del cero al nueve.


Estructura ciclo FOR

FOR Título obligatorio.

for (int i = 0 ; i<10; i++){


Estructura ciclo FOR

Creación variable de control - El identificador es libre, pero debe ser el mismo usado en
toda esta línea.
- Se puede inicializar en cualquier valor.

for (int i = 0 ; i<10; i++){


Estructura ciclo FOR

Condición - Condición equivalente a la del ciclo WHILE.

for (int i = 0 ; i<10; i++){


Estructura ciclo FOR

Actualización de la variable - Actualización que antes se incluía en el bloque.


Se acostumbra utilizar los operadores de incremento o
decremento, pero se pueden usar los otros, por ejemplo:
i=i+2.

for (int i = 0 ; i<10; i++){


Estructura ciclo FOR

Separadores Recordar estos separadores utilizando punto y coma.

for (int i = 0 ; i<10; i++){


Ejemplo FOR
Programa que imprima los números desde el 3 hasta n (siendo n un número entero
ingresado por el usuario) y que además vaya realizando una sumatoria. Al final se debe
imprimir el resultado de la sumatoria total.

Al final se imprime “Suma total: XXXXX”.

Utilizar FOR.

El usuario debe ingresar un número mayor a 3.


Solución al ejemplo
import java.util.Scanner; 1. Librerías necesarias.

class Main {
2. Clase “main”.
public static void main(String[] args) {

Scanner sc = new Scanner(System.in);


3. Lectura entrada inicial e
int entrada = Integer.parseInt(sc.nextLine());
inicialización suma.
int sumatoria = 0;

for (int i =3; i<=entrada;i++){ 4. Ciclo FOR, desde 3 hasta el


System.out.println(i); número ingresado. Incluye la
sumatoria += i; acumulación de la suma.
}
System.out.println("Suma total: "+ String.valueOf(sumatoria)); 5. Imprimir salida.
}
}
Ejercicios
Ejercicios
Leer un número y calcular su factorial

Construya un programa que a partir de un arreglo de N números determine


qué porcentaje de los números son cero, qué porcentajes son positivos y qué
porcentajes son negativos

Construya un programa que dado un número, diga si es o no un número de


Armstrong. Un número de n dígitos es un número de Armstrong si la suma de
las potencias n-ésimas de los dígitos que lo componen es igual al mismo
número. Ejemplo: 1634 es un número de Armstrong
Referencias

[1] Sierra, K., & Bates, B. (2013). Head first java. " O'Reilly Media, Inc.".
[2] Martin, R. C. (2009). Clean code: a handbook of agile software craftsmanship. Pearson Education.
(Chap 1, 2)
[3] Sommerville, I. (2016). Software Engineering GE. Pearson Australia Pty Limited. (Chap 6, 6.3)
[4] Coronel, C., Morris, S., & Rob, P. (2011). Bases de datos: diseño, implementación y administración.
Cengage Learning Editores. (Chap 1)
[5] Seidl, M., Scholz, M., Huemer, C., & Kappel, G. (2015). UML@ classroom: An introduction to
object-oriented modeling. Springer. (Chap 1, 4)

También podría gustarte