Sunteți pe pagina 1din 27

GUIA DE LABORATORIO 1

Nombre de la Practica: INTRODUCCION A VISUAL BASIC .NET


Lugar de Ejecución: Centro de Computo
Tiempo Estimado: 2 horas y 30 minutos
MATERIA: Lenguajes de Programación

I. OBJETIVOS

Que el estudiante:

Reconozca el entorno de herramientas y ventanas que forman al IDE de Visual Studio .Net
Se familiarice con los tipos de proyectos de Visual Basic .NET
Elabore programas respetando la sintaxis de VB.NET
Aplique los pasos para la construcción de una aplicación de tipo Windows Form.
Diferencie uso de los Tipos de Datos y variables que existen en VB.NET
Pueda declarar variables en diferentes ámbitos/alcances

II. INTRODUCCION TEORICA

¿Qué es Visual Basic?


Visual Basic es un ambiente gráfico de desarrollo de aplicaciones para el sistema operativo Microsoft Windows.
Las aplicaciones creadas con Visual Basic están basadas en objetos y son manejadas por eventos. Visual Basic se
deriva del lenguaje Basic, el cual es un lenguaje de programación estructurado. Sin embargo, Visual Basic emplea
un modelo de programación manejada por eventos.

¿Qué es Visual Basic .NET?


Es un lenguaje orientado a objetos y eventos que soporta encapsulación, herencia y polimorfismo; comparte el
entorno de desarrollo con Microsoft Visual C++ .NET, Microsoft Visual C# .NET, etc.

Entorno de Desarrollo
Visual Studio es un conjunto completo de herramientas de desarrollo para la generación de aplicaciones Web
ASP.NET, Servicios Web XML, aplicaciones de escritorio y aplicaciones móviles. Visual Basic, Visual C++, Visual
C# y Visual J# utilizan el mismo entorno de desarrollo integrado (IDE), que les permite compartir herramientas y
facilita la creación de soluciones en varios lenguajes. Asimismo, dichos lenguajes aprovechan las funciones de

1
Guía # 01: INTRODUCCION A VISUAL BASIC
.NET
.NET Framework, que ofrece acceso a tecnologías clave para simplificar el desarrollo de aplicaciones Web ASP y
Servicios Web XML.

Imagen 1.1: Vista inicial de un proyecto Windows Forms

Imagen 1.2: Vista de los controles mas comúnmente utilizados en un formulario

Lenguajes de Programación 1 2
Guía # 01: INTRODUCCION A VISUAL BASIC
.NET

Visual Basic 2008 incluye entre muchas capacidades, la continuación de bucles, la disposición garantizada de
recursos, las propiedades de acceso combinado, los tipos de datos sin signo y que aceptan valores NULL, la
sobrecarga de operadores, los tipos parciales y genéricos, los eventos personalizados y la comprobación de la
compatibilidad con Common Language Specification (CLS).

Ambiente de desarrollo para Aplicaciones Windows


En VB hay diversas de tipos de proyectos disponibles, de los cuales se trataran a los proyectos de tipo Windows.
Estos proyectos presentan un formulario en blanco con las ventanas de apoyo mostradas en la imagen 1.1.

Cuadro de Herramientas
Dentro de un formulario, VB dispone al programador de una serie de controles, los cuales son las maneras de
cómo la aplicación puede interactuar con los usuarios a los cuales ira dirigida la aplicación a construir. Con el
.NET Framework 3.5 consta de una diversidad de controles y objetos para usar en las aplicaciones, clasificados en
categorías. En la imagen 1.2 se muestran un listado de los controles más comunes utilizados dentro de un form.

Una descripción básica de algunos de estos se muestra en la Tabla 1. Observe que cada control tiene su icono,
nombre, prefijo y su descripción.

Icono Nombre Prefijo Descripción


Controles
comunes
Button btn Se utiliza para iniciar, detener o interrumpir un proceso

CheckBox chk Muestra una casilla de verificación y una etiqueta para


texto. Se utiliza en general para establecer opciones.
ComboBox cbo Muestra una lista desplegable de elementos.

DateTimePicker dtp Muestra un calendario gráfico desplegable, que permite


que los usuarios seleccionen una fecha o una hora.
Label lbl Muestra texto que los usuarios no pueden modificar
directamente.
ListBox lst Muestra una lista de textos, también llamados elementos.

MaskedTextBox msk Captura texto escrito por el usuario, ya sea teniendo un


formato de entrada.
PictureBox pic Muestra archivos de imágenes, tales como mapas de bits e
iconos, gifs, etc.
RadioButton rdb Muestra un botón que puede activarse o desactivarse.

TextBox txt Muestra texto escrito en tiempo de diseño que puede ser
editado por los usuarios en tiempo de ejecución.
Components
ImageList img Es un contenedor de imágenes, para que después se use
con otros controles.
Timer tmr Sirve para realizar un conteo de tiempo, en tiempo de
ejecución.

Lenguajes de Programación 1 3
Guía # 01: INTRODUCCION A VISUAL BASIC
.NET
Icono Nombre Prefijo Descripción
Containers
FlowLayoutPanel flp Es un contenedor de controles que no permite la
modificación de la posición del control.
GroupBox gpb Agrupa un conjunto de controles (tales como botones de
opción) en un marco con etiqueta.
Panel pnl Agrupa un conjunto de controles en un marco sin etiqueta
que permite el desplazamiento.

Tabla 1: Descripción de algunos controles más utilizados de la “barra de controles”

El prefijo es una combinación de letras que se le sugiere al programador colocar al inicio del identificador
(nombre) del control agregado, de acuerdo al tipo del mismo. Con este prefijo, se pretende que al momento de
dar lectura a un código con muchas referencias a objetos utilizados, sea más fácil de entender y comprender.

Estructura de un programa en Visual Basic


El código VB se agrupa en Módulos/Procedimientos y en Clases que se almacenan en 1 o mas archivos. A su vez,
estos archivos se agrupan en proyectos, que se compilan en aplicaciones.
Los módulos de clase se verán posteriormente en el
curso.

Módulos estándar
Un modulo agrupa código fuente de una aplicación y se almacena en una archivo .vb. Para definir un modulo se
usa la sintaxis siguiente:
[Public │ Friend] Module nombre_modulo
[Sentencias]
End Module

Procedimientos
Tal como recordara en cursos anteriores, un procedimiento es un conjunto de sentencias limitadas en un bloque
bajo un nombre. En VB, el bloque de sentencias va limitado entre las declaraciones Sub y End Sub, o Function y
End Function, los cuales se utilizan así:

Procedimiento Sub: ejecutan acciones pero no devuelven un resultado al código que lo invoco
Procedimiento Function: ejecutan acciones y devuelven un resultado al código que los invoco.
Procedimientos conducidos por Eventos: son procedimientos que se ejecutan como respuesta a un suceso
ocurrido en un programa.
Procedimientos que definen propiedades: permiten devolver o asignar valores a propiedades definidas en un
modulo, clase o estructura.
Procedimientos que sobrecargan operadores. Definen la conducta de un operador estándar en un contexto
diferente para el que esta definido.
Procedimiento Main
Este procedimiento es el “punto de entrada/inicio” de la aplicación, el 1er procedimiento al cual se obtiene acceso
al ejecutar el código.

Lenguajes de Programación 1 4
Guía # 01: INTRODUCCION A VISUAL BASIC
.NET
Un procedimiento será invocado desde algún otro lugar en el código, para ceder el control de ejecución a este
nuevo código. Al finalizar el procedimiento, retorna el control de ejecución al código que lo mando a llamar.

En esta introducción nos centraremos en los procedimientos conducidos por eventos y además a
Main.

El procedimiento Main es publico (public), no tiene argumentos/parámetros y no devuelve valor al


finalizar
Un procedimiento activado por evento se crea agregando al encabezado de un procedimiento la palabra Handles
y luego la pareja (NomObjeto.NomEvento) al cual será enlazado. Por ejemplo, el siguiente código es un
procedimiento que enlaza el evento Clic del control btnSaludo. El código contenido en este procedimiento se
activara cada vez que usuario de clic sobre dicho control.

Private Sub btnSaludo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles


btnSaludo.Click
MsgBox ("Hola a todos")
End Sub

Manejo de Variables en VB.Net

Tipos de datos disponibles


En Visual Basic Net a toda variable que se use en un programa, se le debe asociar (generalmente al principio del
programa) un tipo de dato especifico. Un tipo de dato define todo el posible rango de valores que una variable
puede tomar al momento de ejecución del programa y a lo largo de toda la vida útil del propio programa.
Varios de los tipos de datos más comunes en Visual Basic Net se muestran en la Tabla
2

Declaración de Variables
Para declarar una variable dentro de un procedimiento se realiza anteponiendo el Ambito (ver mas adelante) con
la palabra reservada Dim al nombre de la variable, seguida de la palabra reservada As y el tipo de dato declarado.
Un ejemplo sencillo sería: Dim strMiVar As String
Observe varios ejemplos de declaración de variables en la descripción de los tipos de datos de la Tabla
2.

Tipo de dato Tipo en CLR


Rango valores disponibles
(Visual Basic) (Framework)
Boolean System.Boolean True (verdadero), False (falso)
Ejemplo: Dim Res As Boolean = True
Byte System.Byte Valores positivos (entre 0 a 255).
Ejemplo: Dim b as Byte = 129
Date System.DateTime Fechas, entre las 0:00:00 del 1 de Enero del 0001 hasta las 23:59:59 del 31
de Diciembre del 9999.

Las fechas deben representarse entre almohadillas # y por lo habitual


usando el formato norteamericano: #m-d-yyyy#
Dim d As Date = #10-27-2001#

Lenguajes de Programación 1 5
Guía # 01: INTRODUCCION A VISUAL BASIC
Integer System.Int32 Un número entero (sin .NET
decimales).
Valores: de -2,147,483,648 a 2,147,483,647. Se puede usar la letra I o el

Lenguajes de Programación 1 6
Guía # 01: INTRODUCCION A VISUAL BASIC
.NET
Tipo de dato Tipo en CLR
Rango valores disponibles
(Visual Basic) (Framework)
signo % para indicar que es un número entero:
Dim unEntero As Integer = 250009I
Dim unEntero2 As Integer = 652000%
Single System.Single Número de coma flotante de precisión simple. Valores: de -3.4028235E+38
a -1.401298E-45 para valores negativos; de 1.401298E-45 a 3.4028235E+38
para valores positivos. Se pueden usar la letra F y el símbolo ! para
indicar que es un número Single:
Dim unSingle As Single = 987.125F
Dim unSingle2 As Single = 65478.6547!
String System.String Depende de la plataforma. Una cadena de caracteres Unicode.
(cadenas de (clase) Valores:
longitud
variable) De 0 a aproximadamente 2 billones (2^31) de caracteres Unicode.
Se puede usar el símbolo $ para indicar que una variable es un String.

Tabla 2: Algunos de los tipos de datos más utilizados en VB.NET

Si declaramos un conjunto de variables de un mismo tipo se declaran de la forma:


Dim strMiVar1, strMiVar2, strMiVar3 As String

En VB NET podemos declarar una variable y asignarla un valor inicial a la hora de declarar esta variable. El
siguiente ejemplo, ayudará a comprender mejor esto:
Dim strMiVar As String = "Ejemplo en Visual Basic 2005"
Inclusive podemos declarar variables de forma anidada y asignarle valores directamente, como por ejemplo:
Dim Val1 As Integer = 2, Val2 As Integer = 3, Val3 As Integer = Val1 + Val2

Otro aspecto destacable en la declaración de variables en Visual Basic 2005, es el uso y gestión de variables de
tipo String. Este tipo de variables se declaran como Nothing en su inicialización. Es decir, una variable String
que se declara por primera vez, no se inicializa a "" -cadena vacía- sino que se inicializa a un valor Nothing.
Observe esta demostración:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles MyBase.Load
Dim strValor As String
If strValor Is Nothing Then
MessageBox.Show("guarda Nothing")
Else
MessageBox.Show("Tiene datos")
End If
End Sub

Este ejemplo, mostrará en pantalla que el valor de la variable strValor es “Nothing”, y que por lo tanto, se trata de
una variable no inicializada.

Por último, mencionar un aspecto destacable sobre el carácter " en las cadenas de texto. Una cadena de texto debe
de ser introducida entre caracteres ". Sin embargo, podemos encontrarnos con la posibilidad de que queremos

Lenguajes de Programación 1 7
Guía # 01: INTRODUCCION A VISUAL BASIC
.NET
escribir este mismo carácter dentro de la cadena de texto. Esto se hará duplicando siempre el carácter " que
queremos escribir. Si por ejemplo queremos escribir la palabra Hola “Mundo”, declararemos nuestra variable
como:
txtVar = "Hola ""Mundo""

