You are on page 1of 34

Universidad Nacional Abierta y a Distancia UNAD - Vicerrectora Acadmica y de Investigacin - VIACI

Escuela: Ciencias Bsicas, Tecnologa e Ingeniera Programa: Ingeniera de Sistemas


Curso: Visual Basic Bsico Cdigo: 201416

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA

VISUAL BASIC BASICO


JAIME RUBIANO LLORENTE

COLOMBIA
2017
Universidad Nacional Abierta y a Distancia UNAD - Vicerrectora Acadmica y de Investigacin - VIACI
Escuela: Ciencias Bsicas, Tecnologa e Ingeniera Programa: Ingeniera de Sistemas
Curso: Visual Basic Bsico Cdigo: 201416

EVALUACIN DIAGNSTICA UNIDAD 2

Una vez reconocidos y aplicados los conceptos bsicos, el entorno de trabajo y las
herramientas de desarrollo de Visual Bsico, es necesario que el estudiante se prepare
para conocer los conceptos de programacin y sus estructuras, y se cuestione sobre lo
que conoce del tema que va a abordar. Para ello, es importante que se d respuesta a
las siguientes preguntas antes de entrar en materia.

Cules son las caractersticas de un condicional simple?

Cules son las caractersticas de un condicional anidado?

Cules son las caractersticas de un ciclo for y su funcionamiento?

Qu diferencias encuentra ente una estructura de seleccin y una de iteracin?

Qu significa el termino While?

Conoce la diferencia entre While y Do While?

Defina con sus palabras lo que cree que es un ciclo for

Dando respuesta a estas inquietudes, el estudiante podr abordar con ms seguridad el


nuevo tema a tratar en este mdulo (Visual 2010 Bsico)
Universidad Nacional Abierta y a Distancia UNAD - Vicerrectora Acadmica y de Investigacin - VIACI
Escuela: Ciencias Bsicas, Tecnologa e Ingeniera Programa: Ingeniera de Sistemas
Curso: Visual Basic Bsico Cdigo: 201416

UNIDAD 2 FUNDAMENTOS DE PROGRAMACIN

Estructura temtica Unidad 2


Introduccin Justificacin
Intencionalidades Formativas
Captulo 1: Estructuras de Seleccin
Captulo 2: Estructuras de Iteracin Simple Captulo
Captulo 3: Estructuras de Repeticin Simple

INTRODUCCION

Visual 2010 es un lenguaje de programacin que maneja algunas estructuras bsicas


para el manejo y control de datos, las estructuras de seleccin son la que manejan el
condicional, como elemento de control, su forma de trabajo es una condicin y una
accin para cuando se cumple la condicin, si se trabaja la iteracin simple se tiene
como elemento de control una instruccin While o un mientras, esta se ejecuta mientras
se cumpla una instruccin, las estructuras de repeticin son ciclos que realizan procesos
internos hasta cuando estos lleguen a un lmite preestablecido, se le conoce como el
ciclo for. Todo esto se complementa a las herramientas bsicas de cuadros de texto
(TextBox), label, botones de comando (Button), manejo de formulario, imgenes,
mensajes de dialogo entre otras, para la realizacin de programas de alta calidad.

JUSTIFICACION

El estudiante debe conocer el funcionamiento lgico de las diferentes estructuras de


programacin, estas son aplicadas para la realizacin de los programas
computacionales que requieren un grado de control o decisin para la solucin de
diferentes situaciones que se presenten, el estudiante fortalece su pensamiento lgico
para la solucin de problemas este proceso se refleja en el aumento de la creatividad y
fortalecimiento del autoestima de su autoestima.

INTENCIONALIDADES FORMATIVAS

El estudiante estar en capacidad de:


Aplicar las diferentes estructuras de programacin para el diseo de programas
computacionales con un alto grado de toma de decisiones y control.
Identificar las diferentes estructuras de programacin y su aplicacin.
Analizar procesos en donde la programacin con estructuras apliquen elementos de
seleccin, iteracin y repeticin.
Universidad Nacional Abierta y a Distancia UNAD - Vicerrectora Acadmica y de Investigacin - VIACI
Escuela: Ciencias Bsicas, Tecnologa e Ingeniera Programa: Ingeniera de Sistemas
Curso: Visual Basic Bsico Cdigo: 201416

CAPITULO 1 ESTRUCTURAS DE SELECCIN

Estructura temtica
Introduccin
Condicional If

Condicionales if else
Estructura Case

INTRODUCCIN

La programacin de computadores cuenta con una serie de estructuras que permiten


realizar procesos en forma ordenada y ascendente, estas son usadas como elementos
de control, la de seleccin tipo if, ejecuta un proceso cuando esta cumple con una
condicin, esta es la estructura simple, la estructura if else, realiza una instruccin si se
cumple la condicin, pero si no se cumple realiza otra accin por el else o ( sino). La
estructura case puede seleccionar dentro de una serie de opciones la que cumpla con
el caso.

El manejo de las estructuras de programacin es importante conocer y apropiarse de


los conceptos bsicos de anlisis lgico aplicado al diseo de programas.

OBJETIVO GENERAL

Revisar los conceptos bsicos, de la programacin en Visual 2010 y que el estudiante


se apropie del manejo de las diferentes estructuras de seleccin iteracin y repeticin
que permita desarrollar aplicaciones computacionales.

