SlideShare una empresa de Scribd logo
1 de 6
Descargar para leer sin conexión
© 2006-2029 aprenderaprogramar.com 
aprenderaprogramar.com 
29 
Bucles For Next Step, Do While 
Loop, Do Loop While (Estructuras 
de repetición en Visual Basic) 
(CU00326A) 
Sección: Cursos 
Categoría: Curso Visual Basic Nivel I 
Fecha revisión: 2029 
Autor: Mario R. Rancel 
Resumen: Entrega nº25 del Curso Visual Basic Nivel I
Bucles For Next Step, Do While Loop, Do Loop While en Visual Basic. 
ESTRUCTURAS DE REPETICIÓN (BUCLES) CON VISUAL BASIC 
Vamos a ver cómo materializar con Visual Basic estructuras de repetición que permitirán que en 
nuestros programas se realice un proceso n veces. En concreto veremos las instrucciones Desde … 
Siguiente (For … Next) con su cláusula Paso (Step), la instrucción Mientras … Hacer (Do While … Loop) 
y la instrucción Hacer … Repetir Mientras (Do … Loop While). Muchas veces podremos optar 
indistintamente por usar una instrucción u otra. En otros casos, es recomendable decantarse por una 
de ellas por hacer el programa más legible o sencillo que usando otras opciones. 
INSTRUCCIÓN DESDE ... SIGUIENTE (FOR ... NEXT) Y CLÁUSULA PASO (STEP) 
La sintaxis a emplear con Visual Basic es la siguiente: 
© 2006-2029 aprenderaprogramar.com 
For VAR = Vi To Vf 
Instrucción 1 
Instrucción 2 
· 
· 
· 
Instrucción n 
Next VAR 
El incremento que sufre el contador es, por defecto, unitario. Es decir, el primer valor que toma VAR 
en el bucle será Vi, el segundo Vi + 1, el tercero (Vi + 1) + 1, etc. La modificación de dicho valor de 
incremento la realizaremos a través de la cláusula Step después del valor Vf. Step 2 implicará que en 
cada repetición del bucle el contador se incremente en dos unidades, Step 5 implicará que en cada 
repetición del bucle el contador se incremente en cinco unidades. Un paso negativo del tipo Step -1 
supone que el contador decrece en vez de incrementarse. Si el paso es negativo, Vi necesariamente 
habrá de ser mayor que Vf, ya que en caso contrario no se producirá la entrada en el bucle. 
Con este código se nos muestra en pantalla 3 veces hola (se ha invertido el sentido del bucle): 
Código (versiones menos recientes VB): Código (versiones más recientes VB): 
Rem Curso Visual Basic aprenderaprogramar.com 
Option Explicit 
Dim VAR As Integer 
Dim Vi As Integer 
Dim Vf As Integer 
Private Sub Form_Load() 
Vi = 1 
Vf = 3 
For VAR = Vf To Vi Step –1 
'[También supondría tres repeticiones For 
VAR = Vi to Vf] 
MsgBox ("hola") 
Next VAR 
End Sub 
REM Curso Visual Basic aprenderaprogramar.com 
Option Explicit On 
Public Class Form1 
Private Sub Form1_Load(ByVal sender As 
System.Object, ByVal e As System.EventArgs) 
Handles MyBase.Load 
Dim VAR As Integer 
Dim Vi As Integer 
Dim Vf As Integer 
Vi = 1 
Vf = 3 
For VAR = Vf To Vi Step -1 
'[También supondría tres repeticiones 
For VAR = Vi to Vf] 
MsgBox("hola") 
Next VAR 
End Sub 
End Class
Bucles For Next Step, Do While Loop, Do Loop While en Visual Basic. 
Con Visual Basic resulta admisible usar Next sin indicar la variable que está sirviendo de guía del 
bucle, pues todo bucle ha de tener un cierre. Sin embargo, no lo creemos recomendable pues puede 
dificultar la lectura y depuración de los programas. 
La instrucción For ... Next es anidable dentro de sí misma o dentro de otros tipos de bucles o 
estructuras, debiendo seguir las pautas que ya hemos comentado. 
EJERCICIO 
Transformar en código el siguiente planteamiento: queremos generar un programa que pida un 
número del 1 al 10 y nos muestre la “tabla de multiplicar” correspondiente. 
SOLUCIÓN 
Hemos realizado la pregunta relativa al número cuya tabla se desea conocer utilizando un InputBox. 
Igualmente válido hubiera sido hacerlo con un Label contenedor de la pregunta y un TextBox donde 
el usuario introduce la información. La tabla la mostramos sobre un Label denominado LabelTabla. 
Código (versiones menos recientes VB): Código (versiones más recientes VB): 
Rem Curso Visual Basic aprenderaprogramar.com 
Option Explicit 
Dim T As Integer 
Dim i As Integer 
Private Sub Form_Load() 
Form1.Caption = "Tabla" 
T = Val(InputBox("¿Qué tabla quiere conocer?" & 
vbCrLf & _ 
"(Introduzca un número de 1 a 10)", "¿Número?")) 
LabelTabla.FontBold = True 
LabelTabla.Alignment = 2 
LabelTabla = "TABLA DEL " & T & vbCrLf & 
vbCrLf 
For i = 1 To 10 
LabelTabla = LabelTabla & T & " * " & i & " = " 
& T * i & vbCrLf 
Next i 
End Sub 
© 2006-2029 aprenderaprogramar.com 
REM Curso Visual Basic aprenderaprogramar.com 
Option Explicit On 
Public Class Form1 
Dim T As Integer 
Dim i As Integer 
Private Sub Form1_Load(ByVal sender As 
System.Object, ByVal e As System.EventArgs) 
Handles MyBase.Load 
Me.Text = "Tabla" 
T = Val(InputBox("¿Qué tabla quiere 
conocer?" & vbCrLf & _ 
"(Introduzca un número de 1 a 10)", "¿Número?")) 
LabelTabla.Font = New Font("Arial", 10, 
FontStyle.Bold) 
LabelTabla.TextAlign = ContentAlignment.MiddleCenter 
LabelTabla.Text = "TABLA DEL " & T & vbCrLf & 
vbCrLf 
For i = 1 To 10 
LabelTabla.Text = LabelTabla.Text & T & 
" * " & i & " = " & T * i & vbCrLf 
Next i 
End Sub 
End Class
Bucles For Next Step, Do While Loop, Do Loop While en Visual Basic. 
Gráficamente: 
EJERCICIO 
Transformar en código el siguiente planteamiento: queremos generar un programa que muestre 
todos los enteros comprendidos entre un número definido por el usuario y 100. 
SOLUCIÓN 
Código (versiones menos recientes VB): Código (versiones más recientes VB): 
Rem Curso Visual Basic aprenderaprogramar.com 
Option Explicit 
Dim Num As Integer 
Dim i As Integer 
Private Sub Form_Load() 
Form1.Caption = "Enteros" 
Num = Val(InputBox("Introduzca un número 
entero comprendido entre 1 y 99", "¿Número?")) 
LabelTabla.Alignment = 2 
LabelTabla.FontBold = True 
LabelTabla = "ENTEROS ENTRE " & Num & " y 
100" & vbCrLf & vbCrLf 
For i = Num To 100 
LabelTabla = LabelTabla & i & " " 
Next i 
End Sub 
© 2006-2029 aprenderaprogramar.com 
REM Curso Visual Basic aprenderaprogramar.com 
Option Explicit On 
Public Class Form1 
Private Sub Form1_Load(ByVal sender As 
System.Object, ByVal e As System.EventArgs) 
Handles MyBase.Load 
Dim Num As Integer 
Dim i As Integer 
Me.Text = "Enteros" 
Num = Val(InputBox("Introduzca un número 
entero comprendido entre 1 y 99", "¿Número?")) 
LabelTabla.TextAlign = 
ContentAlignment.MiddleCenter 
LabelTabla.Font = New Font("Arial", 10, 
FontStyle.Bold) 
LabelTabla.Text = "ENTEROS ENTRE " & Num 
& " y 100" & vbCrLf & vbCrLf 
For i = Num To 100 
LabelTabla.Text = LabelTabla.Text & i 
& " " 
Next i 
End Sub 
End Class
Bucles For Next Step, Do While Loop, Do Loop While en Visual Basic. 
Gráficamente: 
INSTRUCCIÓN MIENTRAS ... HACER (DO WHILE ... LOOP) 
La sintaxis que hemos de seguir es la siguiente: 
© 2006-2029 aprenderaprogramar.com 
Do While [condición] 
Instrucción 1 
Instrucción 2 
. 
. 
. 
Instrucción n 
Loop 
Las instrucciones tipo Do While son anidables dentro de sí mismas o dentro de otras estructuras. Es 
importante verificar que los bucles diseñados con esta instrucción dispongan de una condición de 
salida válida. 
Ejemplo: k = 0: Do while k < 5. Dentro del bucle tendremos que incrementar el valor de k, k = k +1.
Bucles For Next Step, Do While Loop, Do Loop While en Visual Basic. 
INSTRUCCIÓN HACER ... REPETIR MIENTRAS (DO ... LOOP WHILE) 
La sintaxis a utilizar es: 
© 2006-2029 aprenderaprogramar.com 
Do 
Instrucción 1 
Instrucción 2 
. 
. 
. 
Instrucción n 
Loop While [condición] 
Un Do ... Loop While es anidable dentro de sí mismo o dentro de otras estructuras. Es importante 
verificar que los bucles diseñados con esta instrucción dispongan de una condición de salida válida. 
Ejemplo: 
Do 
LabelTabla.Text = LabelTabla.Text & "Iteración " & k & vbCrLf 
k = k + 1 
Loop While k <= 5 
Visual Basic admite además de la cláusula While, usar el término Until, como equivalente 
a "hasta que se cumpla que". Así Loop Until i >= 3 significaría "Repetir hasta que i sea mayor 
o igual que 3". En un bucle en el que i parte de un valor cero y se incrementa unitariamente Do While i < 3 
sería equivalente a Do Until i >= 3, y Loop Until i >= 3 sería equivalente a Loop While i < 3. Dado que 
podemos valernos de equivalencias, puede evitar confundirnos el usar preferentemente un mismo tipo 
de expresión, sabiendo que disponemos de otra equivalente. 
Próxima entrega: CU00327A 
Acceso al curso completo en aprenderaprogramar.com -- > Cursos, o en la dirección siguiente: 
http://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=37&Itemid=61

Más contenido relacionado

La actualidad más candente

Como insertar una imagen en eclipse java
Como insertar una imagen en eclipse javaComo insertar una imagen en eclipse java
Como insertar una imagen en eclipse javaJosué Naquid
 
Ejercicios resueltos de sql
Ejercicios resueltos de sqlEjercicios resueltos de sql
Ejercicios resueltos de sqlJulian Benavidez
 
CONEXION A BASE DE DATOS - VISUAL BASIC 6.0
CONEXION A BASE DE DATOS - VISUAL BASIC 6.0 CONEXION A BASE DE DATOS - VISUAL BASIC 6.0
CONEXION A BASE DE DATOS - VISUAL BASIC 6.0 Ambar Larrazabal
 
Programa en java con el Metodo de la burbuja
Programa en java con el Metodo de la burbujaPrograma en java con el Metodo de la burbuja
Programa en java con el Metodo de la burbujaLupitaOMG Garmendia
 
Ejercicios resueltos de borland c++
Ejercicios resueltos de borland c++Ejercicios resueltos de borland c++
Ejercicios resueltos de borland c++JoseGCordero
 
Algoritmos 50 ejemplos
Algoritmos 50 ejemplosAlgoritmos 50 ejemplos
Algoritmos 50 ejemplosenyol
 
Ciclo for en visual basic
Ciclo for en visual basicCiclo for en visual basic
Ciclo for en visual basicDenisse C
 
Tablas de multiplicar en diagrama de flujo
Tablas de multiplicar en diagrama de flujoTablas de multiplicar en diagrama de flujo
Tablas de multiplicar en diagrama de flujoDiana Florez
 
If then o if then else
If then o if then elseIf then o if then else
If then o if then elselaura cortez
 
Lenguajes de programación y framework más utilizados por alumnos de la carre...
Lenguajes de programación y framework más utilizados por alumnos  de la carre...Lenguajes de programación y framework más utilizados por alumnos  de la carre...
Lenguajes de programación y framework más utilizados por alumnos de la carre...Edwin Roy Casas Huamanta
 
Ordenamiento burbuja
Ordenamiento burbujaOrdenamiento burbuja
Ordenamiento burbujaOscar Mora
 

La actualidad más candente (20)

Condicionales
CondicionalesCondicionales
Condicionales
 
Como insertar una imagen en eclipse java
Como insertar una imagen en eclipse javaComo insertar una imagen en eclipse java
Como insertar una imagen en eclipse java
 
Ejercicios resueltos de sql
Ejercicios resueltos de sqlEjercicios resueltos de sql
Ejercicios resueltos de sql
 
CONEXION A BASE DE DATOS - VISUAL BASIC 6.0
CONEXION A BASE DE DATOS - VISUAL BASIC 6.0 CONEXION A BASE DE DATOS - VISUAL BASIC 6.0
CONEXION A BASE DE DATOS - VISUAL BASIC 6.0
 
Programa en java con el Metodo de la burbuja
Programa en java con el Metodo de la burbujaPrograma en java con el Metodo de la burbuja
Programa en java con el Metodo de la burbuja
 
Ejercicios resueltos de borland c++
Ejercicios resueltos de borland c++Ejercicios resueltos de borland c++
Ejercicios resueltos de borland c++
 
Algoritmos 50 ejemplos
Algoritmos 50 ejemplosAlgoritmos 50 ejemplos
Algoritmos 50 ejemplos
 
ejercicios-pascal
ejercicios-pascalejercicios-pascal
ejercicios-pascal
 
Lista circulares doblemente enlazadas
Lista circulares doblemente enlazadasLista circulares doblemente enlazadas
Lista circulares doblemente enlazadas
 
Ciclo for en visual basic
Ciclo for en visual basicCiclo for en visual basic
Ciclo for en visual basic
 
Interfaces .net
Interfaces .netInterfaces .net
Interfaces .net
 
Tablas de multiplicar en diagrama de flujo
Tablas de multiplicar en diagrama de flujoTablas de multiplicar en diagrama de flujo
Tablas de multiplicar en diagrama de flujo
 
Mod 2 algoritmos
Mod 2 algoritmosMod 2 algoritmos
Mod 2 algoritmos
 
Practca#1 2210
Practca#1 2210 Practca#1 2210
Practca#1 2210
 
Entorno de visual studio
Entorno de visual studioEntorno de visual studio
Entorno de visual studio
 
If then o if then else
If then o if then elseIf then o if then else
If then o if then else
 
Node js mongo crud tareas
Node js mongo crud tareasNode js mongo crud tareas
Node js mongo crud tareas
 
Class and object
Class and objectClass and object
Class and object
 
Lenguajes de programación y framework más utilizados por alumnos de la carre...
Lenguajes de programación y framework más utilizados por alumnos  de la carre...Lenguajes de programación y framework más utilizados por alumnos  de la carre...
Lenguajes de programación y framework más utilizados por alumnos de la carre...
 
Ordenamiento burbuja
Ordenamiento burbujaOrdenamiento burbuja
Ordenamiento burbuja
 

Destacado

Si Mposium 2006 Speaker Power Point Dr Graham R Smith
Si Mposium 2006 Speaker Power Point Dr Graham R SmithSi Mposium 2006 Speaker Power Point Dr Graham R Smith
Si Mposium 2006 Speaker Power Point Dr Graham R SmithGraham Smith PhD
 
Wiki - eine Einführung
Wiki  - eine EinführungWiki  - eine Einführung
Wiki - eine Einführungkjakob
 
Halloween Costume Ideas
Halloween Costume IdeasHalloween Costume Ideas
Halloween Costume IdeasSophie & Trey
 
Webinar ¿Cuáles son las claves para aumentar la conversión online en 2015?
Webinar ¿Cuáles son las claves para aumentar la conversión online en 2015?Webinar ¿Cuáles son las claves para aumentar la conversión online en 2015?
Webinar ¿Cuáles son las claves para aumentar la conversión online en 2015?Marcos Pueyrredon
 
Bitácoras de tecnolab
Bitácoras de tecnolab Bitácoras de tecnolab
Bitácoras de tecnolab Sebasvz1903
 
Campaña " Froita Fresca " nas escolas
Campaña " Froita Fresca " nas escolasCampaña " Froita Fresca " nas escolas
Campaña " Froita Fresca " nas escolasemiliadolores
 
Oasis Salon Before and After
Oasis Salon Before and AfterOasis Salon Before and After
Oasis Salon Before and Aftertheoasissalon
 
Borang individu kwapm spk bil5 2012
Borang individu kwapm spk bil5 2012Borang individu kwapm spk bil5 2012
Borang individu kwapm spk bil5 2012ahmad shahrunnizar
 
01 solutions _electrolytes__protolytic_equilibria
01 solutions _electrolytes__protolytic_equilibria01 solutions _electrolytes__protolytic_equilibria
01 solutions _electrolytes__protolytic_equilibriaMUBOSScz
 
Tehn pred elektricitet i magnetizam
Tehn pred elektricitet i magnetizamTehn pred elektricitet i magnetizam
Tehn pred elektricitet i magnetizamsmail hondo
 

Destacado (17)

Si Mposium 2006 Speaker Power Point Dr Graham R Smith
Si Mposium 2006 Speaker Power Point Dr Graham R SmithSi Mposium 2006 Speaker Power Point Dr Graham R Smith
Si Mposium 2006 Speaker Power Point Dr Graham R Smith
 
Venu.vic
Venu.vicVenu.vic
Venu.vic
 
Wiki - eine Einführung
Wiki  - eine EinführungWiki  - eine Einführung
Wiki - eine Einführung
 
Diana, entre el ser madre y el buen obrar
Diana, entre el ser madre y el buen obrarDiana, entre el ser madre y el buen obrar
Diana, entre el ser madre y el buen obrar
 
Europa
EuropaEuropa
Europa
 
Halloween Costume Ideas
Halloween Costume IdeasHalloween Costume Ideas
Halloween Costume Ideas
 
Folleto informativo II Congreso EECN 2014
Folleto informativo II Congreso EECN 2014Folleto informativo II Congreso EECN 2014
Folleto informativo II Congreso EECN 2014
 
Pitea v2
Pitea v2Pitea v2
Pitea v2
 
Webinar ¿Cuáles son las claves para aumentar la conversión online en 2015?
Webinar ¿Cuáles son las claves para aumentar la conversión online en 2015?Webinar ¿Cuáles son las claves para aumentar la conversión online en 2015?
Webinar ¿Cuáles son las claves para aumentar la conversión online en 2015?
 
Bitácoras de tecnolab
Bitácoras de tecnolab Bitácoras de tecnolab
Bitácoras de tecnolab
 
Campaña " Froita Fresca " nas escolas
Campaña " Froita Fresca " nas escolasCampaña " Froita Fresca " nas escolas
Campaña " Froita Fresca " nas escolas
 
Oasis Salon Before and After
Oasis Salon Before and AfterOasis Salon Before and After
Oasis Salon Before and After
 
Borang individu kwapm spk bil5 2012
Borang individu kwapm spk bil5 2012Borang individu kwapm spk bil5 2012
Borang individu kwapm spk bil5 2012
 
01 solutions _electrolytes__protolytic_equilibria
01 solutions _electrolytes__protolytic_equilibria01 solutions _electrolytes__protolytic_equilibria
01 solutions _electrolytes__protolytic_equilibria
 
Examen Practico 2do 1
Examen Practico 2do 1Examen Practico 2do 1
Examen Practico 2do 1
 
Tehn pred elektricitet i magnetizam
Tehn pred elektricitet i magnetizamTehn pred elektricitet i magnetizam
Tehn pred elektricitet i magnetizam
 
Ricardo hirata 20110218
Ricardo hirata 20110218Ricardo hirata 20110218
Ricardo hirata 20110218
 

Similar a Bucles for next step do while loop loop while visual basic ejemplo

TEMA Nº 7: SENTENCIAS DE CONTROL DE FLUJO EN JAVA II
TEMA Nº 7: SENTENCIAS DE CONTROL DE FLUJO EN JAVA IITEMA Nº 7: SENTENCIAS DE CONTROL DE FLUJO EN JAVA II
TEMA Nº 7: SENTENCIAS DE CONTROL DE FLUJO EN JAVA IIAnyeni Garay
 
Cuaderno de ejercicios y practicas vistual basic
Cuaderno de ejercicios y practicas vistual basicCuaderno de ejercicios y practicas vistual basic
Cuaderno de ejercicios y practicas vistual basicOmar Valero Guerra
 
Sentencias de Programacion
Sentencias de ProgramacionSentencias de Programacion
Sentencias de Programacionaeroscar90
 
Guiaunidad iii
Guiaunidad iiiGuiaunidad iii
Guiaunidad iiimayral
 
Visual Basic
Visual  BasicVisual  Basic
Visual BasicBenedeti
 
Tutorial funciones básicas Matlab
Tutorial funciones básicas MatlabTutorial funciones básicas Matlab
Tutorial funciones básicas Matlabkariitoorttega
 
Android+Kotlin - Meetup 12 de Octubre del 2017 Buenos Aires Argentina
Android+Kotlin - Meetup 12 de Octubre del 2017 Buenos Aires ArgentinaAndroid+Kotlin - Meetup 12 de Octubre del 2017 Buenos Aires Argentina
Android+Kotlin - Meetup 12 de Octubre del 2017 Buenos Aires ArgentinaPablo Veliz
 
Ejemplos de pseudocódigo
Ejemplos de pseudocódigoEjemplos de pseudocódigo
Ejemplos de pseudocódigoLiliana Nieto
 
Presentación de matlab electromagnetismo ...
Presentación de matlab electromagnetismo                                     ...Presentación de matlab electromagnetismo                                     ...
Presentación de matlab electromagnetismo ...SimonCaceres4
 
Manualdeusuarioslideshare sldo. acosta william
Manualdeusuarioslideshare sldo. acosta williamManualdeusuarioslideshare sldo. acosta william
Manualdeusuarioslideshare sldo. acosta williamacostaw1991
 
Manualdeusuarioslideshare sldo. acosta william
Manualdeusuarioslideshare sldo. acosta williamManualdeusuarioslideshare sldo. acosta william
Manualdeusuarioslideshare sldo. acosta williamacostaw1991
 

Similar a Bucles for next step do while loop loop while visual basic ejemplo (20)

TEMA Nº 7: SENTENCIAS DE CONTROL DE FLUJO EN JAVA II
TEMA Nº 7: SENTENCIAS DE CONTROL DE FLUJO EN JAVA IITEMA Nº 7: SENTENCIAS DE CONTROL DE FLUJO EN JAVA II
TEMA Nº 7: SENTENCIAS DE CONTROL DE FLUJO EN JAVA II
 
Cuaderno de ejercicios y practicas vistual basic
Cuaderno de ejercicios y practicas vistual basicCuaderno de ejercicios y practicas vistual basic
Cuaderno de ejercicios y practicas vistual basic
 
Variables en Visual Basic 6.0
Variables en Visual Basic 6.0Variables en Visual Basic 6.0
Variables en Visual Basic 6.0
 
Primeros Ejemplos Usando Operadores en Visual C# (C Sharp)
Primeros Ejemplos Usando Operadores en Visual C# (C Sharp)Primeros Ejemplos Usando Operadores en Visual C# (C Sharp)
Primeros Ejemplos Usando Operadores en Visual C# (C Sharp)
 
Sentencias de Programacion
Sentencias de ProgramacionSentencias de Programacion
Sentencias de Programacion
 
Los lenguajes
Los lenguajesLos lenguajes
Los lenguajes
 
Guiaunidad iii
Guiaunidad iiiGuiaunidad iii
Guiaunidad iii
 
Excel y visual basic
Excel y visual basicExcel y visual basic
Excel y visual basic
 
Visual Basic
Visual  BasicVisual  Basic
Visual Basic
 
Tutorial funciones básicas Matlab
Tutorial funciones básicas MatlabTutorial funciones básicas Matlab
Tutorial funciones básicas Matlab
 
Nociones De Vba
Nociones De VbaNociones De Vba
Nociones De Vba
 
Matlab_basic.pptx
Matlab_basic.pptxMatlab_basic.pptx
Matlab_basic.pptx
 
Android+Kotlin - Meetup 12 de Octubre del 2017 Buenos Aires Argentina
Android+Kotlin - Meetup 12 de Octubre del 2017 Buenos Aires ArgentinaAndroid+Kotlin - Meetup 12 de Octubre del 2017 Buenos Aires Argentina
Android+Kotlin - Meetup 12 de Octubre del 2017 Buenos Aires Argentina
 
Ejemplos de pseudocódigo
Ejemplos de pseudocódigoEjemplos de pseudocódigo
Ejemplos de pseudocódigo
 
Presentación de matlab electromagnetismo ...
Presentación de matlab electromagnetismo                                     ...Presentación de matlab electromagnetismo                                     ...
Presentación de matlab electromagnetismo ...
 
8
88
8
 
8
88
8
 
Macros en Excel PT. 2
Macros en Excel PT. 2Macros en Excel PT. 2
Macros en Excel PT. 2
 
Manualdeusuarioslideshare sldo. acosta william
Manualdeusuarioslideshare sldo. acosta williamManualdeusuarioslideshare sldo. acosta william
Manualdeusuarioslideshare sldo. acosta william
 
Manualdeusuarioslideshare sldo. acosta william
Manualdeusuarioslideshare sldo. acosta williamManualdeusuarioslideshare sldo. acosta william
Manualdeusuarioslideshare sldo. acosta william
 

Bucles for next step do while loop loop while visual basic ejemplo

  • 1. © 2006-2029 aprenderaprogramar.com aprenderaprogramar.com 29 Bucles For Next Step, Do While Loop, Do Loop While (Estructuras de repetición en Visual Basic) (CU00326A) Sección: Cursos Categoría: Curso Visual Basic Nivel I Fecha revisión: 2029 Autor: Mario R. Rancel Resumen: Entrega nº25 del Curso Visual Basic Nivel I
  • 2. Bucles For Next Step, Do While Loop, Do Loop While en Visual Basic. ESTRUCTURAS DE REPETICIÓN (BUCLES) CON VISUAL BASIC Vamos a ver cómo materializar con Visual Basic estructuras de repetición que permitirán que en nuestros programas se realice un proceso n veces. En concreto veremos las instrucciones Desde … Siguiente (For … Next) con su cláusula Paso (Step), la instrucción Mientras … Hacer (Do While … Loop) y la instrucción Hacer … Repetir Mientras (Do … Loop While). Muchas veces podremos optar indistintamente por usar una instrucción u otra. En otros casos, es recomendable decantarse por una de ellas por hacer el programa más legible o sencillo que usando otras opciones. INSTRUCCIÓN DESDE ... SIGUIENTE (FOR ... NEXT) Y CLÁUSULA PASO (STEP) La sintaxis a emplear con Visual Basic es la siguiente: © 2006-2029 aprenderaprogramar.com For VAR = Vi To Vf Instrucción 1 Instrucción 2 · · · Instrucción n Next VAR El incremento que sufre el contador es, por defecto, unitario. Es decir, el primer valor que toma VAR en el bucle será Vi, el segundo Vi + 1, el tercero (Vi + 1) + 1, etc. La modificación de dicho valor de incremento la realizaremos a través de la cláusula Step después del valor Vf. Step 2 implicará que en cada repetición del bucle el contador se incremente en dos unidades, Step 5 implicará que en cada repetición del bucle el contador se incremente en cinco unidades. Un paso negativo del tipo Step -1 supone que el contador decrece en vez de incrementarse. Si el paso es negativo, Vi necesariamente habrá de ser mayor que Vf, ya que en caso contrario no se producirá la entrada en el bucle. Con este código se nos muestra en pantalla 3 veces hola (se ha invertido el sentido del bucle): Código (versiones menos recientes VB): Código (versiones más recientes VB): Rem Curso Visual Basic aprenderaprogramar.com Option Explicit Dim VAR As Integer Dim Vi As Integer Dim Vf As Integer Private Sub Form_Load() Vi = 1 Vf = 3 For VAR = Vf To Vi Step –1 '[También supondría tres repeticiones For VAR = Vi to Vf] MsgBox ("hola") Next VAR End Sub REM Curso Visual Basic aprenderaprogramar.com Option Explicit On Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim VAR As Integer Dim Vi As Integer Dim Vf As Integer Vi = 1 Vf = 3 For VAR = Vf To Vi Step -1 '[También supondría tres repeticiones For VAR = Vi to Vf] MsgBox("hola") Next VAR End Sub End Class
  • 3. Bucles For Next Step, Do While Loop, Do Loop While en Visual Basic. Con Visual Basic resulta admisible usar Next sin indicar la variable que está sirviendo de guía del bucle, pues todo bucle ha de tener un cierre. Sin embargo, no lo creemos recomendable pues puede dificultar la lectura y depuración de los programas. La instrucción For ... Next es anidable dentro de sí misma o dentro de otros tipos de bucles o estructuras, debiendo seguir las pautas que ya hemos comentado. EJERCICIO Transformar en código el siguiente planteamiento: queremos generar un programa que pida un número del 1 al 10 y nos muestre la “tabla de multiplicar” correspondiente. SOLUCIÓN Hemos realizado la pregunta relativa al número cuya tabla se desea conocer utilizando un InputBox. Igualmente válido hubiera sido hacerlo con un Label contenedor de la pregunta y un TextBox donde el usuario introduce la información. La tabla la mostramos sobre un Label denominado LabelTabla. Código (versiones menos recientes VB): Código (versiones más recientes VB): Rem Curso Visual Basic aprenderaprogramar.com Option Explicit Dim T As Integer Dim i As Integer Private Sub Form_Load() Form1.Caption = "Tabla" T = Val(InputBox("¿Qué tabla quiere conocer?" & vbCrLf & _ "(Introduzca un número de 1 a 10)", "¿Número?")) LabelTabla.FontBold = True LabelTabla.Alignment = 2 LabelTabla = "TABLA DEL " & T & vbCrLf & vbCrLf For i = 1 To 10 LabelTabla = LabelTabla & T & " * " & i & " = " & T * i & vbCrLf Next i End Sub © 2006-2029 aprenderaprogramar.com REM Curso Visual Basic aprenderaprogramar.com Option Explicit On Public Class Form1 Dim T As Integer Dim i As Integer Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.Text = "Tabla" T = Val(InputBox("¿Qué tabla quiere conocer?" & vbCrLf & _ "(Introduzca un número de 1 a 10)", "¿Número?")) LabelTabla.Font = New Font("Arial", 10, FontStyle.Bold) LabelTabla.TextAlign = ContentAlignment.MiddleCenter LabelTabla.Text = "TABLA DEL " & T & vbCrLf & vbCrLf For i = 1 To 10 LabelTabla.Text = LabelTabla.Text & T & " * " & i & " = " & T * i & vbCrLf Next i End Sub End Class
  • 4. Bucles For Next Step, Do While Loop, Do Loop While en Visual Basic. Gráficamente: EJERCICIO Transformar en código el siguiente planteamiento: queremos generar un programa que muestre todos los enteros comprendidos entre un número definido por el usuario y 100. SOLUCIÓN Código (versiones menos recientes VB): Código (versiones más recientes VB): Rem Curso Visual Basic aprenderaprogramar.com Option Explicit Dim Num As Integer Dim i As Integer Private Sub Form_Load() Form1.Caption = "Enteros" Num = Val(InputBox("Introduzca un número entero comprendido entre 1 y 99", "¿Número?")) LabelTabla.Alignment = 2 LabelTabla.FontBold = True LabelTabla = "ENTEROS ENTRE " & Num & " y 100" & vbCrLf & vbCrLf For i = Num To 100 LabelTabla = LabelTabla & i & " " Next i End Sub © 2006-2029 aprenderaprogramar.com REM Curso Visual Basic aprenderaprogramar.com Option Explicit On Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim Num As Integer Dim i As Integer Me.Text = "Enteros" Num = Val(InputBox("Introduzca un número entero comprendido entre 1 y 99", "¿Número?")) LabelTabla.TextAlign = ContentAlignment.MiddleCenter LabelTabla.Font = New Font("Arial", 10, FontStyle.Bold) LabelTabla.Text = "ENTEROS ENTRE " & Num & " y 100" & vbCrLf & vbCrLf For i = Num To 100 LabelTabla.Text = LabelTabla.Text & i & " " Next i End Sub End Class
  • 5. Bucles For Next Step, Do While Loop, Do Loop While en Visual Basic. Gráficamente: INSTRUCCIÓN MIENTRAS ... HACER (DO WHILE ... LOOP) La sintaxis que hemos de seguir es la siguiente: © 2006-2029 aprenderaprogramar.com Do While [condición] Instrucción 1 Instrucción 2 . . . Instrucción n Loop Las instrucciones tipo Do While son anidables dentro de sí mismas o dentro de otras estructuras. Es importante verificar que los bucles diseñados con esta instrucción dispongan de una condición de salida válida. Ejemplo: k = 0: Do while k < 5. Dentro del bucle tendremos que incrementar el valor de k, k = k +1.
  • 6. Bucles For Next Step, Do While Loop, Do Loop While en Visual Basic. INSTRUCCIÓN HACER ... REPETIR MIENTRAS (DO ... LOOP WHILE) La sintaxis a utilizar es: © 2006-2029 aprenderaprogramar.com Do Instrucción 1 Instrucción 2 . . . Instrucción n Loop While [condición] Un Do ... Loop While es anidable dentro de sí mismo o dentro de otras estructuras. Es importante verificar que los bucles diseñados con esta instrucción dispongan de una condición de salida válida. Ejemplo: Do LabelTabla.Text = LabelTabla.Text & "Iteración " & k & vbCrLf k = k + 1 Loop While k <= 5 Visual Basic admite además de la cláusula While, usar el término Until, como equivalente a "hasta que se cumpla que". Así Loop Until i >= 3 significaría "Repetir hasta que i sea mayor o igual que 3". En un bucle en el que i parte de un valor cero y se incrementa unitariamente Do While i < 3 sería equivalente a Do Until i >= 3, y Loop Until i >= 3 sería equivalente a Loop While i < 3. Dado que podemos valernos de equivalencias, puede evitar confundirnos el usar preferentemente un mismo tipo de expresión, sabiendo que disponemos de otra equivalente. Próxima entrega: CU00327A Acceso al curso completo en aprenderaprogramar.com -- > Cursos, o en la dirección siguiente: http://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=37&Itemid=61