Ambito de las variables


El ámbito indica en que lugar de la aplicación podra y deberá utilizar la variable. Puede ser una de las siguientes
palabras claves. Dim, Static, Private o Public.
Dim: Se puede utilizar a nivel de procedimiento y a nivel del formulario. Si se declara una variable a nivel de
procedimiento con la palabra Dim, Visual Basic reinicializa (borra su contenido) la variable cada vez que ejecuta
el procedimiento. Ejemplo: Dim a As Integer
Static: Se utiliza solo a nivel del procedimiento. Cuando una variable se declara con la palabra Static, Visual Basic
no reinicializa la variable cada vez que se ejecuta el procedimiento, solo lo hace la primera vez. Esto quiere decir
que la variable conserva su valor entre una llamada al procedimiento y otra. Ejemplo: Static b As Double
Private: Se utiliza solo a nivel del modulo e indica que la variable es privada; es decir, solo va a ser reconocida
dentro del módulo donde ha sido declarada, ejemplo: Private c as String
Public: Se utiliza solo a nivel de módulo e indica que la variable es pública; es decir, va a ser reconocida en toda
la aplicación. Ejemplo Public d As Date

Declaración de Constantes
Dentro de una aplicación, puede ser adecuado e interesante la declaración y uso de valores constantes cuyo valor
asignado, no sea modificable a lo largo de la aplicación y que se utilice para un caso o ejecución determinada.
El típico valor constante de ejemplo en toda demostración del uso y declaración de variables constantes es el
valor PI. Para declarar una variable de tipo constante, tendremos que declarar el tipo de variable con la palabra
reservada Const delante de la variable. Observe el siguiente ejemplo:

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles


MyBase.Load
Const PI As Double = 3.1416
Dim dValor As Decimal
dValor = (2 * PI) ^ 2
MessageBox.Show(dValor)
End Sub

Expresiones en VB: Prioridad en los Operadores


Los operadores mas utilizados en la redaccion de expresiones en VB.NET se muestran en la Tabla 3.
Cuando se escriben aplicaciones es posible que tenga que utilizar varios operadores para evaluar una sola
expresión ó conjunto de ellas.
Dim dblRet As Double
dblRet = 5 * 4 / 6 ^ 4 + 9 – 100 'devuelve -90.9845679012346
Console.WriteLine(dblRet)
Console.ReadLine()

En esta expresión, se utilizan cinco operadores para recuperar el valor de la variable dblRet. El orden de
prioridad en el que se evalúan los operadores afecta al resultado.

Lenguajes de Programación 1 8
Guía # 01: INTRODUCCION A VISUAL BASIC
.NET
Dim dblRet As Double
dblRet = ((5 * 4) / 6) ^ 4 + 9 - 100 'devuelve 32.4567901234568
Console.WriteLine(dblRet)
Console.ReadLine()
En ambos ejemplos, se observa que aunque utilicen los mismos números, los resultados son diferentes en función
del uso de los paréntesis. Por lo tanto hay que tener en cuenta dos elementos:
1. La ubicación de los paréntesis en la expresión
2. El orden de los operadores en la expresión

# Agrupación ARITMÉTICOS COMPARATIVOS LÓGICOS


1 ()
2 Exponenciación (^) = Negación (Not)
3 Negación (-) <> Conjunción (And, AndAlso)
4 Multiplicación y división (*, /) < > <= >= Disyunción (Or, OrElse, Xor)
5 División de números enteros (\)
6 Módulo aritmético (Mod)
7 Suma y resta (+, -)
8 Operadores a bits Like, Is…
9 Concatenación de cadenas (&)

Tabla 3: Jerarquía de algunos de los Operadores de VB.NET

Cuando se utilizan paréntesis en una expresión, son los primeros en calcularse, por lo tanto en los ejemplos
anteriores, se dan dos resultados diferentes porque los paréntesis anulan el orden de prioridad de los operadores,
lo que ocasiona que una porción ó varias de la expresión se evalúen por otras. A continuación se incluye un
resumen de las reglas:
La evaluación de los operadores se efectúa de izquierda a derecha.
Los operadores aritméticos se evalúan siempre en primer lugar, seguidos de los operadores comparativos y,
por último, los operadores lógicos.
Los operadores comparativos tienen el mismo orden de
preferencia.
Las operaciones encerradas entre paréntesis se evalúan antes que las operaciones situadas
afuera.
El operador de concatenación precede a todos los operadores comparativos y se sitúa detrás de los
operadores aritméticos.

FUNCIONES DE CONVERSION DE TIPOS.


Son funciones del sistema que sirven para hacer conversiones de tipos de datos, pasar una variable de un tipo de
dato a otro, siempre y cuando la variable que queremos convertir contenga un valor valido equivalente al tipo de
dato que queremos convertir.
Las funciones de conversiones () se deben utilizar cuando tenemos activo el Opcion Strict que obliga a utilizar
los tipos de datos adecuados sino genera un error. Las funciones de conversión más comunes son:

Nombre de la Tipo de dato que


Valores del argumento
función devuelve
CBool(expresion) Boolean Cualquier valor de cadena o expresión numérica.
Lenguajes de Programación 1 9
Guía # 01: INTRODUCCION A VISUAL BASIC
.NET
Nombre de la Tipo de dato que
Valores del argumento
función devuelve
CByte(expresion) Byte De 0 a 255; las fracciones se redondean.
CChar(expresion) Char Cualquier expresión de cadena; los valores deben ser de 0 a
65535.
CDate(expresion) Date Cualquier representación válida de una fecha o una hora.
CDbl(expresion) Double Cualquier valor Double.
CDec(expresion) Decimal Cualquier valor Decimal
CInt(expresion) Integer Cualquier valor Integer
CLng(expresion) Long Cualquier valor Long.
CObj(expresion) Object Cualquier expresión válida.
CShort(expresion) Short Cualquier valor Short.
CSng(expresion) Single Cualquier valor Single.
CStr(expresion) String Depende del tipo de datos de la expresión. (Ver nota [A])

Val(expresion) Double Una cadena de caracteres.


Fix(expresion) Depende del tipo de Cualquier tipo de datos
datos de la expresión
Int(expresion) Depende del tipo de Cualquier tipo de datos
datos de la expresión
[A] Todos los objetos de vb.NET tienen unos métodos para realizar conversiones a otros tipos, al menos de
número a cadena, ya que tienen la propiedad .ToString que devuelve una representación en formato cadena del
número en cuestión (igual que CStr).
Tabla 3: Lista de funciones intrínsecas más comunes