CONDICIONAL IF.

Las sentencias condicionales son aquellas que se realizan si se cumple una


determinada condicin. If (condicin) accin.

El formato:

If condicin
then Accin
End if
Universidad Nacional Abierta y a Distancia UNAD - Vicerrectora Acadmica y de Investigacin - VIACI
Escuela: Ciencias Bsicas, Tecnologa e Ingeniera Programa: Ingeniera de Sistemas
Curso: Visual Basic Bsico Cdigo: 201416

El computador evala la condicin, si encuentra que la condicin es diferente de 0


entonces ejecuta la accin y luego sigue con la prxima instruccin en el programa. Si
encuentra que el resultado es 0 no se ejecuta la accin y contina con otras
instrucciones.

Empleo de expresiones condicionales.

Es muy importante conocer el tipo de expresiones al momento de procesar informacin,


la expresin forma parte de la sentencia que realiza la pregunta del tipo falso o
verdadero sobre una propiedad, una variable o algn tipo de dato.

Operador de comparacin significado


= Igual que
<> Distinto de
> Mayor que
< Menor que
>= Mayor o igual que
<= Menor o igual que

Ejemplo:
Al leer un valor desde el TextBox1.Text, el condicional evala y si el valor est en el
rango toma la accin correspondiente.

Al digitar el nmero 18, la condicin se cumple y por verdadero el if, muestra el


mensaje Puede Votar en las elecciones.

Forma contraria si digitamos en nmero 13, al evaluarse la condicin, esta no cumple y


por falso, Else (sino) muestra el mensaje, No puede votar, es menor de edad.

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button1.Click
If TextBox1.Text >= 18 Then
MsgBox(" Puede votar en las elecciones")
Else
MsgBox("No puede votar , es menor de edad")
End If
End Sub

Empleo de operadores lgicos en expresiones condicionales


Universidad Nacional Abierta y a Distancia UNAD - Vicerrectora Acadmica y de Investigacin - VIACI
Escuela: Ciencias Bsicas, Tecnologa e Ingeniera Programa: Ingeniera de Sistemas
Curso: Visual Basic Bsico Cdigo: 201416

Operador lgico Significado


And Si ambas condiciones son verdadera el resultado es
Or Si una de las condiciones es verdadera el resultado es
verdadero
Not Si la expresin condicional es falsa, el resultado es
verdadero
verdadero. Si la expresin condicional es verdadera el
resultado es falso.
Xor Si una y solo una, de las expresiones condicionales es
verdadera, el resultado es verdadero. Si ambas son
verdaderas o falsas el resultado es falso.

Ejemplo And

Programa que envi un mensaje que puede votar a una persona, si cumple que tenga
una edad mayor o igual a 18 aos y que sea colombiano.

Disear el formulario:

Identifique que herramientas o controles que trabaja esta lnea de cdigo, para que
disee el formulario y pruebe el ejercicio.

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles

Button1.Click Dim x As String


If TextBox1.Text >= 18 And TextBox2.Text = "colombiano" Then MsgBox(" Puede votar en
las elecciones")
Else
MsgBox("No puede votar , es menor de edad o no es colombiano")
End If
End Sub

Correcto:

Un Button
Dos textBox.

Uso de la instruccin AndAlso y OrElse como cortocircuito.

Estos dos operadores lgicos trabajan de misma forma que And Y Or pero tienen una
ventaja en la forma de evaluar que mejora la rapidez y eficacia, para que And funcione
Universidad Nacional Abierta y a Distancia UNAD - Vicerrectora Acadmica y de Investigacin - VIACI
Escuela: Ciencias Bsicas, Tecnologa e Ingeniera Programa: Ingeniera de Sistemas
Curso: Visual Basic Bsico Cdigo: 201416

y su resultado sea verdadero en la expresin, juntas expresiones deben ser verdaderas,


pero con AndAlso si la primera expresin es falsa, Visual salta de una a la siguiente lnea
del else sin evaluar la segunda expresin.

Al usar OrElse, trabaja de una manera parecida, si la primera condicin se evala como
verdadera OrElse salta y ejecuta la instruccin contenida en el If, sin evaluar la siguiente
condicin, una de ellas ya es verdadera y con una de ellas ya cumple.

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button1.Click
Dim x As String

If TextBox1.Text >= 18 AndAlso TextBox2.Text = "colombiano" Then


MsgBox(" Puede votar en las elecciones")
Else
MsgBox("No puede votar , es menor de edad o no es colombiano")
End If
End Sub

Puede modificar el anterior programa.

Crear un formulario con el uso de una clave pueda acceder o habilitar un GroupBox.

Dos Button
Dos TextBox
Un GroupBox
Dos Label
Universidad Nacional Abierta y a Distancia UNAD - Vicerrectora Acadmica y de Investigacin - VIACI
Escuela: Ciencias Bsicas, Tecnologa e Ingeniera Programa: Ingeniera de Sistemas
Curso: Visual Basic Bsico Cdigo: 201416

El Textbox1 debe tener la propiedad PasswordChar.


El GroupBox1 la propiedad Visible = a False ( o sea oculto ). En
el Buuton1, Validar Clave, el cdigo.

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button1.Click
If TextBox1.Text = "unad" Then
GroupBox1.Visible = True
MessageBox.Show(" Desea Votar", " Votacion Unad", _
MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk)
End If
End Sub

En el Button2. Terminar.

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button2.Click
GroupBox1.Visible=False
TextBox1.Text = ""
End Sub
Ejemplo 2.
Crear un formulario.

Dos RadioButton
Un TextBox
Un Button
Programar.
Universidad Nacional Abierta y a Distancia UNAD - Vicerrectora Acadmica y de Investigacin - VIACI
Escuela: Ciencias Bsicas, Tecnologa e Ingeniera Programa: Ingeniera de Sistemas
Curso: Visual Basic Bsico Cdigo: 201416

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button1.Click
If (Azul.Checked = True) Then
TextBox1.BackColor = Color.Blue
End If
If (RadioButton2.Checked = True) Then
TextBox1.BackColor = Color.Red
End If

Pasar el foco de un TextBox.

Significa, que al dar enter sobre un cuadro de texto luego de escribir algo en ese cuadro
el cursor queda en el cuadro de texto al cual lo direccionemos.

Funciona con un condicional


La funcin ASCII que permite tomar el carcter ledo
Uso del Mtodo Focus al TextBox

If Asc(e.KeyChar) = 13 Then
TextBox1.Focus()
End If

Pasos para trabajar:

1 crear el formulario (Form1), puede asignarle otro nombre si lo desea.

Tres etiquetas (Label)


Tres TextBox(Cajas de texto)
Al programar: doble clic sobre el TextBox1
Se debe seleccionar el objeto
Universidad Nacional Abierta y a Distancia UNAD - Vicerrectora Acadmica y de Investigacin - VIACI
Escuela: Ciencias Bsicas, Tecnologa e Ingeniera Programa: Ingeniera de Sistemas
Curso: Visual Basic Bsico Cdigo: 201416

Se debe seleccionar el evento Keypress

Programar en evento.

Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As


System.Windows.Forms.KeyPressEventArgs)Handles
TextBox1.KeyPress
If Asc(e.KeyChar) = 13 Then
TextBox2.Focus()
End If
End Sub

