|
|
| Contenidos > 10.1.3
Errores en un bucle mientras |
|
Errores en un bucle mientras
En este apartado vamos a ver varios ejemplos de posibles errores que se pueden cometer al escribir un bucle mientras, tomando como referencia el ejemplo del apartado anterior, 10.1.2 Cambios en un bucle mientras.
Ejemplo 1:
Un pequeño descuido, como por ejemplo, no escribir de forma
correcta la condición del bucle, puede producir un bucle
infinito:
algoritmo
Numeros_del_10_al_1
variables
entero
contador
inicio
contador ←
10
/* Cambio
1 */
mientras
( contador <=
10 ) /* Descuido
*/
escribir( contador )
contador ←
contador -
1 /* Cambio
3 */
fin_mientras
fin |
Por pantalla se mostrará:
Ejemplo 2: Otro error muy frecuente es
inicializar mal la variable que participa en la condición
del bucle:
algoritmo
Numeros_del_10_al_1
variables
entero
contador
inicio
contador ←
1
/* Descuido
*/
mientras
( contador >=
1 ) /* Cambio 2 */
escribir( contador )
contador ←
contador -
1 /* Cambio
3 */
fin_mientras
fin |
Por pantalla sólo se mostrará el
número 1:
Ejemplo 3:
También es un error muy típico olvidarse de
escribir
alguna instrucción, como por ejemplo, la
instrucción de
asignación
contador ←
contador -
1
del bloque de instrucciones del bucle:
algoritmo
Numeros_del_10_al_1
variables
entero
contador
inicio
contador ←
10
/* Cambio
1 */
mientras
( contador >=
1 ) /* Cambio 2 */
escribir( contador )
/* Descuido
*/
fin_mientras
fin |
De nuevo, por pantalla, se obtiene la salida de un bucle infinito:
Ejemplo 4: Como ya se ha
dicho, un bucle mientras
puede iterar cero o más veces. Así, por ejemplo,
en el
algoritmo siguiente existe un error lógico que provoca que
el
bucle no itere ninguna vez.
algoritmo
Numeros_del_10_al_1
variables
entero
contador
inicio
contador ← 0
/* Descuido
*/
mientras
( contador >=
1 ) /* Cambio 2 */
escribir( contador )
contador ←
contador -
1 /* Cambio
3 */
fin_mientras
fin |
Por pantalla no se mostrará nada:
En este caso, se ha producido un error lógico, ya que, para
que
el bucle iterase diez veces, se debería haber asignado a la
variable contador
el valor 10,
en vez del 0.
No obstante, bajo determinadas circunstancias, sí puede
tener sentido hacer uso de un bucle mientras,
el cual pueda no iterar ninguna vez. Véase, por ejemplo, el problema del apartado siguiente, 10.1.4 Uso de un bucle mientras que puede no iterar.
|
|
|
| Contenidos > Apartado siguiente |
|
| 10.1.4 Uso de un bucle mientras que puede no iterar |
|
|
|
|