You are on page 1of 24

Visual Basic 2008

Elementos del Lenguaje e Instrucciones de


Entrada Salida por Cnsola y/o Archivos de
datos y Estructuras de control
Lo primero que hay que conocer de un Lenguaje son los
elementos que define, es decir, los tipos de datos que
maneja, las reglas para bautizar variables, que operadores
dispone, cules son las reglas de evaluacin de una
expresin, como se documenta un programa, entre otros.
Tambin es importante donde y como se declaran
Variables y Constantes Simblicas; tambin se muestra el
funcionamiento de las instrucciones de Entrada Salida
en cnsola y empleando adems, la obtencin de datos o
salida por un medio externo (Archivo de datos).
Finalmente, conocer cuales son la instrucciones que se
pueden implementar para Controlar los datos
Lisbeth C. Pacheco S.
01/03/2010
Publicacin Pendiente.
Revisado por: Prof. Manuel Fernndez y
Prof. Hugo Hernndez

Visual Basic 2008


1 de mar.

Contenido
Vocabulario en VB2008 .................................................................................................................. 3
Identificadores ............................................................................................................................... 3
Comentarios .................................................................................................................................. 3
Tipos de Datos ............................................................................................................................... 3
Numricos.............................................................................................................................. 4
No Numricos ........................................................................................................................ 5
Asignacin de valor ........................................................................................................................ 5
Operadores .................................................................................................................................... 5
Aritmticos ............................................................................................................................ 6
Relacin Comparacin ......................................................................................................... 6
Concatenacin & .................................................................................................................... 6
Lgicos ................................................................................................................................... 6
Asociatividad de Operadores .................................................................................................. 7
Prioridad de evaluacin de expresiones con diferentes operadores ........................................ 7
Uso de parntesis para alterar la prioridad de operadores ..................................................... 7
Operadores abreviados de asignacin ............................................................................................ 7
Declaracin de Variables ................................................................................................................ 8
Declaracin mltiple en lnea ................................................................................................. 8
Declaracin de Constantes ............................................................................................................. 8
Aplicaciones para Cnsola.............................................................................................................. 9
Instrucciones de Salida Visualizar informacin en la Cnsola ..................................................... 10
Obtener informacin de la cnsola leer los datos ...................................................................... 11
Estructura de una Aplicacin para Cnsola ................................................................................... 12
Abreviaturas y Caractersticas Adicionales.................................................................................... 12
Divisin de una lnea de cdigo ............................................................................................ 12
Escritura de varias sentencias en la misma lnea ................................................................... 13
Estructuras de Control ................................................................................................................. 14
Estructuras Selectivas o de Decisin. .................................................................................... 14

Visual Basic 2008


1 de mar.

Estructuras Repetitivas ......................................................................................................... 15


Otras Formas de la Estructura Cclica Do...Loop............................................................................ 17
Condicin al principio ........................................................................................................... 17
Condicin al final .................................................................................................................. 17
Creacin y Uso de Archivos de Texto ............................................................................................ 18
Creacin de archivos de Texto .............................................................................................. 18
Uso de Archivos de Texto en un Programa............................................................................ 19
Definir el archivo que se usar y de qu modo se usar ........................................................ 19
Usar el archivo segn lo Definido ......................................................................................... 20
Cerrar el Archivo .................................................................................................................. 21
Funcin Fin de Archivo (EOF) ................................................................................................ 21
Ejercicio ............................................................................................................................... 21
Referencias .................................................................................................................................. 23

Visual Basic 2008


1 de mar.

Vocabulario en VB2008
El vocabulario de un lenguaje de programacin se refiere al significado que le da el lenguaje a los
diferentes smbolos o caracteres que maneja la computadora. En VB2008 el vocabulario clasifica
los caracteres en tres:
 Letras: A  Z, a  z, _ (subrayado, piso o guin bajo) [No incluye la ]
 Dgitos: 0  9
 Especiales: + * / \ ^ ( ) { } < > = & ' " : . , entre otros

Identificadores
Nombres que se dan a variables, constantes y otros elementos. Para crearlos se deben tomar en
cuenta las siguientes convenciones:
 Debe comenzar por una letra.

Ejemplos:

 Puede seguir de letras y/o nmeros

Nombre
Cantidad
Importe
Totalizado
Precision
_Suma3
Primer_Dia

 No puede contener caracteres especiales


 No deben tener ms de 255 caracteres
 No deben existir dos iguales en el mismo mbito