As para las dems cajas de texto.

Private Sub TextBox2_KeyPress(ByVal sender As Object, ByVal e As


System.Windows.Forms.KeyPressEventArgs)andles

TextBox2.KeyPress
If Asc(e.KeyChar) = 13 Then
TextBox3.Focus()
End If
End Sub

Private Sub TextBox3_KeyPress(ByVal sender As Object, ByVal e As


System.Windows.Forms.KeyPressEventArgs)Handles

TextBox3.KeyPress
If Asc(e.KeyChar) = 13 Then
MsgBox("Muy bien")
End If
End Sub
Universidad Nacional Abierta y a Distancia UNAD - Vicerrectora Acadmica y de Investigacin - VIACI
Escuela: Ciencias Bsicas, Tecnologa e Ingeniera Programa: Ingeniera de Sistemas
Curso: Visual Basic Bsico Cdigo: 201416

CONDICIONALES IF ELSE Si se
cumple una condicin Entonces
Instrucciones uno

Si no se cumple
Instrucciones dos
Fin de la sentencia.

Para programar en 2010 se traduce as:

If condicin Then
Instrucciones por verdadero o uno
Else
Instrucciones por falso o dos
End If

Puede tambin ejecutar otras condiciones distintas. Puede ocurrir que, caso de no
cumplirse la condicin primera, se pregunte por otras condiciones de dos o tres
posibilidades. La sentencia condicional tendra entonces la forma:

If condicin 1 Then
Instruccin uno
Else
If Condicin 2
Instrucciones dos
Else
If Condicin 3 Instruccin 3
Else
Instruccin que se realiza si no cumplir las condiciones 1, 2 y 3.
End If
Ejemplo 1

Realizar un programa que lea desde un cuadro de texto un valor de una temperatura, si
la temperatura leda es mayor a 27 grados, muestre un mensaje caliente, si la
temperatura est entre 27 y 15 grados muestre un mensaje templado y si la temperatura
es menor a 15 grados, muestre el mensaje, frio, adems cada vez que ejecute una
lectura debe retornar el cursor al cuadro de texto para digitar otra temperatura.

Para realizarla se requiere:


Universidad Nacional Abierta y a Distancia UNAD - Vicerrectora Acadmica y de Investigacin - VIACI
Escuela: Ciencias Bsicas, Tecnologa e Ingeniera Programa: Ingeniera de Sistemas
Curso: Visual Basic Bsico Cdigo: 201416

Un form1
Un button
Un label

Este cdigo va en el Button y es quien realiza la operacin.

Private Sub Button1_Click(ByVal sender As System.Object, By Vale As


System.EventArgs) Handles
Button1.Click
Dim x As Integer x = TextBox1.Text
If x < 15 Then
MsgBox("frio")
TextBox1.Focus()
TextBox1.Text = ""
ElseIf x > 27 Then
MsgBox("caliente") TextBox1.Focus() TextBox1.Text = ""
Else
MsgBox("Templado") TextBox1.Focus() TextBox1.Text = ""
End If End Sub

Se declara una variable x entera


