Está en la página 1de 24

Visual Basic 2008

Elementos del Lenguaje e Instrucciones de


Entrada – Salida por Cónsola 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, cuáles son las reglas de evaluación de una
expresión, como se documenta un programa, entre otros.
También es importante donde y como se declaran
Variables y Constantes Simbólicas; también se muestra el
funcionamiento de las instrucciones de Entrada – Salida
en cónsola y empleando además, la obtención 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
Publicación Pendiente.
Revisado por: Prof. Manuel Fernández y
Prof. Hugo Hernández
Visual Basic 2008
1 de mar.

Contenido

Vocabulario en VB2008 .................................................................................................................. 3


Identificadores ............................................................................................................................... 3
Comentarios .................................................................................................................................. 3
Tipos de Datos ............................................................................................................................... 3
Numéricos.............................................................................................................................. 4
No Numéricos ........................................................................................................................ 5
Asignación de valor ........................................................................................................................ 5
Operadores .................................................................................................................................... 5
Aritméticos ............................................................................................................................ 6
Relación ó Comparación ......................................................................................................... 6
Concatenación & .................................................................................................................... 6
Lógicos ................................................................................................................................... 6
Asociatividad de Operadores .................................................................................................. 7
Prioridad de evaluación de expresiones con diferentes operadores ........................................ 7
Uso de paréntesis para alterar la prioridad de operadores ..................................................... 7
Operadores abreviados de asignación ............................................................................................ 7
Declaración de Variables ................................................................................................................ 8
Declaración múltiple en línea ................................................................................................. 8
Declaración de Constantes ............................................................................................................. 8
Aplicaciones para Cónsola.............................................................................................................. 9
Instrucciones de Salida ó Visualizar información en la Cónsola ..................................................... 10
Obtener información de la cónsola ó leer los datos ...................................................................... 11
Estructura de una Aplicación para Cónsola ................................................................................... 12
Abreviaturas y Características Adicionales.................................................................................... 12
División de una línea de código ............................................................................................ 12
Escritura de varias sentencias en la misma línea ................................................................... 13
Estructuras de Control ................................................................................................................. 14
Estructuras Selectivas o de Decisión. .................................................................................... 14

1
Visual Basic 2008
1 de mar.
Estructuras Repetitivas ......................................................................................................... 15
Otras Formas de la Estructura Cíclica Do...Loop............................................................................ 17
Condición al principio ........................................................................................................... 17
Condición al final .................................................................................................................. 17
Creación y Uso de Archivos de Texto ............................................................................................ 18
Creación 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 según lo Definido ......................................................................................... 20
Cerrar el Archivo .................................................................................................................. 21
Función Fin de Archivo (EOF) ................................................................................................ 21
Ejercicio ............................................................................................................................... 21
Referencias .................................................................................................................................. 23

2
Visual Basic 2008
1 de mar.

Vocabulario en VB2008
El vocabulario de un lenguaje de programación se refiere al significado que le da el lenguaje a los
diferentes símbolos o caracteres que maneja la computadora. En VB2008 el vocabulario clasifica
los caracteres en tres:

 Letras: A  Z, a  z, _ (subrayado, piso o guión bajo) [No incluye la ñ ó Ñ]


 Dígitos: 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 números Nombre
Cantidad
 No puede contener caracteres especiales Importe
Totalizado
 No deben tener más de 255 caracteres Precision
_Suma3
Primer_Dia
 No deben existir dos iguales en el mismo ámbito

Comentarios
En VB2008 se utiliza el carácter de comilla simple o apóstrofe ( ' ) para poder escribir anotaciones
dentro del código del programa. Una vez incluida la comilla simple, todo lo que vaya a
continuación 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) Numéricos: aquellos con los que se puede realizar cálculos aritméticos. Por razones técnicas
se subdividen en:
a) Enteros
b) Reales, Decimal es o con punto Decimal
2) No numéricos: aquellos que permiten manipular textos (Nombre de una persona, su género,
su dirección, etc.) o manipular el resultado de relaciones o comparaciones (Si/No). Se
subdividen en:
a) Alfanuméricos: permiten manipular un caracter o un conjunto finito de ellos. Se
subdividen en:

3
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, dirección, etc.)
b) Lógicos: representan los resultados provenientes de relaciones o comparaciones, los
cuales también 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 (homogéneo) o de diferente tipo
(heterogéneo) dentro de un solo nombre de variable. Utiliza identificadores para el acceso
individual de los contenidos.
b) Matrices: manipulan varios contenidos del mismo tipo (homogéneos). Utiliza índices para
el acceso individual de los contenidos.
c) Clases
4) Objetos

Numéricos
En el lenguaje se disponen de múltiples tipos de datos, numéricos los cuales se emplearán
en base a las necesidades. La clasificación más general son enteros y con punto decimal
(conocidos como Reales).

Tipos de Datos Enteros


Tipo Rango
SByte -128 a 127
Short / Int16 -32768 a 32767
Integer / Int32 -2147483648 a -2147483647
Long / Int64 -9.223.372.036.854.775.808 a 9.223.372.036.854.775.807

Tipos de Datos Con Punto Decimal (Reales)


Rango
Single 3,402823E38 a –1,401298E-45 para
valores negativos; 1,401298E-45 a
3,402823E38 para valores positivos
Double 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

4
Visual Basic 2008
1 de mar.

No Numéricos
Ejemplos:
Tipo Caracter (CHAR)
Un dato de tipo caracter está formado por un único elemento, que puede " A"
ser cualquier letra, símbolo, número, teniendo en cuenta que los números "1"
que son representados como caracteres no se pueden utilizar para realizar "+"
operaciones aritméticas.

Tipo Cadena de caracteres ( STRING)


Conjunto finito de caracteres Ejemplos:

"LUIS"
"MARIANA LÓPEZ"
"EL 1er LUGAR CON 38 % "

Tipo Lógico (BOOLEAN)


Un dato lógico es aquel que representa uno de dos valores posibles: Verdadero o Falso,
indicándose estos valores en VB2008 como True y False respectivamente. La mayoría de las veces
se asignan por el programador o son el resultado de expresiones lógicas o de relación

Asignación de valor

Para asignar un valor a una variable utilizaremos el


Ejemplos:
operador de asignación: el signo igual ( = ), situando a
A = "LUIS"
su izquierda la variable a asignar, y a su derecha el A=B +C
valor.

Operadores

Los operadores son aquellos elementos del lenguaje que nos permiten combinar variables,
constantes, valores literales, instrucciones, etc., para obtener un valor numérico, lógico, de
cadena, etc., como resultado.

5
Visual Basic 2008
1 de mar.
La combinación de operadores con variables, instrucciones, etc., se denomina expresión, mientras
que a los elementos integrantes de una expresión y que no son operadores, se les denomina
operandos.

En función de la complejidad de la operación a realizar, o del tipo de operador utilizado, una


expresión puede ser manipulada a su vez como un operando dentro de otra expresión de mayor
nivel.

Los operadores se clasifican en las categorías detalladas a continuación, según el tipo de expresión
a construir.

Aritméticos
Operación Pascal VB2008 Prioridad de operadores aritméticos
Suma + + Potenciación ( ^ )
Resta - - Negación ( - )
Multiplicación * * Multiplicación y división real ( * , /)
División / / División entera ( \ )
División Entera DIV \ Resto de división ( Mod )
Residuo de División Entera Mod Mod Suma y resta ( + , - )
Potencia ^

Relación ó Comparación
Operación Pascal VB2008 Prioridad de operadores de relación
Mayor > > Todos tienen la misma prioridad
Menor < <
Menor o igual <= <=
Mayor o Igual >= >=
Diferente <> <>
Igual = =

Concatenación &
Estos operadores permiten unir dos o más 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"