Comentarios
En VB2008 se utiliza el carcter de comilla simple o apstrofe ( ' ) para poder escribir anotaciones
dentro del cdigo del programa. Una vez incluida la comilla simple, todo lo que vaya a
continuacin se tomar como comentario y no como instrucciones ejecutables.
' Comentario para explicar los pasos importantes en el programa

Tipos de Datos
VB2008 permite utilizar los siguientes tipos de datos:
1) Numricos: aquellos con los que se puede realizar clculos aritmticos. Por razones tcnicas
se subdividen en:
a) Enteros
b) Reales, Decimal es o con punto Decimal
2) No numricos: aquellos que permiten manipular textos (Nombre de una persona, su gnero,
su direccin, etc.) o manipular el resultado de relaciones o comparaciones (Si/No). Se
subdividen en:
a) Alfanumricos: permiten manipular un caracter o un conjunto finito de ellos. Se
subdividen en:

Visual Basic 2008


1 de mar.

i) Caracter: permite almacenar, recuperar o procesar un solo caracter.


ii) Cadena: permite almacenar, recuperar o procesar un conjunto finito de caracteres
(nombre, direccin, etc.)
b) Lgicos: representan los resultados provenientes de relaciones o comparaciones, los
cuales tambin pueden ser almacenados, recuperados y procesados por un programa.
Este tipo de dato posee dos valores literales: TRUE y FALSE (Cierto/Falso Si/No)
3) Compuestos: representan tipos de datos que son capaces de manipular un conjunto de
contenidos bajo el nombre de una sola variable. Se clasifican en:
a) Estructuras: manipulan varios contenidos del mismo tipo (homogneo) o de diferente tipo
(heterogneo) dentro de un solo nombre de variable. Utiliza identificadores para el acceso
individual de los contenidos.
b) Matrices: manipulan varios contenidos del mismo tipo (homogneos). Utiliza ndices para
el acceso individual de los contenidos.
c) Clases
4) Objetos

Numricos
En el lenguaje se disponen de mltiples tipos de datos, numricos los cuales se emplearn
en base a las necesidades. La clasificacin ms general son enteros y con punto decimal
(conocidos como Reales).
Tipos de Datos Enteros
Tipo
SByte
Short / Int16
Integer / Int32
Long / Int64

Rango
-128 a 127
-32768 a 32767
-2147483648 a -2147483647
-9.223.372.036.854.775.808 a 9.223.372.036.854.775.807

Tipos de Datos Con Punto Decimal (Reales)


Single

Double

Rango
3,402823E38 a 1,401298E-45 para
valores negativos; 1,401298E-45 a
3,402823E38 para valores positivos
1,79769313486232E308 a
-4,94065645841247E-324 para valores
negativos; 4,94065645841247E-324 a
1,79769313486232E3

Recuerde: Los datos Enteros son un subconjunto de los datos con Punto Decimal o Reales

Visual Basic 2008


1 de mar.

No Numricos
Ejemplos:
Tipo Caracter (CHAR)
Un dato de tipo caracter est formado por un nico elemento, que puede
ser cualquier letra, smbolo, nmero, teniendo en cuenta que los nmeros
que son representados como caracteres no se pueden utilizar para realizar
operaciones aritmticas.

Tipo Cadena de caracteres ( STRING)


Conjunto finito de caracteres

" A"
"1"
"+"

Ejemplos:
"LUIS"
"MARIANA LPEZ"
"EL 1er LUGAR CON 38 % "

Tipo Lgico (BOOLEAN)


Un dato lgico es aquel que representa uno de dos valores posibles: Verdadero o Falso,
indicndose estos valores en VB2008 como True y False respectivamente. La mayora de las veces
se asignan por el programador o son el resultado de expresiones lgicas o de relacin

Asignacin de valor
Para asignar un valor a una variable utilizaremos el
operador de asignacin: el signo igual ( = ), situando a
su izquierda la variable a asignar, y a su derecha el
valor.

Ejemplos:
A = "LUIS"
A=B +C

Operadores
Los operadores son aquellos elementos del lenguaje que nos permiten combinar variables,
constantes, valores literales, instrucciones, etc., para obtener un valor numrico, lgico, de
cadena, etc., como resultado.

Visual Basic 2008


1 de mar.

La combinacin de operadores con variables, instrucciones, etc., se denomina expresin, mientras


