Está en la página 1de 28

SEMANA 06

1
6.- Estructuras de Control
Repetitivas

Ejecución repetitiva de un conjunto de


instrucciones.

“Yo también” “Te quiero”


“Yo también” “Te quiero”
. .
. .
. .
. .
.
. .
. .
“Yo también” “Te quiero”
6.1.- Estructuras de Control
Ciclo Mientras
CICLO MIENTRAS

Permite ejecutar repetidamente un conjunto de


instrucciones, mientras que una condición sea
verdadera.

La condición siempre se evalúa antes de


ejecutar el bloque de instrucciones.
Estructuras de Control
Iterativas (Mientras)
En Visual Basic
Diagrama de Flujo
while (condición)

no sentencia
condición
End While


Sentencia

4
TRADUCCION MIENTRAS
PSEUDOCODIGO
mientras <condición> hacer
<bloque instrucciones>
fin_mientras
EJEMPLO 1

•Diseñe un diagrama de flujo de un programa que lea


un número entero (N) y lea la siguiente sumatoria:
EJEMPLO 2
Leer un número entero N y calcular el resultado de la siguiente
serie: 1 - 1/2 + 1/3 - 1/4+.... +/- 1/N.
Solución Dim Serie as Double
Dim I, N as Integer
Dim Band as Boolean
Serie = 0
I = 1
N = Textbox1.text
Band = True
While I < = N
If Band = True Then
Serie = Serie + ( 1 / I )
Band = False
Else
Serie = Serie - ( 1 / I )
Band = True
End if
I =I+1
End While
Textbox2.text = Serie
End Sub
EJEMPLO 3

Escribir un programa en Visual Basic, que


determine la cantidad de dígitos que tiene un
número entero y además mostrar la suma de
los dígitos pares e impares. Considerar al cero
( 0 ) como digito par
• Pseudocódigo
• Variables Nro, D, Suma_pares, Suma_imp, C:
Entero
• Leer Nro
• Mientras Nro > 0
• D = Nro mod 10
• Si D mod 2 = 0 Entonces
• Suma_pares = Suma_pares + D
• Si no
• Suma_imp = Suma_imp + D
• Fin si
• C = c +1
• Nro = Int( Nro / 10 )
• FIn Mientras
• Escribir (Suma_pares, Suma_imp, C )
• Fin
6.2.- Estructuras de Control
CICLO
Ciclo HAGA-
Haga - MIENTRAS
Mientras

Esta estructura es similar a la WHILE, solo que la condición


se especifica al final del bloque, con lo que puede ser más
fácil de entender y nunca tendremos que hacer "lecturas
anticipadas" ya que siempre se entra por lo menos una vez.
La principal novedad de este bloque es que podemos repetir
las instrucciones MIENTRAS se cumpla la condición
o HASTA que se cumpla.
El siguiente ejemplo escribe los números del 1 al 5
usando una instrucción DO...LOOP WHILE que hace
que el bucle se ejecute MIENTRAS nuestro contador
sea menor que 5.

n=0
DO
n=n+1
Listbox1.Items.add( n )
LOOP WHILE n < 5
Observa que el contador se incrementa al principio
del bucle, y por lo tanto la primera vez que
escribamos n, ya tendrá el valor de 1. La última vez
escribirá 5 y al llegar a la condición se comprobará
que NO es menor que 5 y ya salimos.
Ahora haremos lo mismo con la instrucción
DO... LOOP UNTIL que ejecutará el bloque
HASTA QUE el contador llegue a valer 5.

n=0
DO
n=n+1
Listbox1.Items.add( n )
LOOP UNTIL n = 5
Esto es parecido. Observa que la condición
es justo la contraria. La última vez n vale 5
y después de escribirla se comprueba que la
condición es verdadera y se sale del bucle.
Estructuras de Control
Iterativas (Haga Mientras)

En Visual Basic
Diagrama de Flujo
Do
sentencia
Sentencia
Loop while/Until(condición)

No
condición

Si

14
TRADUCCION HACER MIENTRAS
PSEUDOCODIGO
Haga
<bloque instrucciones>
Mientras / Hasta <condición>
6.3.- Estructuras de Control
CICLO PARA
Ciclo Para

DIAGRAMA DE FLUJO
ENTRADA Visual basic

para variable limite_inf,


hasta limite_sup

For (<variable> = <lim_inf> To <lim_sup>)


<bloque de instrucciones>
[Step Incremento]

<bloque instrucciones>
Next
SALIDA
TRADUCCION PARA
PSEUDOCODIGO
Para (i = <lim_inf> hasta <lim_sup>) [Incremento]
hacer
<bloque instrucciones>
fin_para
EJEMPLO 4

Realizar la suma de los números


del 1 hasta el N e imprimirla en
pantalla
Solucion
INICIO

Leer N
(Diagrama de Flujo)
suma 
= 0

para i 
= 1, hasta N

suma 
= suma + i

escribir
suma

FIN
Solucion
Programa Memoria
(pseudocódigo)
suma, n, i: entero suma i ???n
suma = 0 S
leer n xxx
6310 xxx
X4
321 xxx
3
para i = 1 hasta n hacer
suma = suma + i
fin_para
6
escribir suma
FORMULARIO
UtilizandoWHILE
Utilizando While
• Private Sub Button1_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button1.Click
• Dim N, I, SUMA As Integer
• I=1
• N = TextBox1.Text
• While I <= N
• SUMA = SUMA + I
• ListBox1.Items.Add(I)
• I=I+1
• End While
• TextBox2.Text = SUMA
• End Sub
Utilizando Do Loop
• Private Sub Button1_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button1.Click
• Dim N, I, SUMA As Integer
• I=1
• N = TextBox1.Text
• Do
• SUMA = SUMA + I
• ListBox1.Items.Add(I)
• I=I+1
• Loop Until I > N
• TextBox2.Text = SUMA
• End Sub
Utilizando For
• Private Sub Button1_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button1.Click
• Dim N, I, SUMA As Integer
• N = TextBox1.Text
• For I = 1 to N
• SUMA = SUMA + I
• ListBox1.Items.Add(I)
• Next
• TextBox2.Text = SUMA
• End Sub
EJEMPLO 5

Leer 5 números correspondientes


a las notas de un estudiante
del curso e imprimirlas en pantalla
Inicio
I= 1
Diagrama de Flujo
no
I<=5
si
Leer Nota

Escribir Nota

I = I +1

Fin
EJERCICIOS PROPUESTOS
1.- Calcular la suma de:
1+ 1/(2!) + 1/(3!) + 1/(4!) + .... + 1/(n!)

para un N dado. Escriba el programa de tres


formas diferentes: usando While, Do Loop y For
Next.

2.- Introducir dos números por teclado. Imprimir


los números naturales que hay entre ambos
números empezando por el más pequeño, contar
cuantos hay y cuántos de ellos son pares. Calcular la
suma de los impares.
3. Escriba un programa que solicite al usuario un
número N y luego muestre por pantalla la siguiente
ejecución

También podría gustarte