Sentencias de Control Condicional


En VB se dispone de las siguientes estructuras de tomas de decisiones:
If … Then [ Else ] Select Case
Ambas estructuras son equivalentes en su ejecución a las estructuras if-else y switch de lenguaje C,
respectivamente. Observe la sintaxis de uso en Tabla 4.
Estructura If-Then-[Else] Estructura Select Case
Select [Case] [(]ExpresionaProbar[)]
If [(] Condición[)] Then Case Expresion1
Sentencias cuando se cumpla Condición [sentencias 1]
[Else [Case Expresion2]
Sentencias a ejecutar al no cumplir condición [sentencias 2]
]
End If [Case Else]
[sentencias n]
End Select
+ Nota: los elementos entre [ ] son opcionales
Tabla 4: sintaxis generales de estructuras repetitivas de VB

Lenguajes de Programación 1 1
0
Guía # 01: INTRODUCCION A VISUAL BASIC
.NET
Con respecto a estructura Select Case…

Lenguajes de Programación 1 10
10
Guía # 01: INTRODUCCION A VISUAL BASIC
.NET

La variable ExpresionaProbar puede ser una expresión numérica o Expresion[, Expresion] …


alfanumérica, y Expresion1, Expresion2… representan una lista de Expresion To Expresion
expresiones que pueden tomar estas formas:
Is Operador-de-relacion Expresion

En todas estas formas, Expresion debe ser del mismo tipo que la
Combinación de las anteriores
ExpresionaProbar.

Observe algunos ejemplos a continuación


Ejemplos de Expresiones
Significado…
En sentencia Case
Case Is < 4 la ExpresionaProbar sea menor que 4
Case Is >= Q ExpresionaProbar sea mayor o igual que valor Q
Case 3 El valor de ExpresionaProbar sea igual a 3
Case W To 52 ExpresionaProbar esté ubicado en el rango: valor de W hasta 52 máximo
Case 7, A ExpresionaProbar sea igual a 7 o igual al valor de A
Case “si”,”SI” ExpresionaProbar sea “si” o sino “SI”
Case 6, -12 To 4 ExpresionaProbar sea igual a 6, o que se ubique en rango -12 a 4

Si estructura Select no encuentra coincidencia con ninguna de las expresiones de pruebas Case, buscara ejecutar
bloque Case Else.

Comentarios (ayuda para ti programador!!)


Cuando una línea de un programa, o parte de ella, va precedida de una comilla simple ( ‘ ), VB ignorara esta línea
como un comentario, iniciando del carácter siguiente hasta el final de esa línea.

III. MATERIALES Y EQUIPO

Para la realización de la guía de práctica se requerirá lo siguiente:


No. Requerimiento Cantidad
1 Guía de Laboratorio #01 de LP1 1
PC con Microsoft Visual Studio 2010 .NET instalado 1
2 Memoria USB 1
3 Computadora con acceso a Internet 1

IV. PROCEDIMIENTO

Para esta práctica deberá crear una carpeta con el nombre de “Práctica1LP1_CARNET”, en la cual va a guardar
todos los archivos de esta práctica y de análisis de resultados.

Lenguajes de Programación 1 11
11
PARTE 1: Creando una Aplicación Windows

Pasos para la creación de aplicaciones en Visual Basic


1. En el menú Inicio de Windows, localice a Microsoft Visual Basic 2010 dentro del listado de accesos de
programas instalados
2. Aparecerá la pantalla de bienvenida que es la interfaz para Visual Studio, también conocida como
Entorno de Desarrollo Integrado o IDE.
3. Haga clic en el menú Archivo y luego sobre opción Nuevo Proyecto…
4. Aparece el cuadro de diálogo Nuevo proyecto (Ver Figura 1.1).
5. De las plantillas recientes (ver columna a la izquierda), seleccione Visual Basic y luego su plantilla
“Windows”. En la parte central, de clic sobre opción “Aplicación de Windows Forms”

Figura 1.1: Selección de tipos de Proyectos en Visual Studio .NET

6. En la parte inferior, en la opción Nombre, modifíquelo con el nombre Ejemplo1, el cual será el nombre de
nuestro proyecto. Haga clic en Aceptar.
7. Ahora proceda a incluir en el area de Diseño del Form, a c/u de los controles mostrados en la Figura 1.2
Apóyese en la imagen 1.1 (de la introducción teórica), localice el panel Cuadro de herramientas y
determine el tipo control a utilizar.

8. Hay 2 maneras de agregar los controles deseados al formulario:


a) Dar clic sobre el control requerido de la barra herramientas y luego dar un clic en el area del form que
usara ese control.
b) Dar clic sobre el control en barra herramientas y luego, colocar cursor del ratón sobre area del form,
manteniendo presionado botón principal .
Establecer las propiedades de los Controles

9. Las propiedades de un Control, cambian la apariencia y/o el funcionamiento del mismo ante el usuario
que usa el form. Una propiedad en Visual Basic representa un atributo de un objeto, en este caso, un
Control. Por ejemplo:
Uno de los atributos de un control Button es el texto que este muestra. En este caso, se puede modificar al
asignar la propiedad Text. La mayoría de éstas modificaciones también se pueden establecer o ejecutar
dentro del código del programa
Las propiedades pueden tomar muchos tipos diferentes de valores además del texto.
Si se cambia el tamaño de un control o se reubica, también se actualizan las propiedades Size y Location
que determinan el tamaño y la ubicación de un control en el formulario.

CONTROL PROPIEDAD Nuevo VALOR


Form1 Text Pruebas de ámbito de
variables
BackColor Un color Personalizado a su
gusto
Button1 Name btnContar
Text Contar
Button2 Name btnReinicio
Text Reiniciar conteo
Button3 Name btnFin
Text Salir programa

Figura 1.2: Vista Formulario del Ejemplo 1 y los controles


requeridos.

10. En la tabla de la Figura 1.2 se detalla a los diferentes controles colocados en el Form1 y las propiedades (y
su nuevo valor) que deberá modificar antes de continuar. Observe uso de prefijos en el identificador de
c/control (que es definido en propiedad Name de c/control).

Agregar el código y la funcionalidad al Programa

11. Para agregar código a un determinado control se debe de hacer doble clic sobre el. De doble clic sobre un
area del control Form1. Se abrirá una nueva ventana denominada Editor de código, como se muestra en la
Figura 1.3.