que a los elementos integrantes de una expresin y que no son operadores, se les denomina
operandos.
En funcin de la complejidad de la operacin a realizar, o del tipo de operador utilizado, una
expresin puede ser manipulada a su vez como un operando dentro de otra expresin de mayor
nivel.
Los operadores se clasifican en las categoras detalladas a continuacin, segn el tipo de expresin
a construir.

Aritmticos
Operacin
Suma
Resta
Multiplicacin
Divisin
Divisin Entera
Residuo de Divisin Entera
Potencia

Pascal
+
*
/
DIV
Mod

VB2008
+
*
/
\
Mod
^

Prioridad de operadores aritmticos


Potenciacin ( ^ )
Negacin ( - )
Multiplicacin y divisin real ( * , /)
Divisin entera ( \ )
Resto de divisin ( Mod )
Suma y resta ( + , - )

Relacin Comparacin
Operacin
Mayor
Menor
Menor o igual
Mayor o Igual
Diferente
Igual

Pascal
>
<
<=
>=
<>
=

VB2008
>
<
<=
>=
<>
=

Prioridad de operadores de relacin


Todos tienen la misma prioridad

Concatenacin &
Estos operadores permiten unir dos o ms cadenas de caracteres para formar una nica cadena.
CadResulta = "esto es " & "una prueba"

El valor que se quedar en CadResulta ser "esto es una prueba"

Lgicos
Operacin
Y
O
Negacin

Pascal
And
Or
Not

VB2008
And
Or
Not

Prioridad de operadores Lgicos


Negacin (Not)
Conjuncin (And)
Disyuncin (Or)

Visual Basic 2008


1 de mar.

Asociatividad de Operadores
Cuando aparecen operadores de la misma prioridad juntos en una expresin, por ejemplo,
multiplicacin y divisin, el compilador evala cada operacin de izquierda a derecha en el orden
en que aparecen en la expresin.

Prioridad de evaluacin de expresiones con diferentes operadores


Cuando en una expresin se tengan operadores de diferentes grupos, se evaluarn de acuerdo a la
siguiente tabla
Prioridad entre operadores de distintos grupos
Aritmticos
Concatenacin
Comparacin
Lgicos

Uso de parntesis para alterar la prioridad de operadores


Podemos alterar el orden natural de prioridades entre operadores utilizando los parntesis,
encerrando entre ellos los elementos que queramos sean resueltos en primer lugar dentro de una
expresin. De esta forma, se resolvern en primer lugar las operaciones que se encuentren en los
parntesis ms interiores, finalizando por las de los parntesis exteriores. Es importante tener en
cuenta, que dentro de los parntesis se seguir manteniendo la prioridad explicada
anteriormente.

Operadores abreviados de asignacin


Estos operadores simplifican la escritura de expresiones, facilitando la creacin de nuestro cdigo.
El resultado empleando operadores abreviados en una expresin, es el mismo que utilizando la
sintaxis normal, pero con un pequeo ahorro en la escritura de cdigo. Se utilizan cuando la
variable aparece a la derecha e izquierda de la instruccin de asignacin.
Operacin
Suma
Resta
Multiplicacin
Divisin
Divisin Entera
Potencia

Expresin Normal
A=A+B
A=AB
A= A*B
A=A/B
A=A\B
A= A ^ B

Expresin Abreviada
A += B
A -= B
A *= B
A /= B
A \= B
A ^= B

Visual Basic 2008


1 de mar.

Declaracin de Variables
Declarar una variable significa que se reserva, denomina y describe un espacio de la memoria que
se desea utilizar con un propsito especfico. Para declarar una variable utilice la sentencia Dim,
seguida del nombre de la variable o identificador, la palabra clave As y el tipo de dato.
Dim identificador As tipodedato
Dim indica a Visual Basic que debe reservar,
asigna un nombre a ese espacio de memoria y,
adems le asigna un tipo
As indica a Visual Basic que la siguiente palabra
especifica el tipo de dato que se puede guardar
en la variable

Ejemplos:
Dim
Dim
Dim
Dim

Nombre As String
Cantidad As Integer
Importe, Totalizado As Integer
Precision as Integer

Se puede darle el valor inicial a una variable al declararla, pero SOLO SE PUEDE HACER POR
VARIABLE de la siguiente forma
Dim identificador As tipodedato = Valor inicial
Declaracin mltiple en lnea
En el caso de que tengamos que declarar ms
de una variable del mismo tipo, podemos
declararlas todas en la misma lnea, separando

Ejemplos:

cada una con una coma, e indicando junto a

Dim Nombre As String,Cantidad As Integer


Dim Importe, Totalizado As Integer
Dim Precision As Integer

