6ta Estruc de Control Rep 2015A Copia

30
SEMANA 6 ESTRUCTURA REPETITIVAS

description

estructuras en visual basic 2010

Transcript of 6ta Estruc de Control Rep 2015A Copia

Page 1: 6ta Estruc de Control Rep 2015A Copia

SEMANA 6

ESTRUCTURA REPETITIVAS

Page 2: 6ta Estruc de Control Rep 2015A Copia

CICLO MIENTRASCICLO 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.

2.1.- Estructuras de ControlCiclo Mientras

Page 3: 6ta Estruc de Control Rep 2015A Copia

3

Estructuras de ControlIterativas (Mientras)

Diagrama de Flujo

Sentencia

condición

no

while (condición)

sentencia

End While

En Visual Basic

Page 4: 6ta Estruc de Control Rep 2015A Copia

TRADUCCION MIENTRAS PSEUDOCODIGOmientras <condición> hacer <bloque instrucciones> fin_mientras

Page 5: 6ta Estruc de Control Rep 2015A Copia

EJEMPLO 1

• Diseñe un programa que halle la suma de n términos de la siguiente serie:

1+6/5+11/9+16/13+……

Page 6: 6ta Estruc de Control Rep 2015A Copia

PseudocódigoVariables

X, Y, C, N: entero suma : RealLeer NSuma = 0: c = 0 : x = 1: y = 1Mientras C < N hacer

Suma = suma + X / Yx=x+5y=y+4c=c+1

Fin_mientrasEscribir (“La suma es:”, suma)FIN

Page 7: 6ta Estruc de Control Rep 2015A Copia
Page 8: 6ta Estruc de Control Rep 2015A Copia
Page 9: 6ta Estruc de Control Rep 2015A Copia

• Public Class Form1• Private Sub Button1_Click(ByVal sender As System.Object,

ByVal e As System.EventArgs) Handles Button1.Click• Dim C, X, Y As Integer• Dim suma As Double• X = 1• Y = 1• N = Textbox1.text• While C < N• suma = suma + X / Y• ListBox1.Items.Add(X & “ / “ & Y)• X = X + 5• Y = Y + 4• C = C + 1• End While• TextBox2.Text = suma• End Sub• End Class

Page 10: 6ta Estruc de Control Rep 2015A Copia

Leer un número entero N y calcular el resultado de la siguiente serie: 1 - 1/2 + 1/3 - 1/4+.... +/- 1/N.

EJEMPLO 2

Page 11: 6ta Estruc de Control Rep 2015A Copia

Dim Serie as DoubleDim I, N as IntegerDim Band as BooleanSerie = 0I = 1N = Textbox1.textBand = TrueWhile I < = N

If Band = True ThenSerie = Serie + ( 1 / I )Band = False

ElseSerie = Serie - ( 1 / I )Band = True

End ifI = I + 1

End WhileTextbox2.text = Serie End Sub

SoluciónSolución

Page 12: 6ta Estruc de Control Rep 2015A Copia

CICLO HAGA- MIENTRASCICLO HAGA- MIENTRAS

““Veo el arco iris Veo el arco iris

mientras llueve y hace solmientras llueve y hace sol””

En este ciclo la condición se evalúa después de ejecutar el bloque de instrucciones, por lo tanto, el bloque se ejecuta por lo menos una vez y se repite en caso que la evaluación de la condición sea verdadero.

2.2.- Estructuras de ControlIterativas(Haga – Mientras)

Page 13: 6ta Estruc de Control Rep 2015A Copia

13

Estructuras de ControlIterativas (Haga Mientras)

Sentencia

condición

No

Si

Diagrama de Flujo Do

sentencia

Loop while/Until(condición)

En Visual Basic

Do While/ Until (Condicion)

SentenciaLoop

Page 14: 6ta Estruc de Control Rep 2015A Copia

TRADUCCIÓN HAGA-MIENTRASPSEUDOCODIGOHaga <bloque instrucciones>Mientras / Hasta <condición>