Se asigna lo ledo o el contenido del textbox1 a la variable x
Se realiza la primera condicin
Si esta se cumple muestra el mensaje frio.
Si no cumple ejecuta la siguiente condicin por el ElseIf para ejecutar la condicin de x
> 27 para mostrar el mensaje de caliente.
Si no cumple con ninguna de las condiciones entonces ejecuta el else y muestra el
mensaje templado.
Note que por cualquiera de las opciones que tome, se retorna el foco al text1.tex con la
instruccin text1.focus y adems limpia el cuadro de texto con la instruccin,
textbox1.text = .
Universidad Nacional Abierta y a Distancia UNAD - Vicerrectora Acadmica y de Investigacin - VIACI
Escuela: Ciencias Bsicas, Tecnologa e Ingeniera Programa: Ingeniera de Sistemas
Curso: Visual Basic Bsico Cdigo: 201416

IF ELSE IF

Hace un If para continuar con el condicional

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button1.Click
Dim a As Integer a = TextBox1.Text
If a < 3 And a >= 1 Then
MsgBox("nota baja")
ElseIf a > 3 And a <= 4 Then
MsgBox("nota media")
Else
MsgBox("nota alta") End If
End Sub

En este caso Evala cada entrada y toma la accin que cumpla condicin.

ESTRUCTURA CASE

Esta estructura Selecciona, dependiendo del caso, un determinado juego de


instrucciones:

Select Case variable


Case 1
Instruccin a ejecutar si variable = 1
Case 2
Instruccin a ejecutar si variable = 2
Case 3
Instruccin a ejecutar si variable = 3
Case 4
Instruccin a ejecutar si variable = 4
End Select

Este procedimiento resulta mucho ms sencillo y rpido que las sentencias If


Then Else, vistas anteriormente, cuando el margen de eleccin es mayor que 2.
Universidad Nacional Abierta y a Distancia UNAD - Vicerrectora Acadmica y de Investigacin - VIACI
Escuela: Ciencias Bsicas, Tecnologa e Ingeniera Programa: Ingeniera de Sistemas
Curso: Visual Basic Bsico Cdigo: 201416

Ejemplo case 1

Crear un programa que al digitar un nmero entre 1 y 7 muestre el da de la semana al


cual corresponde y se digita un nmero mayor muestra mensaje de error.

Para realizarlo use:

Un formulario, form1
Un label
Un Button
Un Textbox

Programar Button.

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button1.Click
Dim x As Integer x = TextBox1.Text
If x < 1 Or x > 7 Then
MsgBox("numero fuera de rango ")
TextBox1.Focus()
TextBox1.Text = ""
End If
Select Case x Case 1
MsgBox("Lunes") TextBox1.Focus() TextBox1.Text = ""
Case 2
MsgBox("Martes") TextBox1.Focus()
TextBox1.Text = ""
Case 3
MsgBox("Miercoles") TextBox1.Focus() TextBox1.Text = ""
Case 4
MsgBox("Jueves") TextBox1.Focus() TextBox1.Text = ""
Universidad Nacional Abierta y a Distancia UNAD - Vicerrectora Acadmica y de Investigacin - VIACI
Escuela: Ciencias Bsicas, Tecnologa e Ingeniera Programa: Ingeniera de Sistemas
Curso: Visual Basic Bsico Cdigo: 201416

Case 5
MsgBox("Viernes") TextBox1.Focus() TextBox1.Text = ""
Case 6
MsgBox("Sabado") TextBox1.Focus() TextBox1.Text = ""
Case 7
MsgBox("Domingo ") TextBox1.Focus() TextBox1.Text = ""
End Select End Sub
Universidad Nacional Abierta y a Distancia UNAD - Vicerrectora Acadmica y de Investigacin - VIACI
Escuela: Ciencias Bsicas, Tecnologa e Ingeniera Programa: Ingeniera de Sistemas
Curso: Visual Basic Bsico Cdigo: 201416

CAPITULO 2 ESTRUCTURAS DE ITERACIN SIMPLE

Estructura temtica
Introduccin
Estructura de iteracin con evaluacin previa y posterior
Estructura While
Estructura Do Loop While
Estructura Do Until

INTRODUCCIN

En La programacin existen formas de trabajar estructuras de control por medio de


iteraciones que permiten realizar una accin antes o despus de realizado un evento,
quiere decir que se evala una condicin para realizar una accin, el uso de Visual 2010
a diferencia de otros lenguajes tradicionales, no requiere de conocimientos especiales
para desarrollar aplicaciones de gran utilidad, que permiten al estudiante desarrollar su
creatividad. El manejo de las estructuras de programacin es importante conocer y
apropiarse de los conceptos bsicos de anlisis lgico aplicado al diseo de programas.

OBJETIVO GENERAL

El estudiante aprende a conocer y aplicar las estructuras de iteracin simple para el


manejo de datos, as mismo podr aplicar estos conceptos a programas
computacionales de gran calidad, aprovechando las herramientas que visual ofrece para
facilitar el desarrollo y aplicaciones.

ESTRUCTURA DE ITERACIN CON EVALUACIN PREVIA

Se da cuando la condicin de salida se evala antes de la ejecucin de cada ciclo. Se