cada variable el tipo de dato que va a tener; o


bien, si especificamos el tipo de dato al final de
la lista de variables todas tendrn el mismo
tipo de dato.

Declaracin de Constantes
Al igual que las variables, una constante es un elemento del lenguaje que guarda un valor, pero
que en este caso y como su propio nombre indica, dicho valor ser permanente a lo largo de la
ejecucin del programa, no pudiendo ser modificado.
Para declarar una constante, debemos utilizar la palabra clave Const, pudiendo al mismo tiempo
establecer el tipo de dato y asignarle valor.

Visual Basic 2008


1 de mar.

Ejemplos:
Const identificador = valor o expresin

Const identificador as tipo de dato = valor o expresin

Const
Const
Const
Const
Const

g = 9.8
NIT = "J70994509-K"
P as single = 3.1416
Color1 = "Azul"
Color2 as string = "Verde"

No se puede asignar a una constante otro valor despus de su creacin

Aplicaciones para Cnsola


Antes de pasar a trabajar con los elementos del lenguaje vamos a dar unos breves apuntes sobre
el objeto Console, que representa a una ventana MS-DOS, smbolo del sistema, o cnsola, como la
denominaremos. En este apartado vamos a dar unas indicaciones bsicas de uso, ya que la cnsola
ser el elemento principal que utilizaremos para mostrar y obtener datos por pantalla. Debido a su
sencillez de uso y rpida ejecucin, la cnsola se convierte en el elemento ideal para realizar
pruebas.
Aunque la cnsola es un objeto, no vamos a entrar aqu a describir en qu consisten los objetos ni
su uso en profundidad.

Visual Basic 2008


1 de mar.

Instrucciones de Salida Visualizar informacin en la Cnsola

Para escribir texto llamaremos al mtodo Write( ) o WriteLine( ) del objeto Console. Como
parmetros a estos mtodos, es decir, entre los parntesis que los acompaan, situaremos la
informacin a mostrar: una cadena, variable o expresin.
Console.Write()
Console.Writeline()
La diferencia entre Console.Write( ) y Console. WriteLine( ) consiste en que mediante el primero,
todas las llamadas que hagamos a ese mtodo escriben el texto y de seguir escribiendo lo hace en
la misma lnea, mientras que el ltimo lo hace en lneas separadas.
Si al escribir un texto en la cnsola, queremos combinar una cadena de caracteres con el
contenido de una variable, podemos optar por dos tcnicas.
Por un lado podemos concatenar o unir la cadena a la variable mediante el operador de
concatenacin del lenguaje ( & ).

Module Module1
Sub Main()
Dim UnValor As String
UnValor = "al parque"
Console.WriteLine("Vamos de paseo " & UnValor)
End Sub
End Module

La otra tcnica consiste en utilizar parmetros sustituibles, indicando en la cadena los lugares en
los que queramos que se incluyan el contenido de las variables que necesitemos.
Por ejemplo, supongamos que en la cadena Hola voy a un coche, queremos insertar los valores
conducir y azul, que estn situados en variables, de modo que la cadena resultante sea: Hola
voy a conducir un coche azul.

10

Visual Basic 2008


1 de mar.

Para solucionar este problema, en la cadena tenemos que incluir unos marcadores que indican
que en ese punto vamos a sustituir el marcador por una variable, y adems el nmero de orden de
la variable, tal y como la vamos a situar al llamar al mtodo WriteLine( ). Los marcadores son los
smbolos de llaves utilizados de una forma similar a la siguiente: {0}

Cuando llamamos a WriteLine( ) sabemos que le pasamos como parmetro el valor a mostrar,
pero podemos pasar ms parmetros separados por comas, como pueden ser variables; dichos
parmetros sern utilizados para sustituirse en la cadena pasada como primer parmetro.

Obtener informacin de la cnsola leer los datos

Para tomar la informacin tecleada en la ventana de la cnsola disponemos del mtodo


ReadLine(), que devuelve el valor que podemos pasar a una variable para su tratamiento
posterior.
Variable = Console.Readline()

Se realiza por cada variable y lo ideal es que est acompaada de un proceso interactivo el cual
consiste en emitir el mensaje apropiado que guie al usuario acerca de la informacin que debe
suministrar para guardar en la variable.

11

Visual Basic 2008


1 de mar.

Declaracin de Variables
Dim Nombre as String
Dim Edad as Integer
Lectura de los Datos
Console.Write( Suministre su nombre: )
Nombre = Console.Readline()
Console.Write(Suministre su Edad: )
Edad = Console.Readline()
Impresin de Resultados
Console.Writeline(Hola {0} tienes {1} aos , Nombre, Edad)