Lógicos
Operación Pascal VB2008 Prioridad de operadores Lógicos
Y And And Negación (Not)
O Or Or Conjunción (And)
Negación Not Not Disyunción (Or)

6
Visual Basic 2008
1 de mar.

Asociatividad de Operadores
Cuando aparecen operadores de la misma prioridad juntos en una expresión, por ejemplo,
multiplicación y división, el compilador evalúa cada operación de izquierda a derecha en el orden
en que aparecen en la expresión.

Prioridad de evaluación de expresiones con diferentes operadores


Cuando en una expresión se tengan operadores de diferentes grupos, se evaluarán de acuerdo a la
siguiente tabla

Prioridad entre operadores de distintos grupos


Aritméticos
Concatenación
Comparación
Lógicos

Uso de paréntesis para alterar la prioridad de operadores


Podemos alterar el orden natural de prioridades entre operadores utilizando los paréntesis,
encerrando entre ellos los elementos que queramos sean resueltos en primer lugar dentro de una
expresión. De esta forma, se resolverán en primer lugar las operaciones que se encuentren en los
paréntesis más interiores, finalizando por las de los paréntesis exteriores. Es importante tener en
cuenta, que dentro de los paréntesis se seguirá manteniendo la prioridad explicada
anteriormente.

Operadores abreviados de asignación


Estos operadores simplifican la escritura de expresiones, facilitando la creación de nuestro código.
El resultado empleando operadores abreviados en una expresión, es el mismo que utilizando la
sintaxis normal, pero con un pequeño ahorro en la escritura de código. Se utilizan cuando la
variable aparece a la derecha e izquierda de la instrucción de asignación.

Operación Expresión Normal Expresión Abreviada


Suma A=A+B A += B
Resta A=A–B A -= B
Multiplicación A= A*B A *= B
División A=A/B A /= B
División Entera A=A\B A \= B
Potencia A= A ^ B A ^= B

7
Visual Basic 2008
1 de mar.

Declaración de Variables
Declarar una variable significa que se reserva, denomina y describe un espacio de la memoria que
se desea utilizar con un propósito específico. 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,
además le asigna un tipo Ejemplos:

As indica a Visual Basic que la siguiente palabra Dim Nombre As String


Dim Cantidad As Integer
especifica el tipo de dato que se puede guardar Dim Importe, Totalizado As Integer
Dim Precision as Integer
en la variable

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

Declaración múltiple en línea


En el caso de que tengamos que declarar más
de una variable del mismo tipo, podemos
declararlas todas en la misma línea, separando Ejemplos:

cada una con una coma, e indicando junto a Dim Nombre As String,Cantidad As Integer
Dim Importe, Totalizado As Integer
cada variable el tipo de dato que va a tener; o Dim Precision As Integer

bien, si especificamos el tipo de dato al final de


la lista de variables todas tendrán el mismo
tipo de dato.

Declaración 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
ejecución 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.

8
Visual Basic 2008
1 de mar.

Ejemplos:
Const identificador = valor o expresión
Const g = 9.8
ó Const NIT = "J70994509-K"
Const identificador as tipo de dato = valor o expresión Const P as single = 3.1416
Const Color1 = "Azul"
Const Color2 as string = "Verde"

No se puede asignar a una constante otro valor después de su creación

Aplicaciones para Cónsola

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, símbolo del sistema, o cónsola, como la
denominaremos. En este apartado vamos a dar unas indicaciones básicas de uso, ya que la cónsola
será el elemento principal que utilizaremos para mostrar y obtener datos por pantalla. Debido a su
sencillez de uso y rápida ejecución, la cónsola se convierte en el elemento ideal para realizar
pruebas.

Aunque la cónsola es un objeto, no vamos a entrar aquí a describir en qué consisten los objetos ni
su uso en profundidad.

9
Visual Basic 2008
1 de mar.

Instrucciones de Salida ó Visualizar información en la Cónsola

