universidad nacional abierta ya distancia visual basic basico

Anuncio
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
VISUAL BASIC BASICO
JAIME RUBIANO LLORENTE
NEIVA
ENERO 2016
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
UNIDAD 2
FUNDAMENTOS DE PROGRAMACIÓN
Estructura temática Unidad 2
Introducción
Justificación
Intencionalidades Formativas
Capítulo 1: Estructuras de Selección
Capítulo 2: Estructuras de Iteración Simple
Capítulo 3: Estructuras de Repetición Simple
INTRODUCCION
Visual 2010 es un lenguaje de programación que maneja algunas estructuras básicas
para el manejo y control de datos, las estructuras de selección son la que manejan el
condicional, como elemento de control, su forma de trabajo es una condición y una acción
para cuando se cumple la condición, si se trabaja la iteración simple se tiene como
elemento de control una instrucción While o un mientras, esta se ejecuta mientras se
cumpla una instrucción, las estructuras de repetición son ciclos que realizan procesos
internos hasta cuando estos lleguen a un límite preestablecido, se le conoce como el
ciclo for. Todo esto se complementa a las herramientas básicas de cuadros de texto
(TextBox), label, botones de comando (Button), manejo de formulario, imágenes,
mensajes de dialogo entre otras, para la realización de programas de alta calidad.
JUSTIFICACION
El estudiante debe conocer el funcionamiento lógico de las diferentes estructuras de
programación, estas son aplicadas para la realización de los programas computacionales
que requieren un grado de control o decisión para la solución de diferentes situaciones
que se presenten, el estudiante fortalece su pensamiento lógico para la solución 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 programación para el diseño de programas
computacionales con un alto grado de toma de decisiones y control.
Identificar las diferentes estructuras de programación y su aplicación
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
Analizar procesos en donde la programación con estructuras apliquen elementos de
selección, iteración y repetición.
CAPITULO 1
ESTRUCTURAS DE SELECCIÓN
.
Estructura temática
Introducción
1.1. Condicional If
1.2. Condicionales if else
1.3. Estructura Case
1.4. Aplicaciones
INTRODUCCIÓN
La programación 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 selección tipo if, ejecuta un proceso cuando esta cumple con una
condición, esta es la estructura simple, la estructura if else, realiza una instrucción si se
cumple la condición, pero si no se cumple realiza otra acción 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 programación es importante conocer y apropiarse de
los conceptos básicos de análisis lógico aplicado al diseño de programas.
OBJETIVO GENERAL
Revisar los conceptos básicos, de la programación en Visual 2010 y que el estudiante
se apropie del manejo de las diferentes estructuras de selección iteración y repetición
que permita desarrollar aplicaciones computacionales.
1.1. CONDICIONAL IF.
Las sentencias condicionales son aquellas que se realizan si se cumple una
determinada condición. If (condición) acción.
El formato:
If condición then
Acción
End if
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
El computador evalúa la condición, si encuentra que la condición es diferente de 0
entonces ejecuta la acción y luego sigue con la próxima instrucción en el programa. Si
encuentra que el resultado es 0 no se ejecuta la acción y continúa con otras
instrucciones.
Empleo de expresiones condicionales.
Es muy importante conocer el tipo de expresiones al momento de procesar información,
la expresión forma parte de la sentencia que realiza la pregunta del tipo falso o verdadero
sobre una propiedad, una variable o algún tipo de dato.
Operador de comparación
=
<>
>
<
>=
<=
significado
Igual que
Distinto de
Mayor que
Menor que
Mayor o igual que
Menor o igual que
Al leer un valor desde el TextBox1.Text, el condicional evalua y si el valor esta en el
rango toma la acción correspondiente.
Al digitar el número 18, la condición se cumple y por verdadero el if, muestra el
mensaje Puede Votar en las elecciones.
Forma contraria si digitamos en número 13, al evaluarse la condición, 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 lógicos en expresiones condicionales
Operador lógico
And
Or
Not
Significado
Si ambas condiciones son verdadera el resultado es verdadero
Si una de las condiciones es verdadera el resultado es verdadero
Si la expresión condicional es falsa, el resultado es verdadero. Si la
expresión condicional es verdadera el resultado es falso.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
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 años y que sea colombiano.
Diseñar el formulario:
Identifique que herramientas o controles que trabaja esta línea de código, para que
diseñe 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.
Donde va la programación?
En el Buton1.
Va un condicional If.
Dos MsgBox, uno para cuando es verdadero o cumple la condición y otro cuando es
falso o no cumple la condición.
Que operador usa para evaluar la condición?
And, operador lógico.
Al usar tres Label. Quedaría así:
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
Uso de la instrucción AndAlso y OrElse como cortocircuito.
Estos dos operadores lógicos 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 y
su resultado sea verdadero en la expresión, juntas expresiones deben ser verdaderas,
pero con AndAlso si la primera expresión es falsa, Visual salta de una a la siguiente línea
del else sin evaluar la segunda expresión.
Al usar OrElse, trabaja de una manera parecida, si la primera condición se evalúa como
verdadera OrElse salta y ejecuta la instrucción contenida en el If, sin evaluar la siguiente
condición, 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.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
Dos Button
Dos TextBox
Un GroupBox
Dos Label
El Textbox1 debe tener la propiedad PasswordChar.
El GroupBox1 la propiedad Visible = a False ( o sea oculto ).
En el Buuton1, Validar Clave, el código.
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
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
Ejemplo 2.
Crear un formulario.
Dos RadioButton
Un TextBox
Un Button
Programar.
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 función ASCII que permite tomar el carácter leído
Uso del Método Focus al TextBox
If Asc(e.KeyChar) = 13 Then
TextBox1.Focus()
End If
Pasos para trabajar:
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
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
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 demás cajas de texto.
Private Sub TextBox2_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TextBox2.KeyPress
If Asc(e.KeyChar) = 13 Then
TextBox3.Focus()
End If
End Sub
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
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
1.2. CONDICIONALES IF ELSE
Si se cumple una condición Entonces
Instrucciones uno
Si no se cumple
Instrucciones dos
Fin de la sentencia.
Para programar en 2010 se traduce así:
If condición Then
Instrucciones uno
Else
Instrucciones dos
End If
Puede también ejecutar otras condiciones distintas. Puede ocurrir que, caso de no
cumplirse la condición primera, se pregunte por otras condiciones de dos o tres
posibilidades. La sentencia condicional tendría entonces la forma:
If condición 1 Then
Instrucción uno
Else If Condición 2
Instrucciones dos
Else If Condición 3
Instrucción 3
Else
Instrucción que se realiza si no cumplir las condiciones 1, 2 y 3.
End If
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
Ejemplo 1
Realizar un programa que lea desde un cuadro de texto un valor de una temperatura, si
la temperatura leída 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, además cada vez que ejecute una
lectura debe retornar el cursor al cuadro de texto para digitar otra temperatura.
Para realizarla se requiere:
Un form1
Un button
Un label
Este código va en el Button y es quien realiza la operación.
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 < 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
1.Se declara una variable x entera
2.Se asigna lo leído o el contenido del textbox1 a la variable x
3.Se realiza la primera condición
4.Si esta se cumple muestra el mensaje frio.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
5.Si no cumple ejecuta la siguiente condición por el ElseIf para ejecutar la condición
de x > 27 para mostrar el mensaje de caliente.
6.Si no cumple con ninguna de las condiciones entonces ejecuta el else y muestra el
mensaje templado.
7.Note que por cualquiera de las opciones que tome, se retorna el foco al text1.tex
con la instrucción text1.focus y además limpia el cuadro de texto con la
instrucción, textbox1.text = “”.
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 Evalúa cada entrada y toma la acción que cumpla condición.
1.3. ESTRUCTURA CASE
Esta estructura Selecciona, dependiendo del caso, un determinado juego de
instrucciones:
Select Case variable
Case 1
Instrucción a ejecutar si variable = 1
Case 2
Instrucción a ejecutar si variable = 2
Case 3
Instrucción a ejecutar si variable = 3
Case 4
Instrucción a ejecutar si variable = 4
End Select
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
Este procedimiento resulta mucho mas sencillo y rápido que las sentencias If
Else, vistas anteriormente, cuando el margen de elección es mayor que 2.
Then
Ejemplo case 1
Crear un programa que al digitar un número entre 1 y 7 muestre el día de la semana al
cual corresponde y se digita un número 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 = ""
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
Case 3
MsgBox("Miercoles")
TextBox1.Focus()
TextBox1.Text = ""
Case 4
MsgBox("Jueves")
TextBox1.Focus()
TextBox1.Text = ""
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
1.4 APLICACIONES
Diseñar dos programas de estructuras condicionales, If Else, Case, donde aplique el
diseño de menú, enlace de formularios a cuadros de lista, Combo Box, RadioButton,
cuadros de texto, CheckBox, donde se aplique etiquetas, operadores.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
CAPITULO 2
ESTRUCTURAS DE ITERACIÓN SIMPLE
Estructura temática
Introducción
2.1. Estructura de iteración con evaluación previa y posterior
2.2 Estructura While
2.3. Estructura Do Loop While
2.4. Estructura Do Until
INTRODUCCIÓN
En La programación existen formas de trabajar estructuras de control por medio de
iteraciones que permiten realizar una acción antes o después de realizado un evento,
quiere decir que se evalúa una condición para realizar una acción, 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 programación es importante conocer y
apropiarse de los conceptos básicos de análisis lógico aplicado al diseño de programas.
OBJETIVO GENERAL
El estudiante aprende a conocer y aplicar las estructuras de iteración 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.
2.1. ESTRUCTURA DE ITERACIÓN CON EVALUACIÓN PREVIA
Se da cuando la condición de salida se evalúa antes de la ejecución de cada ciclo. Se
verifica primero la condición y si resulta ser adecuada se ejecutan las acciones asociadas
para volver a evaluar la condición. En este tipo de estructuras puede ocurrir que la
condición sea inadecuada la primera vez que se evalúa y que, por lo tanto, las acciones
asociadas no lleguen a ejecutarse nunca. La iteración con evaluación previa debe
utilizarse entonces en aquellos casos en que la ejecución de todo el ciclo esté sujeta al
estado previo de una condición, 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 línea 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 condición es inicialmente falsa- no se
escribirá ningún salto de línea ni se incrementará la variable.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
ESTRUCTURA DE ITERACIÓN CON EVALUACIÓN POSTERIOR
Se da cuando la condición de salida se evalúa después de la ejecución de cada ciclo.
Se ejecutan primero las acciones asociadas al ciclo, se evalúa luego la condición 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 iteración
con evaluación posterior debe utilizarse entonces en aquellos casos en que la evaluación
de la condición esté sujeta a la ejecución 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 acción de oprimir una tecla
2.2 ESTRUCTRA WHILE
La instrucción while permite ejecutar una instrucción o un grupo de instrucciones un
número determinado de veces mientras se cumple una condición
La forma de esta estructura es:
While (condición)
Bloque de instrucciones
End while
Mientras la condición se mantenga verdadera, el bloque se ejecutará "x" cantidad de
veces. Es necesario que alguna vez la condición se haga falsa, pues de lo contrario se
entraría en un ciclo infinito de repeticiones el programa se consideraría bloqueado. Por
lo tanto es necesario que en el bloque de instrucciones dentro de la estructura while, se
ejecute alguna acción que en algún momento haga que la condición sea falsa.
Un ejemplo del funcionamiento de la estructura de repetición while:
Cree en un formulario un botón de comando y haga el siguiente código para ver la forma
de evaluación de la condición y sus resultados. Se envía los datos de x a listbox1,
mientras cumple la condición de x <= 10.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
Para realizarlo se usa:
Un formulario form1
Un Label
Un Listbox
Y la programación 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 ejecutándose desde un Botón (Button) y tomando los datos
desde un textbox (caja de texto).
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
Botón 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
Botón 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
Botón Salir
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button3.Click
End
End Sub
http://www.youtube.com/watch?v=q1WlPxYF_qQ
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
2.3 ESTRUCTURA DO LOOP WHILE
La instrucción do while permite ejecutar una instrucción o un grupo de instrucciones un
número determinado de veces. Antes de evaluar el while se ejecuta al menos una vez el
proceso.
La estructura es:
Do
Instrucciones
Loop While condición control
Veamos un ejemplo en donde se imprimen los números del 1 al 4 usando esta
estructura.
Crear un formulario (form1)
Diigitar el codigo:
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(botón)
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
Digitar el código en el botón 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
2.3.1 Estructura do while loop
Do While condición
Acciones
Loop
Para el ejemplo: este se ejecuta desde el formulario (Form1).
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 3.
Carga un arreglo con Do While y lo Muestra o imprime con While.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
La programación va en el Botón (Button), Ejecutar.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Dim i As Integer = 0
Dim arreglo(7)
Do While i < 7
arreglo(i) = i
i=i+1
Loop
i = 0
While i < 7
MsgBox("Ejemplo Do While.. While " + i.ToString)
i=i+1
End While
End Sub
Al ejecutarse se puede ver el contenido del arreglo:
Ejemplo 3
Encontrar factorial de un número usando while.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
Código para encontrar el factorial de un numero.
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
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
Practica: revise que sucede al cambiar la instrucción de mostrar resultado, de donde
se encuentra fuera del while y agregarla dentro del While.
2.4 DO UNTIL
La diferencia entre una y otra es la condición, While para indicar Mientras se
cumpla que... y Until para indicar Mientras no se cumpla que....
X=0
Do Until X > 1000
X=X+1
Loop
Con el mismo ejercicio anterior se puede
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 Until i > x
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
fac = fac * i
i=i+1
MsgBox("Ejemplo Do While.. Factorial de " + x.ToString + " = " + fac.ToString)
Loop
Práctica
Realizar dos ejercicios con while y dos con do while en donde se aplique condicionales.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
CAPITULO 3
ESTRUCTURAS DE REPETICIÓN SIMPLE
Estructura temática
Introducción
3.1. Ciclo for
3.2. For anidado
3.4. For Each
3.5. Aplicaciones con for y lista
INTRODUCCIÓN
En La programación existen formas de trabajar estructuras de control por medio de
repeticiones que permiten realizar varias acciones determinadas previamente, quiere
decir que se evalúa una condición para realizar un numero 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 programación es importante
conocer y apropiarse de los conceptos básicos de análisis lógico aplicado al diseño de
programas.
OBJETIVO GENERAL
El estudiante aprende a conocer y aplicar las estructuras de repetición en su forma de
evaluar y ejecución 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.
3.1 CICLO FOR
Un ciclo for es una sucesión repetitiva de instrucciones, que se estarán realizando
mientras se cumpla una condición o mientras no se cumpla otra condición. que realiza
un número 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:
FOR (inicialización) TO (Final del bucle) STEP (paso)
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
Sentencias
........
NEXT
La sentencia realiza un ciclo desde la inicialización hasta el final o final del bucle. Para
llevar la cuenta se utiliza una variable, Con cada ejecución 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 número de
ejecuciones programado.
Existe un valor que sirve para indicar los pasos o saltos que se realizaran entre ejecución
y ejecución, es el valor STEP. Un STEP 3 determinaría que entre ejecución y ejecución
la variable se ha de incrementar en 3 unidades. En el caso de no indicar nada se realizan
pasos de 1 en 1. También puede trabajar con valores negativos.
Un ejemplo aplicado sería el siguiente:
Ciclo For ejemplo 1
Un mensaje en MsgBox en donde muestra los números 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.Ejecute.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
El código 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
End Sub
Al ejecutarse muestra:
Al dar clic sobre el Botón Aceptar muestra uno a uno los elementos del ciclo.
Hasta que cumpla con todos.
Ciclo for ejemplo 2
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
La programación para este ejercicio es la misma que el ejemplo de While para el botón
Nueva Lista y Salir, cambia es el uso del ciclo For en el Botón (Button) Ejecutar.
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 opción 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
3.1.1 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 subíndices para saber la
posición del elemento, cada índice es una posición para almacenar datos.
0
30
2
1
35
40
3
45
4
50
5
55
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
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.
Código para el form1.
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
End Sub
Al ejecutarse muestra la posición del arreglo y el número que va en el arreglo, como se
da i +1, mostrara el tamaño del arreglo.
Ejemplo arreglo
Ingresar datos a un arreglo por teclado. Por medio de InpuBox.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
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
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 Botón (Button)
Un ListBox
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
Código 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) = "Andrés"
nombres(2) = "Nicolas"
nombres(3) = "jars"
For i As Integer = 0 To 3
ListBox1.Items.Add(nombres(i))
Next
End Sub
3.2 FOR ANIDADOS
Esta clase de estructura de programación maneja un ciclo for dentro de otro ciclo for,
con la característica principal que por cada ejecución del ciclo del for mas externo, se
realiza todo el ciclo interno.
Sintaxis
FOR (inicialización) TO (Final del bucle) STEP (paso)
FOR (inicialización) TO (Final del bucle) STEP (paso)
Sentencias
NEXT
NEXT
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
En inicialización esta la variable con el valor inicial del for.
Final del bucle, hasta dónde va el ciclo
Step el incremento, si se omite por defecto es 1.
En esta estructura cuando ingresa un primer valor para i, j realiza todo el ciclo , cunado
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 número inicial hasta
un número final, para esto se trabaja:
Un formulario (Form1).
Para hacerlo usamos:
Dos label
Dos cajas de texto (TextBox)
Un ListBox
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
El código:
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
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
También se puede declarar Dim i, j, p,n,n1 As Integer.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
3.2.1 Matrices
Matriz de 3 X 3, quiere decir que tiene 3 filas 3 columnas, la intersección de fila
columna se identifica según 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 posición 2,2 es la fila 2 y la columna
Columna0 Columna1 Columna2
Fila0
Fila1
Fila2
Para la posición 1,1, fila 1, columna 1.
Para el ejercicio de ejemplo:
Columna0 Columna1 Columna2
Fila0
1
2
3
Fila1
4
5
6
Fila2
7
8
9
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
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
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í:
i= 0
j=0
j=1
j = 2 luego cambia i = 1 y de nuevo ejecuta el ciclo j.
Operación entre matrices
Suma de matrices.
Se deben crear tres matrices las de la operación y un destino para el resultado de la
operación.
Matriz datos con los números de 1 a 9 en cada posición.
Fila0
Fila1
Fila2
Columna0 Columna1 Columna2
1
2
3
4
5
6
7
8
9
Matriz datos1 con el número 2 en cada posición, se puede con otro número.
Fila0
Fila1
Fila2
Columna0 Columna1 Columna2
2
2
2
2
2
2
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 Botón (Button)
Programarlo.
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
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"
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
3.3 FOR EACH ... NEXT.
Esta construcción es similar al ciclo For, con la diferencia de que la variable que
controla la repetición del bucle no toma valores entre un mínimo y un máximo, sino a
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
partir de los elementos de un array (o de una colección de objetos). Su estructura es la
siguiente:
For Each variable In grupo
[ Sentencias]
Next
Public Class Form1
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
ListBox1.Items.Add(ComboBox1.Text)
sumar()
End Sub
Sub agregar()
ComboBox1.Items.Add(10)
ComboBox1.Items.Add(20)
ComboBox1.Items.Add(30)
ComboBox1.Items.Add(40)
End Sub
Sub sumar()
Dim total As Integer
For Each elementos In ListBox1.Items
total += elementos.ToString
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
Next
TextBox1.Text = total
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
agregar()
End Sub
End Class
3.4 APLICACIONES
Ejercicios
1.Cargar una matriz desde el teclado
2.Realizar la multiplicación de matrices
3.3. Realizar la división de matrices
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
ACTIVIDADES DE AUTOEVALUACIÓN DE LA UNIDAD 2
Preguntas de selección múltiple con una respuesta:
1. el resultado de y como resultado de la siguiente línea de código, al ingresar
por la caja de texto el número 3.
Dim x As Integer
Dim y As Integer
x = TextBox1.Text
If x > 5 Then
MsgBox("fuera de rango")
Else
x = x * y
y = x
MsgBox(" el valor de y es: " & y)
End If
A. 4
B. 3
C. 1
D. 0
2. el resultado de y como resultado de la siguiente línea de código, al ingresar
por la caja de texto el número 3.
Dim x As Integer
Dim y As Integer = 1
x = TextBox1.Text
If x > 5 Then
MsgBox("fuera de rango")
Else
x = x * y
y = x
MsgBox(" el valor de y es: " & y)
End If
A. 4
B. 3
C. 1
D. 0
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
3. estructura de programación que es una sucesión repetitiva de instrucciones,
que se estarán realizando mientras se cumpla una condición o mientras no se cumpla
otra condición. Que realiza un número de recorridos por el bucle
Esta estructura es:
A. Condicional If
B. Ciclo for
C. If else
D. While
4. La diferencia entre While y Until es: While para indicar Mientras se cumpla
que... y Until para indicar Mientras no se cumpla que
A. Falso
B Verdadero
5. al ingresar el número 5 en la caja de texto de la siguiente línea de código
Dim
Dim
x =
For
x, i As Integer
y As Integer
TextBox1.Text
i = 1 To x
y = y * i
Next
MsgBox(" el valor de y es: " & y)
Al ejecutarse el programa, Tiene como resultado en la variable y el valor:
A. 24
B. 120
C. 0
D. 12.
6. Al ingresar el número 5 en la caja de texto de la siguiente línea de código
Dim
Dim
x =
For
x, i As Integer
y As Integer = 1
TextBox1.Text
i = 1 To x
y = y * i
MsgBox(" el valor de y es: " & y)
Next
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
A.
B.
C.
D.
1 , 2, 6, 24, 120.
120
0
24
7. ciclo for se caracteriza por:
A. realizarse solo una vez si cumple la condición
B. se ejecuta dependiendo de la condicional falso o verdadero
C. se ejecuta un número determinado de veces controlado por una variable final
D. se ejecuta mientras cumpla una condición
8. la sentencia STEP se usa para:
A. indicar el siguiente programa
B. indicar el paso o salto del for
C. indicar siguiente ciclo
D. indica el fin del programa
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA
FUENTES DOCUMENTALES DE LA UNIDAD 2
BIBLIOGRAFIA
Comell, G. (1998). Manual de Visual 2010 3.0 Para Windows. Editorial McGraw Hill.
DIRECCIONES DE SITIOS WEB
Condicional
http://enatorv.wordpress.com/2010/06/06/aplicacion-4-usando-keychar-pasar-foco-aun-textbox-al-presionar-enter/
Arreglos
http://msdn.microsoft.com/en-us/library/vstudio/wak0wfyt%28v=vs.100%29.aspx
http://mouse-puntonet.blogspot.com/2010/07/arreglos-en-vbnet.html
http://www.dotnetperls.com/arraylist-vbnet
VIDEOS
Arreglos
http://www.youtube.com/watch?v=broPkjHSh0M
Descargar