Estructura de una Aplicacin para Cnsola


Se sugiere la siguiente estructura para una mejor lectura del cdigo
Module Module1
Sub Main() la dos lineas escritas hacen las veces de el
encabezado en Pascal
AQU SE COLOCA EL CDIGO DE LA APLICACIN, SE SUGIERE LA
SIGUIENTE ESTRUCTURA:
DECLARACIN DE VARIABLES
DECLARACIN DE CONSTANTES ( opcional )
INSTRUCCIONES A EJECUTAR, LAS INSTRUCCIONES QUE SE COLOCABAN
ENTRE Begin Y End EN Pascal
End Sub Corresponde con el End de Pascal
End Module

Abreviaturas y Caractersticas Adicionales


Divisin de una lnea de cdigo
Si tenemos en nuestro programa lneas de cdigo muy largas, que nos obliguen a desplazarnos
hacia una lateral de la ventana del editor de cdigo para poder leerlas, podemos dividir ese tipo de
lnea lgica de cdigo en varias lneas fsicas, situando el carcter de piso guin bajo ( _ ) en el
punto de la lnea de cdigo en donde queremos continuar, teniendo en cuenta que siempre debe

12

Visual Basic 2008


1 de mar.

haber un espacio en blanco antes y despus de este carcter, para que la divisin de la lnea sea
efectiva.

' una sola lnea lgica y fsica


Resultado = ((30 + 5) * 5 > 100) And (52 > 200 / (2 + 5))
' varias lneas fsicas, aunque internamente
' el compilador reconoce una sola lnea lgica
Resultado = ((30 + 5) * 5 > 100) And _
(52 > 200 / _
(2 + 5))

Escritura de varias sentencias en la misma lnea


Aqu tenemos el caso opuesto al anterior apartado. El lenguaje nos permite escribir en una misma
lnea fsica, varias sentencias separadas por el carcter de dos puntos ( : ), que en condiciones
normales se escriben en lneas separadas.
Si bien en algunas situaciones puede ser til, esta caracterstica hace que nuestro cdigo sea ms
complicado de leer, restndole claridad a nuestra aplicacin, por lo que recomendamos no
utilizarla salvo en casos muy necesarios:

Sub Main()
Dim Valor As Integer, Nombre As String, Resultado As Boolean
' en la siguiente lnea hay tres sentencias que
' habitualmente se escriben en lneas separadas
Valor = 50 : Nombre = "Julio" : Resultado = 50 <> 275
Console.WriteLine("Contenido de variables: {0} - {1} - {2}", _
Valor, Nombre, Resultado)
Console.ReadLine()
End Sub

Muestra de la ventana de salida:

Contenido de las Variables: 50 Julio - False

13

Visual Basic 2008


1 de mar.

Estructuras de Control
Estructuras Selectivas o de Decisin.
Las estructuras de seleccin o decisin permiten ejecutar un bloque de cdigo entre varios
disponibles, segn el resultado de la evaluacin de una expresin situada en la cabecera de la
estructura.
INSTRUCCIN

Decisin,
Seleccin o
Pregunta

Selector
Mltiple

Pascal

Visual Basic 2008

IF condicin Then
Begin
Instruccin(es);
End
Else
Begin
Instruccin(es);
End;

IF condicin Then
Instruccin(es)
Else
Instruccin(es)
End IF

Case VariableOrdinal of
ListaConstantes1: Begin
Instruccin(es);
End;
ListaConstantes2: Begin
Instruccin(es);
End;
Else Begin
Instruccin(es);
End;
End;

Select Case VariableName


Case 1
Instruccin(es)
Case 2
Instruccin(es)
Case Else
Instruccin(es)
End Select

Select Case
Se trata de una evolucin en la estructura If...End If de decisin mltiple, y su trabajo consiste en
evaluar una expresin y comparar el resultado con la lista de expresiones de cada uno de los casos
proporcionados.
La lista de expresiones asociada a cada Case en esta estructura estar separada por comas y podr
tener alguno de los siguientes formatos:
Expresin
ExpresinMenor To ExpresinMayor
Is OperadorComparacin Expresin

14

Visual Basic 2008


1 de mar.