verifica primero la condicin y si resulta ser adecuada se ejecutan las acciones
asociadas para volver a evaluar la condicin. En este tipo de estructuras puede ocurrir
que la condicin sea inadecuada la primera vez que se evala y que, por lo tanto, las
acciones asociadas no lleguen a ejecutarse nunca. La iteracin con evaluacin previa
debe utilizarse entonces en aquellos casos en que la ejecucin de todo el ciclo est
sujeta al estado previo de una condicin, y, por lo tanto, est previsto que las acciones
puedan no ejecutarse nunca. Por ejemplo: mientras la variable A sea inferior a 10 escribir
un salto de lnea y sumarle 1 a la variable A. En este caso, si ocurre que la variable A
llega al ciclo con un valor no inferior a 10 -esto es, si la condicin es inicialmente falsa-
no se escribir ningn salto de lnea ni se incrementar la variable.
Universidad Nacional Abierta y a Distancia UNAD - Vicerrectora Acadmica y de Investigacin - VIACI
Escuela: Ciencias Bsicas, Tecnologa e Ingeniera Programa: Ingeniera de Sistemas
Curso: Visual Basic Bsico Cdigo: 201416

ESTRUCTURA DE ITERACIN CON EVALUACIN POSTERIOR

Se da cuando la condicin de salida se evala despus de la ejecucin de cada ciclo.


Se ejecutan primero las acciones asociadas al ciclo, se evala luego la condicin y, si
resulta ser adecuada, se repite el ciclo. En este tipo de estructuras ocurre que las
acciones asociadas con el ciclo se ejecutan siempre, por lo menos una vez. La iteracin
con evaluacin posterior debe utilizarse entonces en aquellos casos en que la
evaluacin de la condicin est sujeta a la ejecucin del ciclo y, por lo tanto, est previsto
que las acciones deban ejecutarse siempre, por lo menos una vez. Por ejemplo: apretar
una tecla mientras que la tecla apretada sea diferente de <Enter>. En este caso es
necesario primero oprimir por lo menos una tecla para poder evaluar luego si es <Enter>
y repetir eventualmente la accin de oprimir una tecla

ESTRUCTRA WHILE

La instruccin while permite ejecutar una instruccin o un grupo de instrucciones un


nmero determinado de veces mientras se cumple una condicin

La forma de esta estructura es:

While (condicin) Bloque de instrucciones End while

Mientras la condicin se mantenga verdadera, el bloque se ejecutar "x" cantidad de


veces. Es necesario que alguna vez la condicin se haga falsa, pues de lo contrario se
entrara en un ciclo infinito de repeticiones el programa se considerara bloqueado. Por
lo tanto es necesario que en el bloque de instrucciones dentro de la estructura while, se
ejecute alguna accin que en algn momento haga que la condicin sea falsa.

Un ejemplo del funcionamiento de la estructura de repeticin while:


Cree en un formulario un botn de comando y haga el siguiente cdigo para ver la forma
de evaluacin de la condicin y sus resultados. Se enva los datos de x a listbox1,
mientras cumple la condicin de x <= 10.
Universidad Nacional Abierta y a Distancia UNAD - Vicerrectora Acadmica y de Investigacin - VIACI
Escuela: Ciencias Bsicas, Tecnologa e Ingeniera Programa: Ingeniera de Sistemas
Curso: Visual Basic Bsico Cdigo: 201416

Para realizarlo se usa: Un formulario form1 Un Label


Un Listbox
Y la programacin va sobre el formulario (form1).
Cuando se ejecuta el programa activa de una el while.

Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles MyBase.Load
Dim x As Integer x = 1
While x <= 10 ListBox1.Items.Add(x) x = x + 1
End While End Sub
End Class

El mismo ejercicio pero ejecutndose desde un Botn (Button) y tomando los datos
desde un textbox (caja de texto).

Botn de ejecutar:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button1.Click
Dim x As Integer Dim n As Integer x = 1
n = TextBox1.Text
While x <= n
ListBox1.Items.Add(x) x = x + 1
End While
End Sub
Universidad Nacional Abierta y a Distancia UNAD - Vicerrectora Acadmica y de Investigacin - VIACI
Escuela: Ciencias Bsicas, Tecnologa e Ingeniera Programa: Ingeniera de Sistemas
Curso: Visual Basic Bsico Cdigo: 201416

Botn Nueva Lista

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button2.Click
ListBox1.Items.Clear() TextBox1.Text = "" TextBox1.Focus()
End Sub

Botn Salir

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button3.Click
End
End Sub

ESTRUCTURA DO LOOP WHILE

La instruccin do while permite ejecutar una instruccin o un grupo de instrucciones un


nmero determinado de veces. Antes de evaluar el while se ejecuta al menos una vez
el proceso.

La estructura es:
Do Instrucciones
Loop While condicin control

Veamos un ejemplo en donde se imprimen los nmeros del 1 al 4 usando esta


estructura.

Crear un formulario (form1)


Universidad Nacional Abierta y a Distancia UNAD - Vicerrectora Acadmica y de Investigacin - VIACI
Escuela: Ciencias Bsicas, Tecnologa e Ingeniera Programa: Ingeniera de Sistemas
Curso: Visual Basic Bsico Cdigo: 201416

Digitar el cdigo:

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles MyBase.Load
Dim i As Integer = 0
Do
MsgBox("Ejemplo Do " + i.ToString) i = i + 1
Loop While i < 5
End Sub

Imprime en un Msgbox los valores que toma i. Ejemplo ejecutado desde un


Button(botn)

Digitar el cdigo en el botn Ejecutar:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button1.Click
Dim i As Integer = 0
Do While i < 5
MsgBox("Ejemplo Do While " + i.ToString) i = i + 1
Loop
End Sub