Page 15: 6ta Estruc de Control Rep 2015A Copia

EJEMPLO 3

Page 16: 6ta Estruc de Control Rep 2015A Copia

PSEUDOCODIGOVariables

X, Y, N : entero Suma : Real

Suma = 0: x = 1: y = 2Haga

Suma=suma + (X / Y) x = x + 2

y = y + 3c = c + 1

Hasta C > 99Escribir (suma + 1)FIN

Page 17: 6ta Estruc de Control Rep 2015A Copia
Page 18: 6ta Estruc de Control Rep 2015A Copia
Page 19: 6ta Estruc de Control Rep 2015A Copia

• Public Class Form1• Private Sub Button1_Click(ByVal sender As System.Object,

ByVal e As System.EventArgs) Handles Button1.Click• Dim C, X, Y As Integer• Dim suma As Double• X = 1• Y = 2• Do• suma = suma + X / Y• ListBox1.Items.Add(X & “ / “ & Y)• X = X + 2• Y = Y + 3• C = C + 1• Loop Until C = 99• suma = suma + 1• TextBox1.Text = suma• End Sub• End Class

Page 20: 6ta Estruc de Control Rep 2015A Copia

CICLO PARACICLO PARA

  DIAGRAMA DE DIAGRAMA DE FLUJO FLUJO Visual basicVisual basic

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

[Step Incremento]          <bloque instrucciones>Next

para variable limite_inf,hasta limite_sup

<bloque de instrucciones>

ENTRADA

SALIDA

2.3.- Estructuras de ControlCiclo Para

Page 21: 6ta Estruc de Control Rep 2015A Copia

TRADUCCION PARAPSEUDOCODIGOPara (i = <lim_inf> hasta <lim_sup>)

[Incremento] hacer <bloque instrucciones>fin_para

Page 22: 6ta Estruc de Control Rep 2015A Copia

Realizar la suma de los númerosRealizar la suma de los númerosdel 1 hasta el N e imprimirla en del 1 hasta el N e imprimirla en

pantallapantalla

EJEMPLO 4

Suma = 1 + 2 + 3 + 4 +………+N

Page 23: 6ta Estruc de Control Rep 2015A Copia

SoluciónSolución(Diagrama de Flujo)(Diagrama de Flujo)INICIO

Leer N

suma 0

suma suma + i

escribirsuma

FIN

para i 1, hasta N =

=

=

Page 24: 6ta Estruc de Control Rep 2015A Copia

suma, n, i: enterosuma, n, i: enterosuma = 0suma = 0leerleer nnparapara i = 1i = 1 hastahasta nn hacerhacer suma = suma + isuma = suma + ifin_parafin_paraescribir sumaescribir suma

X

MemoriaMemoria

??? S

xxxxxx xxxxxx

SolucionSolucion

suma i n suma i n xxxxxx

66

00 11 3311 2233 3366 44

ProgramaPrograma(pseudocódigo)(pseudocódigo)

Page 25: 6ta Estruc de Control Rep 2015A Copia

FORMULARIO

Page 26: 6ta Estruc de Control Rep 2015A Copia

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

Page 27: 6ta Estruc de Control Rep 2015A Copia

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 While

Page 28: 6ta Estruc de Control Rep 2015A Copia

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

Page 29: 6ta Estruc de Control Rep 2015A Copia

1. Hacer un diagrama de flujo 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 cero como digito par.

2. Hacer un diagrama de flujo, que muestre por pantalla todos los números de 4 cifras que cumplan con la condición de que la suma de las cifras pares es igual a la suma de las cifras impares. Muestre también la cantidad de números encontrados.

EJERCICIOS PROPUESTOSEJERCICIOS PROPUESTOS

Page 30: 6ta Estruc de Control Rep 2015A Copia

3. Realizar un programa en Visual Basic, que permita determinar la suma de las cifras de un numero de 3 dígitos. El programa deberá indicar el mensaje “numero fuera de rango” cuando en numero no tenga 3 dígitos