Para escribir texto llamaremos al método Write( ) o WriteLine( ) del objeto Console. Como
parámetros a estos métodos, es decir, entre los paréntesis que los acompañan, situaremos la
información a mostrar: una cadena, variable o expresión.

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 método escriben el texto y de seguir escribiendo lo hace en
la misma línea, mientras que el último lo hace en líneas separadas.

Si al escribir un texto en la cónsola, queremos combinar una cadena de caracteres con el


contenido de una variable, podemos optar por dos técnicas.

Por un lado podemos concatenar o unir la cadena a la variable mediante el operador de


concatenación 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 técnica consiste en utilizar parámetros 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 están 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 además el número de orden de
la variable, tal y como la vamos a situar al llamar al método WriteLine( ). Los marcadores son los
símbolos de llaves utilizados de una forma similar a la siguiente: {0}

Cuando llamamos a WriteLine( ) sabemos que le pasamos como parámetro el valor a mostrar,
pero podemos pasar más parámetros separados por comas, como pueden ser variables; dichos
parámetros serán utilizados para sustituirse en la cadena pasada como primer parámetro.

Obtener información de la cónsola ó leer los datos

Para tomar la información tecleada en la ventana de la cónsola disponemos del método


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é acompañada de un proceso interactivo el cual
consiste en emitir el mensaje apropiado que guie al usuario acerca de la información que debe
suministrar para guardar en la variable.

11
Visual Basic 2008
1 de mar.

‘Declaración 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()
‘Impresión de Resultados
Console.Writeline(“Hola {0} tienes {1} años” , Nombre, Edad)

Estructura de una Aplicación para Cónsola

Se sugiere la siguiente estructura para una mejor lectura del código

Module Module1
Sub Main() ‘ la dos lineas escritas hacen las veces de el
‘ encabezado en Pascal
‘ AQUÍ SE COLOCA EL CÓDIGO DE LA APLICACIÓN, SE SUGIERE LA
‘ SIGUIENTE ESTRUCTURA:

‘ DECLARACIÓN DE VARIABLES

‘ DECLARACIÓN 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 Características Adicionales

División de una línea de código


Si tenemos en nuestro programa líneas de código muy largas, que nos obliguen a desplazarnos
hacia una lateral de la ventana del editor de código para poder leerlas, podemos dividir ese tipo de
línea lógica de código en varias líneas físicas, situando el carácter de piso ó guión bajo ( _ ) en el
punto de la línea de código en donde queremos continuar, teniendo en cuenta que siempre debe

12
Visual Basic 2008
1 de mar.
haber un espacio en blanco antes y después de este carácter, para que la división de la línea sea
efectiva.

' una sola línea lógica y física


Resultado = ((30 + 5) * 5 > 100) And (52 > 200 / (2 + 5))
' varias líneas físicas, aunque internamente
' el compilador reconoce una sola línea lógica
Resultado = ((30 + 5) * 5 > 100) And _
(52 > 200 / _
(2 + 5))

Escritura de varias sentencias en la misma línea


Aquí tenemos el caso opuesto al anterior apartado. El lenguaje nos permite escribir en una misma
línea física, varias sentencias separadas por el carácter de dos puntos ( : ), que en condiciones
normales se escriben en líneas separadas.
Si bien en algunas situaciones puede ser útil, esta característica hace que nuestro código sea más
complicado de leer, restándole claridad a nuestra aplicación, 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 línea hay tres sentencias que
' habitualmente se escriben en líneas 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 Decisión.


Las estructuras de selección o decisión permiten ejecutar un bloque de código entre varios
disponibles, según el resultado de la evaluación de una expresión situada en la cabecera de la
estructura.

INSTRUCCIÓN Pascal Visual Basic 2008

IF condición Then IF condición Then


Begin Instrucción(es)
Decisión, Instrucción(es); Else
Selección o End Instrucción(es)
Pregunta Else End IF
Begin
Instrucción(es);
End;

Case VariableOrdinal of Select Case VariableName