Estructura do while loop

Do While condicin
Acciones
Loop

Para el ejemplo: este se ejecuta desde el formulario (Form1).


Universidad Nacional Abierta y a Distancia UNAD - Vicerrectora Acadmica y de Investigacin - VIACI
Escuela: Ciencias Bsicas, Tecnologa e Ingeniera Programa: Ingeniera de Sistemas
Curso: Visual Basic Bsico Cdigo: 201416

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles MyBase.Load
Dim i As Integer = 0
Do While i < 5
MsgBox("Ejemplo Do While " + i.ToString) i = i + 1
Loop
End Sub

Ejemplo

Encontrar factorial de un nmero usando while.

Cdigo para encontrar el factorial de un nmero.

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button1.Click
Dim i As Integer = 1 Dim x As Integer = 0 Dim fac As Integer = 1
x = TextBox1.Text
Do While i <= x
fac = fac * i
i=i+1
Loop
MsgBox("Ejemplo Do While.. Factorial de " + x.ToString + " = " + fac.ToString)
End Sub
Universidad Nacional Abierta y a Distancia UNAD - Vicerrectora Acadmica y de Investigacin - VIACI
Escuela: Ciencias Bsicas, Tecnologa e Ingeniera Programa: Ingeniera de Sistemas
Curso: Visual Basic Bsico Cdigo: 201416

CAPITULO 3 ESTRUCTURAS DE REPETICIN SIMPLE

Estructura temtica
Introduccin
Ciclo for
For anidado
For Each

INTRODUCCIN

En La programacin existen formas de trabajar estructuras de control por medio de


repeticiones que permiten realizar varias acciones determinadas previamente, quiere
decir que se evala una condicin para realizar un nmero de acciones, el uso de Visual
2010 a diferencia de otros lenguajes tradicionales, no requiere de conocimientos
especiales para desarrollar aplicaciones de gran utilidad, que permiten al estudiante
desarrollar su creatividad. El manejo de las estructuras de programacin es importante
conocer y apropiarse de los conceptos bsicos de anlisis lgico aplicado al diseo de
programas.

OBJETIVO GENERAL

El estudiante aprende a conocer y aplicar las estructuras de repeticin en su forma de


evaluar y ejecucin dependiendo los operadores, valores para el manejo de datos, as
mismo podr aplicar estos conceptos a programas computacionales de gran calidad,
aprovechando las herramientas que visual ofrece para facilitar el desarrollo y
aplicaciones.

CICLO FOR

Un ciclo for es una sucesin repetitiva de instrucciones, que se estarn realizando


mientras se cumpla una condicin o mientras no se cumpla otra condicin. Que realiza
un nmero determinado de recorridos por el bucle. Es el denominado bucle por contador.

For variable inicial = valor de inicio to (hasta) valor final


Instrucciones Next
La sentencia FOR se utiliza para los bucles, su sintaxis en visual 2010 es:
Universidad Nacional Abierta y a Distancia UNAD - Vicerrectora Acadmica y de Investigacin - VIACI
Escuela: Ciencias Bsicas, Tecnologa e Ingeniera Programa: Ingeniera de Sistemas
Curso: Visual Basic Bsico Cdigo: 201416

FOR (inicializacin) TO (Final del bucle) STEP (paso)


Sentencias
........
NEXT

La sentencia realiza un ciclo desde la inicializacin hasta el final o final del bucle.
Para llevar la cuenta se utiliza una variable, Con cada ejecucin del bucle se ejecutan
unas sentencias o acciones. NEXT sirve para delimitar el final del bucle, cuando se
encuentra con el NEXT se vuelve otra vez al principio del FOR, as hasta realizar el
nmero de ejecuciones programado.

Existe un valor que sirve para indicar los pasos o saltos que se realizaran entre ejecucin
y ejecucin, es el valor STEP. Un STEP 3 determinara que entre ejecucin y ejecucin
la variable se ha de incrementar en 3 unidades. En el caso de no indicar nada se realizan
pasos de 1 en 1. Tambin puede trabajar con valores negativos.

Un ejemplo aplicado sera el siguiente:

Ciclo For ejemplo 1

Un mensaje en MsgBox en donde muestra los nmeros hasta 5.

1. Cree un formulario (Form1). Puede cambiarle el nombre. 2.


Luego dele doble clic sobre el form1
3. Programe el ciclo for 4.
Universidad Nacional Abierta y a Distancia UNAD - Vicerrectora Acadmica y de Investigacin - VIACI
Escuela: Ciencias Bsicas, Tecnologa e Ingeniera Programa: Ingeniera de Sistemas
Curso: Visual Basic Bsico Cdigo: 201416

Ejecute.

El cdigo del form1 es:

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles MyBase.Load
Dim i As Integer For i = 0 To 4
MsgBox(i)
Next i
End Sub

Al ejecutarse muestra:

Al dar clic sobre el Botn Aceptar muestra uno a uno los elementos del ciclo. Hasta
que cumpla con todos.

Ciclo for ejemplo 2

