Esta sentencia permite ejecutar repetidamente, mientras se cumpla una determinada condición, una sentencia o bloque de sentencias. La forma general es como sigue:
donde expresion es cualquier expresión numérica, relacional o lógica, y sentencia es una sentencia simple o compuesta.
La ejecución de la sentencia while es como sigue:
El siguiente código solicita obligatoriamente una de las respuestas posibles: s/n (si o no) y podremos incluirlo en cualquier programa:
Compilando y ejecutando el programa vemos:
Desglosando:
Esto obliga al usuario a escribir el carácter s o n en minúsculas.
Este otro ejemplo visualiza el código ASCII de casa uno de los caracteres de una cadena de texto introducida por el teclado.
Cuando compilemos y ejecutemos el programa, obtendremos lo siguiente:
Esto nos demuestra que sólo se visualiza el código ASCII de los caracteres que hay hasta la pulsación de la tecla Entrar; el carácter \n introducido al pulsar Entrar es ignorado porque así se ha programado. Cuando se han leido todos los caracteres del flujo de entrada, se solicitan nuevos datos. Con esto nos damos cuenta de que aunque lea carácter a carácter se puede escribir hasta que pulsemos la tecla Entrar, un texto cualquiera.
Bucles anidados
Cuando se incluye una sentencia while, en general una sentencia while, do o for dentro de otra de ellas, estamos en lo que se llama bucles anidados. Por ejemplo:
Al compilar y ejecutar el programa obtenemos:
Este resultado demuestra que el bucle exterior se ejecuta tres veces…
y el interior a su vez cuatro veces.
Vemos también que cada vez que finaliza le ejecución de la sentencia while interior, avanzamos a una nueva línea, incrementamos el valor de i en una unidad e iniciamos de nuevo j al valor 1.
Hagamos otra aplicación que imprima los números z, comprendidos entre 1 y 50, que cumplan la expresión:
donde z, x e y son números enteros positivos.
- Primero definimos las variables que vamos a utilizar en los cálculos.
- Seguidamente escribimos la cabecera de presentación.
El listado completo quedaría así:
Al ejecutar el programa tendremos la tabla en pantalla:
Intenta hacer una tabla de multiplicar en la cuál tengas que entrar un numero que representará la tabla a mostrar con el formato(1 x 0 = 0, 1 x 1 = 1, …). y se muestre por pantalla de esta forma:
Debe estar conectado para enviar un comentario.