Figura 1.3: Editor de código de Visual Studio .NET


En la parte superior se muestran los contenidos de los archivos de código y diseño de los objetos Form y
modulo.
Luego hay 2 listados de selección en la parte superior, el de la izquierda muestra los Nombres de Objetos
disponibles y a la derecha los Nombres de los Procedimientos de Eventos en los cuales se agregaran los códigos
a programar. Estos permiten ubicar al cursor de escritura en el modulo y procedimientos correctos a
programar.

12. En la Figura 1.3, el Editor de código muestra primero el encabezado-final del modulo de clase Form1, el
cual contendrá a su vez todo el código utilizado para programar a los objetos insertados en el mismo.
Luego se muestra el encabezado-final del procedimiento de evento Load del objeto formulario Form1, así:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
MyBase.Load

End Sub

13. Este código es un Controlador de evento, también denominado procedimiento Sub manejado por evento.
Cualquier código dentro de este procedimiento (entre Sub y End Sub) se ejecuta cada vez que suceda el evento
programado para ese control.

14. Ejecute el programa creado hasta aquí. Lo puede hacer de tres formas diferentes:
• Presionando la tecla F5
• Eligiendo en el menú Depurar -> Iniciar Depuración

• Haciendo clic en la Barra Estándar en el 1er icono del siguiente trio de la barra de botones Estándar.

15. Finalice la ejecución del programa en diseño, seleccionando el 3er botón del trio mencionado en paso
anterior.

PARTE 2: Declaración de variables y Ámbito/Alcances de las mismas

16. Retorne a la ventana de código del form1. Desplace el cursor en cada línea de código y observe que los
listados superiores de ubicación de código cambian de acuerdo a donde se localice el cursor.
17. Ahora redacte cada bloque de código a continuación. Para ello, seleccione c/objeto y el Evento/Nivel a
programar (de los cuadros de selección objeto-eventos superiores) indicados.
(*) Por cada selección cuide la ubicación del cursor, porque VB le ayuda a colocarlo al inicio del bloque donde
usted ha ubicado a las opciones de objetos y eventos para programar!!

Objeto y Evento/Nivel
código a incluir
Form1 (Declaraciones)
'Private conta As Integer 'variable entera de alcance privado
Private mensa As String
(Form1 eventos) Load
'Evento se ejecuta al iniciar ejecucion de Form1
mensa = "Aun no ha presionado boton Contar"
Label1.Text = mensa
btnContar Click
'Acumulador, total veces que presiona boton
Dim conta As Integer
conta = conta + 1
'conta += 1 ‘En forma de Operador Abreviado
mensa = "Presiono boton Contar, un total de " & CStr(conta) & " veces"
Label1.Text = mensa

btnReinicio Click
'Restaura conteo clic realizados a button1
'conta = 0
'mensa = "Presiono boton Contar, un total de " & CStr(conta) & " veces"
Label1.Text = mensa
BtnFin Click
End 'Finaliza aplicación

18. Ejecute nuevamente la aplicación, observe el mensaje en la Label1. De clic sobre el botón Contar. Observe
que variable conta cuenta el total de clic hechos al control por usuario.
19. De clic varias veces en botón Contar. Vera que no funciona el conteo hecho por la variable conta, siempre
muestra 1 vez ha hecho clic.
20. De clic en botón Salir programa. El programa finaliza su ejecución y retorna a la etapa de diseño.

21. Localice el código del evento Clic del control btnContar y reemplace la palabra reservada Dim de la
declaración de variable conta, por la palabra Static.
22. Ejecute nuevamente el programa y de clic varias veces en el botón Contar. Responda ¿Ahora funciona el
conteo?, ¿Por que?, Explique!!

23. Finalice ejecución y regrese a la ventana de Diseño del Form1. Ubique el cursor en el código del evento
Click del botón btnReinicio y reactive (quitando comilla simple de comentario) a las asignaciones a las
variables conta y mensa ejecutadas ahí.
24. Vera que se marca error al indicar que variable conta no esta creada en el procedimiento Button2_Click
25. Para corregirlo, comente la línea de declaración de variable conta, ubicada en evento click del btnContar
26. Seleccione Objeto Form1 y Nivel de (Declaraciones) de los cuadros de listas de ubicación del Cursor, para
luego agregar ahí una nueva declaración: Dim conta As Integer
27. Vuelva a ejecutar el programa y en algún momento presione botón btnReinicio. El valor de variable conta
será asignado a cero

28. Guarde su proyecto, presionando opción Archivo/Guardar Todo.... Observe la ubicación (carpeta de
proyectos de Visual Studio) predetermina que ofrece Framework. Guarde su proyecto en carpeta mis
documentos del usuario con el cual ha iniciado sesión en su PC.
29. Finalmente localice y presione opción Archivo/Cerrar Proyecto
PARTE 3: Tomas de decisiones (If Then Else)

Ahora procederá a solucionar este problema:


“Una administradora de prestamos requiere ingresar los datos de un préstamo (Monto a prestar, Tasa
interés mensual y total de años (a 2 años inicialmente)) que se entregara a una Empresa ingresada.
Determine el monto final que se pagara”.

1. De clic en la opción Archivo/Proyectos y soluciones recientes.


2. En esta lista de proyectos recientes, localice el nombre del proyecto (archivo Ejemplo1.vbproj) utilizado
hasta ahora.
3. En la ventana Explorador de Solución, ubique el nombre del proyecto actual y de clic secundario sobre el
mismo. Del menú emergente seleccione opción Agregar, luego Windows Forms…
4. En la ventana “Agregar nuevo elemento- Ejemplo1”, observe que en la parte central ya esta seleccionado
“Windows Forms”. Confirme en última opción (Nombre: ) que el nombre del archivo sea (Form2.vb) y
presione Agregar. Observe que se muestra un nuevo form vacio y también, desde el explorador de
solución, se agrega un elemento mas (Form2.vb) al proyecto actual.
5. Luego, desde el explorador de soluciones de clic derecho sobre el proyecto (Ejemplo1), para seleccionar
opción Propiedades. En esta ventana, ubique opción “Formulario de inicio” y modifique valor a Form2.
6. Guarde los cambios del proyecto actual.

7. Luego aplique al Form2 el diseño definido en Figura 1.4.

Figura 1.4: Diseño de controles del Form2

8. Con mucho cuidado, seleccione a cada control mostrado en la tabla a continuación, para luego modificar
a c/propiedad solicitada ahí con el valor indicado.

