El ciclo mientras, es una de las dos estructuras repetitivas con las que cuenta FreeDFD, está representada por este símbolo dentro del programa:
Para hacer uso de esta herramienta, basta con hacer clic en el botón de la imagen anterior, y luego hacer clic en la parte del diagrama en donde queremos poner nuestro ciclo, una vez hecho esto, aparecerá algo similar a la siguiente imagen en la zona de edición del programa:
Su funcionamiento es similar al de la decisión. Al insertar un nuevociclo mientras al DFD, aparecerán dos figuras.
En la primera aparecen las letras MQ, que son las siglas de “Mientras que“, se colocará una condición,que de considerarse verdadera, ejecutara las instrucciones que se encuentren entre la primera figura y la segunda figura en la que aparece “Fin (MQ)“.
Al hacer doble clic sobre la primera figura, aparecerá un cuadro de dialogo como este:
En la imagen anterior, se observa el cuadro de dialogo que aparece al hacer doble clic sobre la figura que contiene la palabra MQ, allí podemos observar que se nos pide una condición, que como se escribió anteriormente, se validará y en caso de que sea verdadera, repetirá las instrucciones que se encuentren dentro de las dos figuras que representan el ciclo mientras.
Nota: Es importante tener en cuenta que las condiciones tienen que ser falsas en algún momento para que el ciclo se rompa y el programa pueda finalmente continuar y terminar en algún momento.
REALIZA EL SIGUIENTE EJERCICIO
REALIZA EL SIGUIENTE EJERCICIO
Hacer un algoritmo que permita ingresar un numero hasta el cual se mostrarán los numeros impartes que le anteponian, ejemplo:
usuario ingresa: 15
algoritmo muestra: 1,3,5,7,9,11,13
Bien, dice el ejercicio que pedimos un numero y ese será el tope de muestra, pero mostraremos solo los numeros impares que estubieron antes de el, vamos a ello:
- Abrimos DFD
- Insertamos de que trata el algoritmo
- Declaramos las variables que vamos a usar, en éste caso serán dos:
num = numero que va a ingresar el usuario/a
ref = referencia que vamos a tener, a partir de la cantidad que le asignemos a ésta variable comenzaremos a mostrar los impares hasta el numero que ingresaron osea, num
- Bien, declaramos las variables entonces:
EXPLICACION: bien, vemos que num=0 y ref=1, ahora les digo por qué:
num=0 porque a ésta variable se le asignara el valor que ingrese el usuario/a, y por lo tanto debe estar vacia.
ref=1 porque ésta va a ser la referencia que tomaremos, es el numero de donde vamos a arrancar a contar, y como sabemos el cero (0) no cuenta
, entonces debemos comenzar con el uno (1)
- Ok, ahora pedimos hasta que numero desea generar los impares el usuario/a
- Como ya tenemos el numero que va a servir de tope para generar los numeros impares, queda ahora generarlos, para ello usaremos el ciclo mientras que
EXPLICACION: el ciclo mientras que sirve para hacer algo siempre y cuando cumpla la condicion, por ejemplo en éste ejercicio supongamos que el usuario ingreso el numero 9, entonces ése será el tope. Es decir que hasta ese numero se generaran los numeros impares, osea el algortimo deberá mostrar del 1 al 9 
Si el usuario hubiera ingresado la cantidad de cero (0) por ejemplo, el programa no mostraria ninguna cantidad porque no cumple con la condicion, la cual dice que 1 debe ser menor al numero que ingreso el usuario.
En el caso anterior:
¿ 1 era menor que 9 ? , Si entonces mostraba los impares del 1 al 9
En el nuevo caso:
¿ 1 era menor que 0 ? , No entonces no mostrara nada, porque no cumple la condicion expuesta 
- Ahora colocamos dentro de la condicon de mientras que lo que vamos a hacermientras que se cumpla ref < num
- Ahi vemos que hemos colocado que, mientras ref < num el algoritmo mostrará ref, osea mostrara el valor que contiene, es decir: 1
- Pero si lo dejamos ahi lo que va a hacer es que mostrara el valor 1 que es lo que contiene la variable ref un numero infinito de veces porque el ciclo dice: si ref < num, pero como siempre 1 va a ser menor a 15 ( el ejemplo que supusimos arriba ), entonces nunca acabará el ciclo. Ademas de que esa no es la finalidad, lo que pedia el ejercicio es que mostremos los impares hasta llegar al numero, 15 por ejemplo.
- Entonces le debemos ir sumando valor a ref para que ya no valga 1 si no que tenga un nuevo valor que será el siguientee numero impar que le sigue, es decir 3 , y despues 5 , 7 , … asi sucesivamente. Para ello hay que sumarle un valor de 2 en cada reiteracion del ciclo. Así:
- Le sumamos el valor de dos (2) porque un numero impar mas dos (2) siempre va a dar un numero impar, por ejemplo:
1 + 2 = 3
3 + 2 = 5
5 + 2 = 7
- Bien, ahora cada vez que pase por el ciclo se mostrara ref que al comienzo valdrá uno (1), despues valdra tres (3), y asi sucesivamente hasta llegar al numero que ingreso el usuario/a.
- Si el usuario no ingresó un numero mayor a ref, es decir que ref no es menor anum, por ejemplo
ref = 1
num = 0
Como ref no es menor a num, entonces no entra al ciclo y de inmediato se salta al final. En nuestro caso mostrando el mensaje de: FIN
No comments:
Post a Comment