La programacin para este ejercicio es la misma que el ejemplo de While para el botn
Nueva Lista y Salir, cambia es el uso del ciclo For en el Botn (Button) Ejecutar.
Universidad Nacional Abierta y a Distancia UNAD - Vicerrectora Acadmica y de Investigacin - VIACI
Escuela: Ciencias Bsicas, Tecnologa e Ingeniera Programa: Ingeniera de Sistemas
Curso: Visual Basic Bsico Cdigo: 201416

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button1.Click

Dim x As Integer x = 1

Dim n As Integer n = TextBox1.Text

For x = 1 To n

ListBox1.Items.Add(x)

Next x

End Sub

El ciclo for se incrementa de uno en uno, pero si se desea, se puede usar Step en el ciclo
para informarle otra opcin de paso.

Ejemplo: Step 2

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button1.Click

Dim x As Integer Dim n As Integer n = TextBox1.Text

For x = 1 To n Step 2

ListBox1.Items.Add(x)

Next x

End Sub
Universidad Nacional Abierta y a Distancia UNAD - Vicerrectora Acadmica y de Investigacin - VIACI
Escuela: Ciencias Bsicas, Tecnologa e Ingeniera Programa: Ingeniera de Sistemas
Curso: Visual Basic Bsico Cdigo: 201416

Arreglos

Arreglo unidimensional

Un array (arreglo) o un vector es una estructura que permite almacenar un conjunto de


elementos o datos de un mismo tipo.

Un arreglo est compuesto por espacios identificados por subndices para saber la
posicin del elemento, cada ndice es una posicin para almacenar datos.

0 1 2 3 4 5

30 35 40 45 50 55

Los valores 30, 35,40..son datos


Los valores 0, 1, 2, 3, 4,5 son los ndices del arreglo. Se declara en visual
DIM Arreglo(indice_superior) As TIPO_DE_DATO Dim arreglo (6) As Integer

Crear un arreglo usando ciclo for.

1. Cree un formulario (Form1). Puede cambiarle el nombre.


2. Luego dele doble clic sobre el form1
3. Programe el ciclo for 4.Ejecute.
4. Cdigo para el form1.
Universidad Nacional Abierta y a Distancia UNAD - Vicerrectora Acadmica y de Investigacin - VIACI
Escuela: Ciencias Bsicas, Tecnologa e Ingeniera Programa: Ingeniera de Sistemas
Curso: Visual Basic Bsico Cdigo: 201416

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles MyBase.Load

Dim arreglo(5) As Integer Dim i As Integer

For i = 0 To 4

arreglo(i) = i + 1

MsgBox("Arreglo (" + i.ToString + ") = " + arreglo(i).ToString)

Next i

End Sub

Al ejecutarse muestra la posicin del arreglo y el nmero que va en el arreglo, como se


da i +1, mostrara el tamao del arreglo.

Ejemplo arreglo

Ingresar datos a un arreglo por teclado. Por medio de InpuBox.

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button1.Click

Dim arreglo(5) As Integer Dim i As Integer

For i = 0 To 4

arreglo(i) = InputBox("Digite Numero ")

Next

For i = 0 To 4

MsgBox("Arreglo (" + i.ToString + ") = " + arreglo(i).ToString)

Next

End Sub
Universidad Nacional Abierta y a Distancia UNAD - Vicerrectora Acadmica y de Investigacin - VIACI
Escuela: Ciencias Bsicas, Tecnologa e Ingeniera Programa: Ingeniera de Sistemas
Curso: Visual Basic Bsico Cdigo: 201416

El primer for captura los datos desde InpuBox.

El segundo for recorre el arreglo y muestra el contenido. Ejercicio for


Arreglo con datos tipo string cargados directamente en el arreglo y mostrados en un
ListBox.

Para este ejemplo se usa: Un Formulario (Form1) Un Botn (Button)


Un ListBox

Cdigo necesario para realizar este programa.

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button1.Click

Dim nombres(4) As String

nombres(0) = "jaime"

nombres(1) = "Andrs"

nombres(2) = "Nicolas"

nombres(3) = "jars"

For i As Integer = 0 To 3

ListBox1.Items.Add(nombres(i))

Next

End Sub
Universidad Nacional Abierta y a Distancia UNAD - Vicerrectora Acadmica y de Investigacin - VIACI
Escuela: Ciencias Bsicas, Tecnologa e Ingeniera Programa: Ingeniera de Sistemas
Curso: Visual Basic Bsico Cdigo: 201416

FOR ANIDADOS

Esta clase de estructura de programacin maneja un ciclo for dentro de otro ciclo for,
con la caracterstica principal que por cada ejecucin del ciclo del for mas externo, se
realiza todo el ciclo interno.

Sintaxis

FOR (inicializacin) TO (Final del bucle) STEP (paso)

FOR (inicializacin) TO (Final del bucle) STEP


(paso) Sentencias
NEXT
NEXT

En inicializacin esta la variable con el valor inicial del for.


Final del bucle, hasta dnde va el ciclo
Step el incremento, si se omite por defecto es 1.
Universidad Nacional Abierta y a Distancia UNAD - Vicerrectora Acadmica y de Investigacin - VIACI
Escuela: Ciencias Bsicas, Tecnologa e Ingeniera Programa: Ingeniera de Sistemas
Curso: Visual Basic Bsico Cdigo: 201416

En esta estructura cuando ingresa un primer valor para i, j realiza todo el ciclo , cuando
termina , sale e incrementa i en 1, y comienza de nuevo todo el ciclo de j.