(propiedades)
(controles) Name Text Enabled Checked
Form2 Calculo del Monto a pagar por un
Préstamo
Label1 lblEmpresa Nombre de Empresa:
(propiedades)
(controles) Name Text Enabled Checked
Label2 lblMonto Monto préstamo ($)
Label3 lblTiempo Tiempo (años)
Label4 lblTasaInter Tasa Interes:
RadioButton1 rdbInteres1 12 % True
RadioButton2 rdbInteres2 23.5 %
RadioButton3 rdbInteres3 Otro, indique:
TextBox1 txtEmpresa (vacio)
TextBox2 txtMonto (vacio)
TextBox3 txtTiempo 2
TextBox4 txtTasaInterEX 0 False
Button1 btnAnalisis Analisis Financiero
Button2 btnFin Salir del programa
ListBox1 lstResul False
* Extra: Para el cuadro lstResul, seleccione además la propiedad Items, y presione en Colecciones.. que se indica
ahí, para luego agregar valor: (Resultados). Esto agregara este texto como 1er elemento del control lstResul

9. Realice la siguiente asignación de código, de acuerdo al objeto y evento indicados a continuación.

Objeto y Evento/Nivel
código a incluir
Form2 (Declaraciones)
Private TasaI As Decimal

rdbInteres3 CheckedChanged
If rdbInteres3.Checked = True Then
txtTasaInterEX.Enabled = True
txtTasaInterEX.Focus()
Else
txtTasaInterEX.Text = "0"
txtTasaInterEX.Enabled = False
End If

rdbInteres1 Click
TasaI = 0.12

rdbInteres2 Click
TasaI = 0.235

btnFin Click

End 'Fin de aplicación


btnAnalisis Click
'Valida que los datos ingresados sean correctos
Dim NomEmpre As String
Dim MontoInic, MontoFin As Decimal
Dim Tiempo As Integer

NomEmpre = txtEmpresa.Text
NomEmpre = NomEmpre.Trim() 'Quita espacios-blanco al inicio-final
If NomEmpre.Length = 0 Then
'Si no hay caracteres en nombre empresa
MsgBox("Debe indicar Nombre de la empresa", MsgBoxStyle.Information)
txtEmpresa.Focus()'metodo que indica que control txtEmpresa recibira Cursor
Exit Sub
End If

If IsNumeric(txtMonto.Text) = False Then


'Si ha escrito cantidad numerica incorrectamente
MsgBox("Valor Monto incorrecto", MsgBoxStyle.Information)
txtMonto.Focus()
Exit Sub
Else
'Prueba que cantidad sea negativa
MontoInic = CDec(txtMonto.Text) 'Invoca funcion de conversion CDec
If Not (MontoInic > 0) Then
MsgBox("Valor Monto no puede ser negativo", MsgBoxStyle.Critical)
txtMonto.Focus()
Exit Sub
End If
End If

Tiempo = CInt(txtTiempo.Text) 'toma tiempo ingresado

'Si selecciono Tasa interes3, valida que sea


correcta
txtTasaInterEX.Text=txtTasaInterEX.Text.Trim()

If rdbInteres3.Checked = True Then


If txtTasaInterEX.Text.Length > 0 Then
If Not IsNumeric(txtTasaInterEX.Text) = True Then
MsgBox("Tasa interes incorrecta", MsgBoxStyle.Critical)
txtTasaInterEX.Text = "0"
txtTasaInterEX.Focus()
Exit Sub
Else
TasaI = CDec(txtTasaInterEX.Text) / 100
End If
Else
MsgBox("Aun no ha indicado una Tasa interes", MsgBoxStyle.Information)
txtTasaInterEX.Focus()
Exit Sub
End If
End If

'Hace el calculo esperado


MontoFin = MontoInic * (1 + TasaI) ^ Tiempo

'Muestra la respuesta (Monto a pagar)


TasaI *= 100
With lstResul.Items
.Clear()
.Add("EMPRESA: " + txtEmpresa.Text)
.Add("Monto: $" & CStr(MontoInic) & ", Tasa anual: " & CStr(TasaI))
.Add("Monto a pagar: $" & CStr(MontoFin))
End With

10. Guarde los cambios del proyecto actual y ejecute la aplicación. Para ver las validaciones de entradas
programadas, equivóquese a propósito en varios de los datos ingresados y presione botón btnAnalisis

PARTE 4: Tomas de decisiones (Select Case)

Problema a solucionar: “Solicite cada apellido y los nombres de un estudiante, así como el valor del CUM obtenido
de su ultimo ciclo de estudios. Determine el total de unidades valorativas que un estudiante puede llevar en el
próximo ciclo de estudios según el valor del CUM ingresado. Cuando el CUM es mayor a 7.5, puede llevar 32 UV
máximo, si tiene entre 7 hasta 7.5, llevaría 24 UV máx., si tiene CUM entre 6 a 6.9, cursaría 20 UV. Y finalmente de
1 a 5.9, serán 16 unidades valorativas. En cualquier otro caso cursara 0
UV”

1. Abra nuevamente el proyecto creado en la parte 1, y agregue un nuevo formulario.


2. Luego diseñe el siguiente esquema de objetos (mostrado en Figura 1.5) en este nuevo form (Form3)

(Propiedad)
(controles) Name Text Enabled
Form3 Calculo de
UV a cursar
Label1 lblApe1 1er Apellido:
Label2 lblApe2 2do Apellido:
Label3 lblNom Nombres
Label4 lblCUM Valor de
CUM
TextBox1 txtApe1 (vacio)
TextBox2 txtApe2 (vacio)
TextBox3 txtNom (vacio)
TextBox4 txtCUM 0.0
TextBox5 txtResul Resultado de False
evaluacion
Figura 1.5: Diseño de controles del Form3 Button1 btnAnalisis Calcular UV
Button2 btnFin Salir del
programa

3. Proceda a digitar el código detallado a continuación, en cada evento y objeto especificado.


Guía # 01: INTRODUCCION A VISUAL BASIC
.NET
Objeto y Evento/Nivel
código a incluir
Form3 (Declaraciones)
Dim noms, ape1, ape2 As String
Dim CUM As Decimal
Dim UV As Integer
Private Sub EvaluarCUM()
'Una vez recibidos nombres del estudiante, asi como su CUM.
'se determinan las UV's solicitadas

Dim nomcompleto As String


