clase11 estructura repetitivadowhile
TRANSCRIPT
Estructura repetitiva do while
Edisson Gutiérrez Jiménez
Universidad de Antioquia
Lógica y representación I
Sentencia do-while
• La sentencia de iteración do-while es de tipo
posprueba. Primero realiza las acciones luego
pregunta. La sintaxis es la siguiente:
do {
//Instrucciones
} while (expresión lógica);
Explicación
• Es como un while pero al revés. Primero se
ejecutan las instrucciones y luego evalúa la
expresión lógica. Si la evaluación de la
expresión es verdadera vuelve a dar un ciclo
desde el do. De lo contrario, termina. Esto
garantiza que la sentencia se ejecute al menos
una vez.
Ejemplo 1
do
System.out.println("Lo veras una vez");
while ( false );
Ejemplo 2
Diseñar un programa que cuente la cantidad de
dígitos que posee un número. Para ello es
necesario dividir por diez el número que nos han
dado, hasta que el resultado se vuelva cero.
public class digitosNumero {
public static void main(String[] args) {
int numero = 4356789;
int dígitos = 0;
do {
numero /= 10;
dígitos++;
} while ( numero > 0 );
System.out.println("El número tiene " + dígitos + " dígitos ");
}
}
Diferencias entre while y do…while
while do…while
Evaluación de la condición antes de entrar
al bloque que contiene las instrucciones.
Evaluación de la condición al final del
bloque que contiene las instrucciones.
El bloque de instrucciones contempladas
dentro de la expresión lógica pueden
ejecutarse cero o más veces.
El bloque de instrucciones contempladas
dentro de la expresión lógica se ejecutan
por lo menos una vez.
Ejemplo 3
• Diseñar un algoritmo que realice una suma
con cada número entero ingresado por el
usuario, si el usuario ingresa un número
menor que cero (0), el ciclo finaliza. El
resultado de la suma debe ser un número
diferente a cero (0)
Análisis
• Datos de entrada:
– numero: variable tipo numérico que almacena el
valor que ingresa el usuario para sumar.
• Otros datos:
– suma: Variable tipo numérico que almacenará la
suma de cada dato ingresado por el usuario.
Procedimiento
• Se declaran las variables.
• Se inicializa en cero (0) la variable suma.
• Se ejecuta el ciclo do - while.
• Se ejecuta la función para obtener el número que elusuario desea sumar.
• Se le suma el valor capturado al actual valor de suma (suma= suma + numero )
• Se evalúa la condición del while (numero != 0). Mientras elvalor de la variable numero sea diferente de cero (0) el ciclodo - while seguirá ejecutándose, cuando su valor sea igual acero (0), el ciclo dejará de ejecutarse.
• Se imprime el valor total de la suma, una vez hayafinalizado el ciclo.
import java.util.Scanner;
public class sumaDatos {
public static void main(String[] args) {
int numero, suma = 0;
Scanner sc = new Scanner(System.in);
do{
System.out.println("Ingrese el número que desea sumar: ");
numero = sc.nextInt();
suma += numero;
} while (numero != 0);
System.out.println("La suma total es: " + suma);
}
}
Ejercicio
• Hacer un algoritmo que encuentre la suma de
los primeros N números naturales.