Tras evaluar la expresin de la estructura, si se encuentra una coincidencia con alguno de los Case,
se ejecuta el bloque de cdigo situado entre dicho Case y el siguiente. En caso de que no haya
ninguna coincidencia, podemos opcionalmente, ejecutar un bloque por defecto, utilizando la
palabra clave Case Else. Finalizada esta estructura, la ejecucin continuar a partir de la lnea
situada despus de End Select.
En el caso de que tras evaluar la expresin, haya ms de un Case cuya lista de expresiones se
cumpla, se ejecutar el que est situado en primer lugar. En el ejemplo a continuacin, cuando la
variable Valor contiene 5, se cumplen dos casos. Sin embargo slo se ejecuta el cdigo del primer
Case, esto es imprimir o mostrar el mensaje "El valor es 5"

Ejemplo:
Select Case Valor
Case 5
Console.WriteLine("El valor es 5")
Case 120, 250
Console.WriteLine("El valor es 120 250")
Case 3000 To 4000
Console.WriteLine("El valor est en el rango de 3000 a 4000")
Case Is < 10
Console.WriteLine("El valor es menor de 10")
Case Else
Console.WriteLine("El valor es {0}, y no se cumple ningn ", _
"caso" & Valor)
End Select

Estructuras Repetitivas
Estas estructuras, tambin denominadas bucles, ejecutan un bloque de cdigo de forma repetitiva
mientras se cumpla una condicin asociada a la estructura. A cada una de las ocasiones en que se
ejecuta el cdigo contenido en estas estructuras se le denomina iteracin.

15

Visual Basic 2008


1 de mar.

INSTRUCCIN
Ciclo Repetitiva
con condicin
al inicio
Ciclo Repetitivo
con condicin
al final

Ciclo de
Repeticin
Automtica

Pascal
While condicin Do
Begin
Instruccin(es);
End;
Repeat
Instruccin(es);
Until condicin;

Visual Basic 2008


While condicin
Instruccin(es)
End While

incremento por omisin Sucesor (1)


For Variable := Vi TO Vf Do
Begin
Instruccin(es);
End;

incremento por omisin uno (1)


For Variable = Vi To Vf
Instruccin(es)
Next variable

decremento por omisin Predecesor (-1)


For Variable := Vi DOWNTO Vf Do
Begin
Instruccin(es);
End;

incremento variable inc


For Variable = Vi to Vf step Inc
Instruccin(es)
Next variable

Do
Instruccin(es)
Loop Until condicin

Ejemplo:
Sub Main()
Dim Valor As Integer
Dim Palabra As String
Dim Contador As Integer
Dim Pruebas As Integer
Console.Writeline ("Probando el While End While")
Valor = 100
While Valor <> 200
Console.WriteLine("Introducir un nmero")
Valor = Console.ReadLine()
End While
Console.Writeline ("Probando el Repeat - Until")
Repeat
Console.WriteLine("Introducir un nmero")
Valor = Console.ReadLine()
Until Valor = 200
End Sub

16

Visual Basic 2008


1 de mar.

Otras Formas de la Estructura Cclica Do...Loop


Esta estructura ejecuta un conjunto de lneas de cdigo, en funcin del valor devuelto por una
expresin, que a modo de condicin, podemos situar al comienzo o final de la estructura. Es
posible adems, no utilizar la expresin de evaluacin al principio o final, debiendo en ese caso,
introducir alguna condicin en el interior del cdigo de la estructura, para forzar la salida del bucle
y evitar caer en un bucle infinito.

Condicin al principio
Do While | Until Expresin
' Instrucciones
' ......
Loop

La diferencia entre usar While o Until reside en que empleando While, el cdigo del bucle se
ejecutar mientras la expresin devuelva Verdadero. En el caso de Until, el cdigo se ejecutar
mientras que la expresin devuelva Falso. Ejemplo
Sub Main()
Dim Valor As Integer
Dim Palabra As String
Dim Contador As Integer
Dim Pruebas As Integer
Console.Writeline ("Probando el Do While")
Valor = 100
Do While Valor <> 200
Console.WriteLine("Introducir un nmero")
Valor = Console.ReadLine()
Loop
Console.Writeline ("Probando el Do Until")
Do Until Valor = 200
Console.WriteLine("Introducir un nmero")
Valor = Console.ReadLine()
Loop
End Sub

Condicin al final
Do
' instrucciones
' ......
Loop While | Until Expresin

La diferencia en este caso, consiste en que el contenido de la estructura se ejecuta al menos una
vez.

17

Visual Basic 2008