'Forma el nombre completo (en mayuscula)
nomcompleto = noms & " " & ape1 & " " & ape2
nomcompleto = UCase(nomcompleto)

If CUM < 0 Or CUM > 10 Then


MsgBox("Valor de CUM fuera rango (0.0-10.0)", MsgBoxStyle.Critical)
txtCUM.Focus()
Else
'Usa estructura Select Case
Select Case CUM
Case 7.5 To 10
UV = 32
Case Is >= 7
UV = 24
Case Is >= 6
UV = 20
Case 1 To 5.99
UV = 16
Case Else
UV = 0
End Select

txtResul.Text = nomcompleto & " puede cursar " & CStr(UV) & " UV"
End If
End Sub
btnAnalisis Click
' Valida datos antes de aplicar calculos de las UVs
'Quita espacios en blanco a c/texto del nombre escrito
noms = txtNom.Text.Trim()
ape1 = txtApe1.Text.Trim()
ape2 = txtApe2.Text.Trim()

'Confirma que tenga nombres asignados y por lo menos un apellido


If (noms.Length > 0) And (ape1.Length > 0 Or ape2.Length > 0) Then
'Evalua si hay algun error en el valor del CUM ingresado
If Not IsNumeric(txtCUM.Text) = True Then
MsgBox("Valor del CUM incorrecto, debe ingresar 0.0-10.0", MsgBoxStyle.Exclamation)
txtCUM.Focus()
Exit Sub
Else
CUM = CDec(txtCUM.Text)
Call EvaluarCUM()'Llama a la subrutina EvaluarCUM
End If
Else
'Indica el error a usuario

Lenguajes de Programación 1 19
Guía # 01: INTRODUCCION A VISUAL BASIC
.NET
If noms.Length = 0 Then
MsgBox("Aun faltan nombres de estudiante", MsgBoxStyle.Exclamation)
txtNom.Focus()
Else
MsgBox("Debe escribir al menos un Apellido al Estudiante", MsgBoxStyle.Exclamation)
txtApe1.Focus()
End If
Exit Sub
End If

4. Guarde los cambios del proyecto actual y ejecute la aplicación. Para ver las validaciones de entradas
programadas, equivóquese a propósito, ingrese el CUM, pero olvídese de los nombres, y otros casos.
5. En evento Click del botón btnFin redacte un mensaje de despedida y realice el final de ejecución

EJERCICIOS A REALIZAR AL FINALIZAR PROCEDIMIENTO:

A. Abra nuevamente el proyecto utilizado en la PARTE 3 del procedimiento de esta Práctica y proceda a
realizar los cambios necesarios para validar a los parámetros faltantes del préstamo que aun no se han
programado. Además, incluya otro botón (cuyo texto diga REINICIAR), el cual permitirá deje en blanco a
todos los textbox’s y cuadro de lista y el foco de selección sobre en el 1er textbox.

B. Desarrolle un nuevo proyecto denominado proyNUMEROS que resuelva las tareas siguientes
+ Permita el ingreso de 10 números decimales cuales quiera. Cada nuevo numero ingresado se mostrara en una
de 2 listas diferentes (una para valores positivos y en la segunda, los valores negativos).
+ Una vez finalice el ingreso, se mostrara en otro cuadro de lista la solución a estas incógnitas del listado de
valores ingresados:
A. ¿Cuál fue el menor de los números positivos ingresados?
B. ¿Promedio de los números positivos?
C. ¿Cuál fue el mayor de los números negativos ingresados?
Cuando usuario no haya ingresado ningún listado de valores (sean tipo positivos o de negativos), muestre el
aviso apropiado en cuadro de lista de los resultados.

V. DISCUSION DE RESULTADOS

Elabore un proyecto de tipo Windows Forms denominado vbGUIA01lab, en el cual se solucionara cada uno de
los siguientes problemas (Elaborar cada solución en un formulario diferente dentro del mismo proyecto).

PROBLEMA 1
Crear una aplicación que permita a un estudiante de Ingeniería de la Universidad UDB ingresar sus 6 notas de
periodos (3 de teo y 3 de lab) de la materia Sistemas Digitales.
Una nota valida en la Universidad es correcta solamente en el rango de 0.00 (min) hasta 10.00 (máx.). Además, los
porcentajes a tomar en cuenta son:
+ Teoría (60%): 20% por c/periodo
+ Practica (40%): 10% periodo 1 y 15% para periodos 2 y 3.

Lenguajes de Programación 1 20
20
Guía # 01: INTRODUCCION A VISUAL BASIC
.NET
Si el ingreso de todas las notas es correcto, debe mostrarle su nota promedio final, así como indicarle si aprobó
(con una nota de 6.00 o más) o reprobó la materia.
Además, de acuerdo al rango de notas donde se ubique el promedio final del estudiante, debe mostrarle un
consejo académico (ver tabla a continuacion) y de forma grafica a una “carita” representativa del consejo
seleccionado. Los rangos de notas y los mensajes, junto a una carita (de ejemplo, usted puede cambiarlas) a
mostrar serán:

Rango nota final Texto del consejo académico Carita de ejemplo

7.0 a 10.00 Grandioso, Excelente… continúa asi...

Muy bien… pero trata de mejorar tu promedio en las siguientes


6.0 a 6.99
materias, recuerda tu CUM

Más dedicación estudiante, debe mejorar sus notas en esta


3.0 a 5.99
materia y las del resto del Pensum

Pongase las pilas mi hijito, ya no está en el Kinder… No se


0.00 a 2.99
convierta en un veterano de la U

PROBLEMA 2
Solicite al usuario una fecha separada en sus partes que la componen (Día, Mes y Año), para luego mostrar un
calendario en pantalla, resaltando la fecha ingresada.
El problema es que el usuario puede ingresar combinaciones de día-mes-año incorrectas, por ej.: 31/4/1934,
29/2/2006, 456/11/2009, etc.
Por lo tanto, la solución a implementar debe cumplir los siguientes
aspectos:
+ Debe utilizar controles NumericUpDown para que usuario ingrese cada parte de la fecha. Tomar en cuenta que
el año valido estará ubicado exclusivamente entre 1850 al 2026, ambos años inclusive.
+ Luego, para validar las partes de la fecha recibida, debe utilizar exclusivamente estructuras de control Select
Case , es decir que no debe usarse ninguna estructura de control If-Else
+ Si la fecha recibida del usuario presenta algún problema, debe indicársele al usuario un mensaje apropiado y
exacto sobre ¿Por qué su fecha ingresada presenta errores? y regresar el foco hacia el 1er control
NumericUpDown.
+ Si la fecha ingresada es correcta, debe usar un Control
denominado MonthCalendar para mostrar la fecha ingresada
ubicada en el calendario del mes y año especificado.
Por ejemplo, si usuario ingresa la fecha valida 29/2/1992, el
control de calendario se mostrara EXACTAMENTE así:

Se le sugiere investigar acerca de los Controles de formulario


solicitados en la descripción de este problema, para facilitarse
el diseño de su respectiva solución.

Lenguajes de Programación 1 21
21
Guía # 01: INTRODUCCION A VISUAL BASIC
.NET
Importante:
+ Documente los bloques y líneas de código de acuerdo a lo crea conveniente, para que su instructor comprenda
mejor su solución!!
+ Envíe la carpeta del proyecto resultante, de manera comprimida al email de su instructor(a) en la fecha que se
lo indique!!

For / Next, con este tipo de bucle podemos repetir un código un número
determinado de
veces.
La forma de usarlo sería:
For <variable numérica> = <valor inicial> To <valor final> [Step <incremento>]
' contenido del bucle, lo que se va a repetir
Next
La variable numérica tomará valores que van desde el valor inicial hasta el valor final, si no se
especifica el valor del incremento, éste será 1.
Pero si nuestra intención es que el valor del incremento sea diferente a 1, habrá que indicar

un valor de incremento; lo mismo tendremos que hacer si queremos que el valor inicial sea
mayor que el final, con idea de que "cuente" de mayor a menor, aunque en este caso el
incremento en realidad será un "decremento" ya que el valor de incremento será negativo.
Lo entenderemos mejor con un algunos ejemplos:
Dim i As Integer
'
For i = 1 To 10
' contará de 1 hasta 10
' la variable i tomará los valores 1, 2, 3, etc.
Next
'
For i = 1 To 100 Step 2
' contará desde 1 hasta 100 (realmente 99) de 2 en 2
' la variable i tomará los valores 1, 3, 5, etc.
Next
'
For i = 10 To 1 Step -1
' contará desde 10 hasta 1
' la variable i tomará los valores 10, 9, 8, etc.
Next
'
For i = 100 To 1 Step -10
' contará desde 100 hasta 1, (realmente hasta 10)
' la variable i tomará los valores 100, 90, 80, etc.
Next

While / End While, se repetirá mientras se cumpla la expresión lógica que se


indicará
después de While.
LaLenguajes
forma dedeusarlo es:
Programación 1 22
22
Guía # 01: INTRODUCCION A VISUAL BASIC
While <expresión> .NET
' lo que haya que hacer mientras se cumpla la expresión
End While
Con este tipo de bucles, se evalúa la expresión y si el resultado es un valor verdadero, se
ejecutará el código que esté dentro del bucle, es decir, entre While y End While.
La expresión será una expresión lógica que se evaluará para conseguir un valor verdadero o
falso.
Veamos algunos ejemplos:
Dim i As Integer
'
While i < 10
Console.WriteLine(i)
i=i+1
End While
Console.ReadLine()
''
Dim n As Integer = 3
i=1
While i = 10 * n
' no se repetirá ninguna vez
End While
En el primer caso, el bucle se repetirá mientras i sea menor que 10, fíjate que el valor de i se
incrementa después de mostrarlo, por tanto se mostrarán los valores desde 0 hasta 9, ya que
cuando i vale 10, no se cumple la condición y se sale del bucle.
En el segundo ejemplo no se repetirá ninguna vez, ya que la condición es que i sea igual a 10
multiplicado por n, cosa que no ocurre, ya que i vale 1 y n vale 3 y como sabemos 1 no es igual a
30.

Si se utiliza sólo con esas dos instrucciones, este tipo de bucle no acabará nunca y repetirá
todo lo que haya entre Do y Loop.
Pero la flexibilidad a la que me refería es que este tipo de bucle se puede usar con dos
instrucciones que nos permitirán evaluar expresiones lógicas:
While y Until
Pero no debemos confundir este While con el While/End While que acabamos de ver
anteriormente, aunque la forma de usarlo es prácticamente como acabamos de ver.
La ventaja de usar While o Until con los bucles Do/Loop es que estas dos instrucciones
podemos usarlas tanto junto a Do como junto a Loop, la diferencia está en que si los usamos
con Do, la evaluación se hará antes de empezar el bucle, mientras que si se usan con Loop, la
evaluación se hará después de que el bucle se repita al menos una vez.
Veamos cómo usar este tipo de bucle con las dos "variantes":
Do While <expresión>
'
Loop
Do
'
Loop While <expresión>
Lenguajes de Programación 1 23
23
Guía # 01: INTRODUCCION A VISUAL BASIC
Do Until <expresión> .NET
'
Loop
Do
'
Loop Until <expresión>

Usando Do con While no se diferencia en nada con lo que vimos anteriormente, con la
excepción de que se use junto a Loop, pero como te he comentado antes, en ese caso la
evaluación de la expresión se hace después de que se repita como mínimo una vez.
Until, a diferencia de While, la expresión se evalúa cuando no se cumple la condición, es como
si negáramos la expresión con While (Not <expresión>)
Una expresión usadas con Until podríamos leerla de esta forma: hasta que la expresión se
cumpla:
Do Until X > 10 (repite hasta que X sea mayor que 10)
Veamos un ejemplo para entenderlo mejor:
i=0
Do Until i > 9
Console.WriteLine(i)
i=i+1
Loop
Este bucle se repetirá para valores de i desde 0 hasta 9 (ambos inclusive).
Y este también:
i=0
Do While Not (i > 9)
Console.WriteLine(i)
i=i+1
Loop
Con esto entenderás mejor a lo que me refería con negar la expresión con While.
En el caso de que Until se use junto a Loop, la expresión se comprobará después de repetir al
menos una vez el bucle.
Cuando se quiere abandonar un bucle antes de que acabe de forma lógica lo haremos con: Exit
For, Exit While, Exit Do.

VII. BIBLIOGRAFÍA

Bill Evjen, Jason Beres y otros (2002), El libro de Visual Basic.NET (1era Ed), España. Editorial Anaya

Ceballos, Francisco Javier (2006), ENCICLOPEDIA DE MICROSOFT VISUAL BASIC (1er Ed), México,
Editorial ALFAOMEGA, ISBN: 9701512189

Lenguajes de Programación 1 24
24

S-ar putea să vă placă și