ListaConstantes1: Begin Case 1
Instrucción(es); Instrucción(es)
End; Case 2
ListaConstantes2: Begin Instrucción(es)
Selector
Instrucción(es); Case Else
Múltiple
End; Instrucción(es)
Else Begin End Select
Instrucción(es);
End;
End;

Select Case
Se trata de una evolución en la estructura If...End If de decisión múltiple, y su trabajo consiste en
evaluar una expresión 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:

• Expresión

• ExpresiónMenor To ExpresiónMayor

• Is OperadorComparación Expresión

14
Visual Basic 2008
1 de mar.

Tras evaluar la expresión de la estructura, si se encuentra una coincidencia con alguno de los Case,
se ejecuta el bloque de código 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 ejecución continuará a partir de la línea
situada después de End Select.

En el caso de que tras evaluar la expresión, haya más de un Case cuya lista de expresiones se
cumpla, se ejecutará el que esté situado en primer lugar. En el ejemplo a continuación, cuando la
variable Valor contiene 5, se cumplen dos casos. Sin embargo sólo se ejecuta el código 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 ningún ", _
"caso" & Valor)
End Select

Estructuras Repetitivas
Estas estructuras, también denominadas bucles, ejecutan un bloque de código de forma repetitiva
mientras se cumpla una condición asociada a la estructura. A cada una de las ocasiones en que se
ejecuta el código contenido en estas estructuras se le denomina iteración.

15
Visual Basic 2008
1 de mar.

INSTRUCCIÓN Pascal Visual Basic 2008


While condición Do While condición
Ciclo Repetitiva
Begin Instrucción(es)
con condición
Instrucción(es); End While
al inicio
End;
Ciclo Repetitivo Repeat Do
con condición Instrucción(es); Instrucción(es)
al final Until condición; Loop Until condición

‘incremento por omisión Sucesor (1) ‘incremento por omisión uno (1)
For Variable := Vi TO Vf Do For Variable = Vi To Vf
Begin Instrucción(es)
Instrucción(es); Next variable
Ciclo de
End;
Repetición
Automática
‘decremento por omisión Predecesor (-1) ‘incremento variable inc
For Variable := Vi DOWNTO Vf Do For Variable = Vi to Vf step Inc
Begin Instrucción(es)
Instrucción(es); Next variable
End;

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 número")
Valor = Console.ReadLine()
End While
Console.Writeline ("Probando el Repeat - Until")
Repeat
Console.WriteLine("Introducir un número")
Valor = Console.ReadLine()
Until Valor = 200
End Sub

16
Visual Basic 2008
1 de mar.

Otras Formas de la Estructura Cíclica Do...Loop


Esta estructura ejecuta un conjunto de líneas de código, en función del valor devuelto por una
expresión, que a modo de condición, podemos situar al comienzo o final de la estructura. Es
posible además, no utilizar la expresión de evaluación al principio o final, debiendo en ese caso,
introducir alguna condición en el interior del código de la estructura, para forzar la salida del bucle
y evitar caer en un bucle infinito.

Condición al principio
Do While | Until Expresión
' Instrucciones
' ......
Loop

La diferencia entre usar While o Until reside en que empleando While, el código del bucle se
ejecutará mientras la expresión devuelva Verdadero. En el caso de Until, el código se ejecutará
mientras que la expresión 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 número")
Valor = Console.ReadLine()
Loop
Console.Writeline ("Probando el Do Until")
Do Until Valor = 200
Console.WriteLine("Introducir un número")
Valor = Console.ReadLine()
Loop
End Sub

Condición al final
Do
' instrucciones
' ......
Loop While | Until Expresión

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 - Loop While")
Do
Console.WriteLine("Introducir un número")
Valor = Console.ReadLine()
Loop While Valor <> 200
Console.Writeline ("Probando el Do – Loop Until")
Do
Console.WriteLine("Introducir un número")
Valor = Console.ReadLine()
Loop Until Valor = 200

End Sub