Como ejemplo realizar las tablas de multiplicar partiendo desde un nmero inicial hasta
un nmero final, para esto se trabaja:

Un formulario (Form1).

Para hacerlo usamos:


Dos label
Dos cajas de texto (TextBox)
Un ListBox

El cdigo:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button1.Click

Dim i As Integer

Dim j As Integer

Dim p As Integer

Dim n As Integer

Dim n1 As Integer

n = TextBox1.Text
Universidad Nacional Abierta y a Distancia UNAD - Vicerrectora Acadmica y de Investigacin - VIACI
Escuela: Ciencias Bsicas, Tecnologa e Ingeniera Programa: Ingeniera de Sistemas
Curso: Visual Basic Bsico Cdigo: 201416

n1 = TextBox2.Text

For i = n To n1

For j = 1 To 10 p = i * j

ListBox1.Items.Add((i & "X" & j & " = " & p))

Next

Next

End Sub

Tambin se puede declarar Dim i, j, p,n,n1 As Integer.

Matrices

Matriz de 3 X 3, quiere decir que tiene 3 filas 3 columnas, la interseccin de fila columna
se identifica segn la fila y la columna, 0,0 indica primera fila, primera columna, 1,1, fila
1, columna 1, recuerde que la matriz comienza siempre en 0 para fila y para columna.

Para la posicin 2,2 es la fila 2 y la columna

Columna0 Columna1 Columna2


Fila0
Fila1
Fila2

Para la posicin 1,1, fila 1, columna 1.


Para el ejercicio de ejemplo:

Columna Columna Columna


Fila0 10 21 32
Fila1 4 5 6
Fila2 7 8 9
Universidad Nacional Abierta y a Distancia UNAD - Vicerrectora Acadmica y de Investigacin - VIACI
Escuela: Ciencias Bsicas, Tecnologa e Ingeniera Programa: Ingeniera de Sistemas
Curso: Visual Basic Bsico Cdigo: 201416

Definidos de entrada en la matriz.

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button1.Click
Dim datos(3, 3) As Integer Dim i, j As Integer

datos(0, 0) = "1"
datos(0, 1) = "2"
datos(0, 2) = "3"
datos(1, 0) = "4"
datos(1, 1) = "5"
datos(1, 2) = "6"
datos(2, 0) = "7"
datos(2, 1) = "8"
datos(2, 2) = "9"
For i = 0 To 2
For j = 0 To 2
MsgBox(datos(i, j))
Next
Next
End Sub

El ciclo for con j, recorre la fila


El ciclo for con i, recorre las columnas
Cada vez que ejecuta una i, se ejecutan los 3 ciclos para j, partiendo en 0. As:

Operacin entre matrices Suma de matrices.


Se deben crear tres matrices las de la operacin y un destino para el resultado
de la operacin.

Matriz datos con los nmeros de 1 a 9 en cada posicin.

Columna Columna Columna


Fila0 10 21 32
Fila1 4 5 6
Fila2 7 8 9

Matriz datos1 con el nmero 2 en cada posicin, se puede con otro nmero.
Universidad Nacional Abierta y a Distancia UNAD - Vicerrectora Acadmica y de Investigacin - VIACI
Escuela: Ciencias Bsicas, Tecnologa e Ingeniera Programa: Ingeniera de Sistemas
Curso: Visual Basic Bsico Cdigo: 201416

Columna Columna Columna


Fila0 20 21 22
Fila1 2 2 2
Fila2 2 2 2

Matriz resultado en donde guarda el resultado de la suma de matrices.

Columna0 Columna1 Columna2


Fila0
Fila1
Fila2

1. Crear formulario (Form1)


2. Un Botn (Button)
3. Programarlo.

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button1.Click
Dim datos(3, 3) As Integer Dim datos1(3, 3) As Integer Dim resultado(3, 3) As Integer Dim
i, j As Integer

'Matriz 1 datos
datos(0, 0) = "1"
datos(0, 1) = "2"
datos(0, 2) = "3"

datos(1, 0) = "4"
datos(1, 1) = "5"
datos(1, 2) = "6"
datos(2, 0) = "7"
datos(2, 1) = "8"
datos(2, 2) = "9"

'Matriz 2 datos1

datos1(0, 0) = "2"
datos1(0, 1) = "2"
datos1(0, 2) = "2"
Universidad Nacional Abierta y a Distancia UNAD - Vicerrectora Acadmica y de Investigacin - VIACI
Escuela: Ciencias Bsicas, Tecnologa e Ingeniera Programa: Ingeniera de Sistemas
Curso: Visual Basic Bsico Cdigo: 201416

datos1(1, 0) = "2"
datos1(1, 1) = "2"
datos1(1, 2) = "2"
datos1(2, 0) = "2"
datos1(2, 1) = "2"
datos1(2, 2) = "2"

For i = 0 To 2
For j = 0 To 2
resultado(i, j) = (datos(i, j) + datos1(i, j)) MsgBox(resultado(i, j))

Next Next
End Sub

FOR EACH ... NEXT.

Esta construccin es similar al ciclo For, con la diferencia de que la variable que controla
la repeticin del bucle no toma valores entre un mnimo y un mximo, sino apartir de los
elementos de un array (o de una coleccin de objetos). Su estructura es la siguiente:

For Each variable In grupo [


Sentencias]
Next