1 de mar.
Sub Main()
Dim Valor As Integer
Dim Palabra As String
Dim Contador As Integer
Dim Pruebas As Integer
Console.Writeline ("Probando el Do Do
Console.WriteLine("Introducir un
Valor = Console.ReadLine()
Loop While Valor <> 200
Console.Writeline ("Probando el Do
Do
Console.WriteLine("Introducir un
Valor = Console.ReadLine()
Loop Until Valor = 200

Loop While")
nmero")
Loop Until")
nmero")

End Sub

Creacin y Uso de Archivos de Texto


Un archivo es un medio de almacenamiento separado del programa, que nos permite guardar en
el mismo una gran cantidad de informacin. El uso de un archivo para guardar datos de forma
externa es recomendable en procesos que no necesiten una organizacin muy compleja de los
datos a manipular, ya que en tal caso, lo mejor sera utilizar un programa gestor de base de datos,
que ya incorpora, de modo mucho ms optimizado, los algoritmos y procesos especficos para el
tratamiento de la informacin.

Creacin de archivos de Texto


Para crear un archivo de texto se puede utilizar el editor de texto Block de Notas o Note Pad, en el
mismo se escribir la lista de valores o datos que se desean procesar separndolos entre s por una
coma, el orden de los datos debe corresponder con la estructura definida para los mismos, sin
lneas vacas, ni ttulos.
Supongamos que se dice que se tienen los datos de
un conjunto de personas donde para cada persona se
tiene Nombre, Cedula y Nota, el archivo correcto

Luis Perez , 10856576 , 17


Lola Mento , 12474322 , 16
Mario Moronta , 1111112 , 12

sera el mostrado a la derecha. El cual se guardar


como datos.dat.

18

Visual Basic 2008


1 de mar.

Uso de Archivos de Texto en un Programa


Para utilizar un archivo de texto en un programa se debe:

Definir el archivo que se usar y de qu modo se usar

Usar el archivo segn lo definido

Cerrar el archivo

Definir el archivo que se usar y de qu modo se usar


Para Indicar que se utilizar un archivo dentro de un programa debe abrirse este indicando el
nmero con que se har referencia al mismo en el programa, el nombre del archivo y su ubicacin
fsica y el modo en que se abrir o utilizar. Esto se realiza a travs de la instruccin.
FileOpen( FileNumber, FileName , OpenMode)
Donde
FileNumber es el nmero con que se har referencia al archivo
FileName es el nombre con extensin, indicando la ubicacin fsica del archivo a utilizar
OpenMode indica el modo en que se utilizar el archivo,
Si es para Leer los datos se especificar OpenMode.Input
Si el archivo se crear o se reescribir se especificar OpenMode.Output
Si el archivo existe y se desean agregar ms datos se especificar OpenMode.Append

Se puede escribir la instruccin directamente:


se pueden declarar variables y a estas se les asignan valores como se muestra:

'La instruccin para indicar que se utilizar un archivo de nombre


'datos.dat ubicado en dentro de la carpeta Proyecto en el directorio C
'para leer es
FileOpen(1, "C:\Proyecto\Datos.dat", OpenMode.Input)
'La instruccin para indicar que se creer un archivo de nombre
'resultados.dat ubicado en dentro de la carpeta Proyecto en el directorio
'C donde se escribir informacin es
FileOpen(2, "C:\Proyecto\resultados.dat", OpenMode.Output)

19

Visual Basic 2008


1 de mar.

Usar el archivo segn lo Definido


Los archivos slo se pueden utilizar de acuerdo el modo definido para aperturarlo, esto es si se
abri para leer slo se puede leer, y lo mismo si se abri para escribir.

Dim Nombre As String


Dim Cedula, Nota As Integer
'La instruccin para indicar que se leer de un archivo de nombre
'datos.dat ubicado en dentro de la carpeta Proyecto en el directorio C
FileOpen(1, "C:\Proyecto\Datos.dat", OpenMode.Input)
'Para leer una lnea de este archivo que contiene Nombre, Cedula y Nota
Input ( 1, Nombre )
Input ( 1, cedula )
Input ( 1, Nota )

Leer tomar informacin


Para leer o tomar informacin de un archivo se utilizar por cada dato a leer la instruccin INPUT,
cuya sintaxis es la siguiente
Input ( FileNumber, Variable )
Donde
FileNumber es el nmero con el que se abri el archivo del cual se desea tomar informacin en
la instruccin FileOpen
Variable es donde se almacenar el dato ledo

Dim NombreArch1, NombreArch2 As String


NumArch1 = 1
NumArch2 = 2
NombreArch1 = "C:\Proyecto\Datos.dat"
NombreArch2 = "C:\Proyecto\resultados.dat"
'La instruccin para indicar que se utilizar un archivo de nombre
'datos.dat ubicado en dentro de la carpeta Proyecto en el directorio
C 'para leer es
FileOpen(NumArch1, NombreArch1, OpenMode.Input)
'La instruccin para indicar que se creer un archivo de nombre
'resultados.dat ubicado en dentro de la carpeta Proyecto en el
directorio
'C donde se escribir informacin es
FileOpen(NumArch2, NombreArch2, OpenMode.Output)

20

Visual Basic 2008


1 de mar.

Escribir Informacin
Para escribir se usar la instruccin PRINT o PRINTLINE cuya sintaxis es la siguiente:
Print ( FileNumber, Variable y/o mensajes )
PrintLine ( FileNumber, Variable y/o mensajes )

La diferencia entre uno y otro es que el primero escribe y queda al final de la lnea para seguir
escribiendo y el segundo escribe y baja de lnea.
Se pueden escribir las variables y/o mensajes separndolos entre s con una coma usando el
operador de concatenacin &. No puede utilizarse la incrustacin de variables en un mensaje que
es bastante til en impresin a travs de cnsola.
Print( 2, El valor es , valor )
PrintLine( 2, El valor es & valor )
Es incorrecto usar:
PrintLine ( 2, El valor es {0} , valor )

Cerrar el Archivo
Para cerrar un archivo o liberarlo se usa la instruccin FileClose, con la siguiente sintaxis
FileClose ( FileNumber)

Funcin Fin de Archivo (EOF)


La Funcin fin de archivo EOF permite determinar si se encontr o no la marca de fin de archivo, es
una funcin Boolena que devuelve True si se encuentra el fin del archivo y False si en el archivo
existe ms informacin. La sintaxis es EOF( FileNumber)
Ejercicio
Dado el archivo datos.dat el cual contiene la informacin de los estudiantes de una seccin
Nombre, Cdula y Nota definitiva, desarrolle un programa que genere dos archivos uno con la
informacin de los aprobados y otra con los reprobados de nombres aprobados.dat

reprobados.dat respectivamente. Nota: No se conoce el nmero de estudiantes almacenados, use


la funcin fin de archivo.
Datos.dat

Luis Perez , 10856576 , 17


Lola Mento , 12474322 , 16
Mario Moronta , 1111112 , 12
Luisana Rojas, 1123423,08
Leo Pereira, 12345678, 07
Esteban Quito, 12321231, 12

21

Visual Basic 2008


1 de mar.

Aprobados.dat

Luis Perez , 10856576


Lola Mento , 12474322
Mario Moronta , 1111112
Esteban Quito, 12321231

Reprobados.dat

Luisana Rojas, 1123423


Leo Pereira, 12345678

Module Module1
Sub Main()
'Declaracin de Variables
Dim nombre As String
Dim Cedula, Nota As Integer
'Apertura de los archivos
'archivo de lectura
FileOpen(1, "C:\Proyectos\Datos.dat", OpenMode.Input)
'archivos a generar
FileOpen(2, "C:\proyectos\Aprobados.dat", OpenMode.Output)
FileOpen(3, "C:\proyectos\Reprobados.dat", OpenMode.Output)
'Ciclo para leer el archivo mientras no encuentre la marca de fin
'de archivo
While Not EOF(1)
Input(1, nombre)
Input(1, Cedula)
Input(1, Nota)
If Nota >= 10 Then 'esta aprobado
PrintLine(2, nombre & " , " & Cedula)
Else 'esta reprobado
PrintLine(3, nombre, " , ", Cedula) ' otra forma de
escribir
End If
End While
'cierre de los archivos
FileClose(1)
FileClose(2)
FileClose(3)
'impresin de un mensaje de donde estan los resultados
Console.WriteLine(" Los resultados estan en los archivos
aprobados y reprobados.dat en el directorio proyectos en C")
'instruccin para evitar que se cierre la ventana
Console.ReadKey()
End Sub
End Module

22

Visual Basic 2008


1 de mar.

Referencias
Blanco, Luis Miguel (2002). Fundamentos de Programacin en Visual Basic . Net. Grupo
Eidos.
Petroutsos, Evangelos (2008). La Biblia de Visual Basic 2008. Anaya Multimedia
Buyens, Jim (2003). Introduccin a la Programacin, Mc. Graw Hill.

23

You might also like