Creación 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 información. El uso de un archivo para guardar datos de forma
externa es recomendable en procesos que no necesiten una organización muy compleja de los
datos a manipular, ya que en tal caso, lo mejor sería utilizar un programa gestor de base de datos,
que ya incorpora, de modo mucho más optimizado, los algoritmos y procesos específicos para el
tratamiento de la información.

Creación 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 separándolos entre sí por una
coma, el orden de los datos debe corresponder con la estructura definida para los mismos, sin
líneas vacías, ni títulos.

Supongamos que se dice que se tienen los datos de


un conjunto de personas donde para cada persona se Luis Perez , 10856576 , 17
tiene Nombre, Cedula y Nota, el archivo correcto Lola Mento , 12474322 , 16
Mario Moronta , 1111112 , 12
sería 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 según 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
número con que se hará referencia al mismo en el programa, el nombre del archivo y su ubicación
física y el modo en que se abrirá o utilizará. Esto se realiza a través de la instrucción.

FileOpen( FileNumber, FileName , OpenMode)


Donde

FileNumber es el número con que se hará referencia al archivo

FileName es el nombre con extensión, indicando la ubicación física 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 más datos se especificará OpenMode.Append

Se puede escribir la instrucción directamente:

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

'La instrucción 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 instrucción 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á información es
FileOpen(2, "C:\Proyecto\resultados.dat", OpenMode.Output)

19
Visual Basic 2008
1 de mar.

Usar el archivo según lo Definido


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

Dim Nombre As String


Dim Cedula, Nota As Integer

'La instrucción 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 línea de este archivo que contiene Nombre, Cedula y Nota
Input ( 1, Nombre )
Input ( 1, cedula )
Input ( 1, Nota )

Leer ó tomar información


Para leer o tomar información de un archivo se utilizará por cada dato a leer la instrucción INPUT,
cuya sintaxis es la siguiente

Input ( FileNumber, Variable )


Donde

FileNumber es el número con el que se abrió el archivo del cual se desea tomar información en
la instrucción FileOpen

Variable es donde se almacenará el dato leído

Dim NombreArch1, NombreArch2 As String


NumArch1 = 1
NumArch2 = 2
NombreArch1 = "C:\Proyecto\Datos.dat"
NombreArch2 = "C:\Proyecto\resultados.dat"

'La instrucción 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 instrucción 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á información es
FileOpen(NumArch2, NombreArch2, OpenMode.Output)

20
Visual Basic 2008
1 de mar.
Escribir Información
Para escribir se usará la instrucción 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 línea para seguir
escribiendo y el segundo escribe y baja de línea.

Se pueden escribir las variables y/o mensajes separándolos entre sí con una coma ó usando el
operador de concatenación &. No puede utilizarse la incrustación de variables en un mensaje que
es bastante útil en impresión a través de cónsola.

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 instrucción FileClose, con la siguiente sintaxis

FileClose ( FileNumber)

Función Fin de Archivo (EOF)


La Función fin de archivo EOF permite determinar si se encontró o no la marca de fin de archivo, es
una función Boolena que devuelve True si se encuentra el fin del archivo y False si en el archivo
existe más información. La sintaxis es EOF( FileNumber)

Ejercicio
Dado el archivo datos.dat el cual contiene la información de los estudiantes de una sección
Nombre, Cédula y Nota definitiva, desarrolle un programa que genere dos archivos uno con la
información de los aprobados y otra con los reprobados de nombres aprobados.dat y
reprobados.dat respectivamente. Nota: No se conoce el número de estudiantes almacenados, use
la función 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 Reprobados.dat

Luis Perez , 10856576


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

Module Module1

Sub Main()

'Declaración 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)

'impresión 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")
'instrucción 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 Programación en Visual Basic . Net. Grupo
Eidos.
Petroutsos, Evangelos (2008). La Biblia de Visual Basic 2008. Anaya Multimedia
Buyens, Jim (2003). Introducción a la Programación, Mc. Graw Hill.

23

También podría gustarte