Está en la página 1de 8

Estructuras

27 de abr.

Estructuras
Definicin de datos tipos Estructuras del
tipo Simple como Anidado, Mtodo Equals
e Instruccin With.
Un proceso importante que se debe realizar al
momento de construir un programa es indicarle al
mismos en variables, mdulos, subprograma, etc. que
tipos de datos van a tener que ser almacenado en
memoria para su posterior proceso, en este sentido
hasta los momentos hemos estado trabajando con tipos
de datos Primitivos o Bsicos (Integer, Single, String,
etc.), los cuales son capaces de almacenar un dato a la
vez. Las estructura es un objeto que podemos construir
como un tipo de dato personalizado (tipo de dato
compuesto) que va ser capaz de almacenar en memoria
ms de un dato a la vez, cuyos valores a almacenar
pueden ser del mismo tipo (Homogneos) o de tipos
distintos (heterogneos)
Prof. Hugo Hernndez
27/04/2012, Actualizacin
Publicacin Pendiente

Estructuras
27 de abr.

Contenido
Estructuras................................................................................................................................2
Definicin de una Estructura .................................................................................................3
Declaracin de una variable tipo estructura ..........................................................................4
Acceso a los miembros de una estructura .............................................................................4
Operaciones que se pueden aplicar en variables tipo Estructuras ..........................................5
Mtodo Equals..........................................................................................................................6
Instruccin With .......................................................................................................................6
Bibliografa ...............................................................................................................................7

Estructuras
27 de abr.

Estructuras
En el lenguaje de VB.Net 2010, se disponen de muchos tipo de datos Primitivos o
Bsicos que podemos emplear para definir que tipo de valores el programa va manejar y
adems este saber que tipos de operaciones se pueden realizar con dichos valores. Hasta los
momentos hemos estado trabajando con los tipos de datos que se encuentran
predeterminado en el lenguaje sin embargo, en VB.Net 2010 se pueden utilizar no solo estos
tipos de datos sino tambin el programador puede construir sus propios tipos. A continuacin
se recuerda todos los posibles tipos de datos que pueden ser empleados en este el lenguaje:
1) Numricos: aquellos con los que se puede realizar clculos aritmticos. Por razones
tcnicas se subdividen en:
a) Enteros (Byte, Integer, Long)
b) Reales, Decimal o con punto Decimal (Single, Double)
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:
i) Caracter: permite almacenar, recuperar o procesar un solo caracter (Char).
ii) Cadena: permite almacenar, recuperar o procesar un conjunto finito de
caracteres, Ej. nombre, direccin, etc. (String)
b) Lgicos: representan los resultados provenientes de relaciones o comparaciones, los
cuales tambin pueden ser almacenados, recuperados y procesados por un programa.
(Boolean). 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: que puede manipulan varios contenidos del mismo tipo (homogneo) o
de diferente tipo (heterogneo) dentro de un solo nombre de variable. Este utiliza
identificadores para el acceso individual de los contenidos.
b) Matrices: manipulan varios contenidos del mismo tipo (homogneos). En este caso se
usan ndices para el acceso individual de los contenidos.
c) Clases
4) Objetos
Como se menciono antes, las dos primeras clasificaciones ya vienen predefinidas en el
lenguaje y dependiendo del tipo escogido al momento de declarar una variable por ejemplo,
esta variable ocupa cierta cantidad de memoria capaz de almacenar datos en un rango en
particular, al declarar una variable tipo Byte, la maquina reserva 1Byte de memoria y dicha
variable ser capaz de almacenar un nmero entero que se encuentre en el rango de 0 a 255.
Los tipos de datos compuestos u Objetos, son definidos por el programador haciendo que este
pueda construir sus tipos de datos, donde pueda manejar la informacin segn sus
necesidades.

Estructuras
27 de abr.

En este sentido las Estructuras son un tipo de dato compuesto, creado por el
programador que va ser capaz de almacenar ms de un dato a la vez, los cuales pueden ser del
mismo tipo (Homogneos) o de tipos diferentes (Heterogneos). Estos datos internos que
poseern las estructuras van a ser guardados internamente en campos o miembros que
poseern un nombre en particular y estos pueden ser declarados como un tipo de dato
Primitivos o de otro tipo de datos tipo estructura. Cada una de estos miembros se comportar
como una variable del tipo escogido al realizar su definicin. Los campos o miembros podr ser
capaz de almacenar un dato (Tipo Primitivo) o ms de un dato si es de otro tipo Estructura
(Tipo estructura que contendr miembros internos)
Cuando al definir una estructura se declara algn miembro como otro tipo de
estructura se dice que ste es la Estructura Contenedora y al miembro declarado tipo
estructura se le nombra como una estructura anidada.

Definicin de una Estructura


Las estructura deben ser creada o definida en la zona intermedia entre la cabecera del
modulo de consola (Module Module1) y la cabecera del procedimiento de arranque Main
(Sub Main())

Module Module1

Zona empleada para definir Estructuras


Sub Main()

Instrucciones a realizar

End Sub
End Module

Para definir una estructura se


emplea la palabra reservada Structure
luego el nombre que se desea que posea la
estructura y la estructura finaliza con End
Structure, Entre la cabecera de la
estructura y la finalizacin de la misma se
declaran todos los miembros o campos que
va contener la estructura, proceso que se
realiza como est establecido para declarar
una variable.

Structure Nombre_Estructura
Lista de miembros
Dim Miembro1 As tipo

End Structure

Estructuras
27 de abr.

Ej.

Definicin de la Estructura Punto que es del tipo Homognea


Structure Punto
Dim x, y As Single
End Structure
Definicin de la Estructura Circunferencia del tipo Heterognea
Structure Circunferencia
Dim C

As Punto

C es del tipo estructura anidada

Dim r As Single
End Structure
En este caso la Estructura Circunferencia Contiene el Miembro C
el cual es una estructura del tipo anidada que posee los
miembros x, y

Declaracin de una variable tipo estructura


La variables que van a ser declaradas del tipo estructura se realiza de la misma manera
como lo hemos realizado hasta el momento, empleando el modificador de acceso Dim, luego
se coloca el identificador de la variable, siguiendo con la palabra reservada As y finalmente el
tipo de dato estructura al cual se quiere dar, como se mostro en el ejemplo anterior al
momento de declarar la variable C en la definicin de la estructura Circunferencia.
Dim Variable As Tipo_Estructura
Se pueden declarar variables tipo estructuras dentro de cualquier mdulo o
subprograma as como dentro de otras estructuras siempre y cuando esta halla sido definida
previamente. Es decir para poder definir la estructura Circunferencia se debi haber definido
primero la estructura Punto y no viceversa.

Acceso a los miembros de una estructura


Al momento de declarar una variable del tipo estructura se crea una variable capaz de
almacenar ms de un dato en ella, sin embargo estos datos estn contenidos en varios
miembros los cuales se les debe hacer referencia al momento de querer utilizar la informacin
que esta contiene o cuando se quiera almacenar algn dato. Esto hace que para las actividades

Estructuras
27 de abr.

de lectura, impresin u operaciones que se necesiten emplear la informacin almacenada en


un miembro se debe acceder a este para su uso.
Para acceder a un miembro de una estructura se realiza colocando el nombre de la variable
tipo estructura y luego empleando el operador de acceso a miembro . se coloca el nombre
del miembro al que se desea acceder.
Ej.
Dim Estructura1 As Punto Variable tipo Punto que contiene los miembros x, y
Lectura por consola del valor de x a almacenar en la variable Estructura1
Console.Write(Inserte el valor de la coordenada x= )
Estructura1.x = Console.ReadLine()
Variable tipo Circunferencia que contiene el miembro r tipo Single y
adems el miembro C tipo estructura anidada Punto que posee
internamente los miembros x, y
Dim Estructura2 As Circunferencia
Impresin por consola del valor de x a almacenar en la variable
Estructura2 contenido en el miembro C
Console.WriteLine( Coordenada del x del Centro = & Estructura2.C.x )

Nota: Observe en el ejemplo la variable Estructura2 se realiza el acceso al miembro C


pero como ste es una variable tipo estructura a la que se le desea tomar el dato almacenado
en su miembro x, se debe tambin realizar el acceso empleando el operador de acceso de
miembro .

Operaciones que se pueden aplicar en variables tipo Estructuras


Las operaciones que se les puede aplicar a las variables tipo estructuras se limitan
exclusivamente a la actividad de asignacin de una variable tipo estructura a otra que sea del
mismo tipo. En el caso de realizar la asignacin de una variable tipo estructura a otra del
mismo tipo, lo que hace la maquina es copiar en cada uno de los miembros de la variable a
asignar todos los valores de los miembros de la otra variable. Todas las operaciones
aritmticas y de relacin que antes utilizamos para variables no pueden ser empleadas con
estos tipos de variables.
Ej.
Dim Estrutura3 As Punto
Estructura3 = Estructura1
Asignacin de los valores de los miembros de la variable Estructura1
a los campos de la variable estructura3
Estructura2.C = Estructura1
Como el miembro C de la variable Estructura2 es del tipo Punto
se puede asignar los valores de los miembros de la variable Estructura1
ya que tambin es del tipo Punto

Estructuras
27 de abr.

Mtodo Equals
En Visual Basic, se ha construido un mtodo tipo funcin que nos da la posibilidad de
comparar dos variables tipo Objetos en este caso estructuras, siempre y cuando estas sean del
mismo tipo, dando como respuesta un valor booleano True o False, es decir, en caso que
todos los campos de las dos variables sean iguales (True) y si al menos una o todos los
miembros entre las dos variables difieren (False).
Function Equals( Variable1 As Tipo_estructura, Variable2 As
Tipo_estructura ) As Boolean
Gracias a este mtodo ya no se tendra que preguntar a todos los campos de una
variable tipo estructura para saber si estas son iguales a otra variable. Recuerden que este
mtodo se comporta como una funcin por lo que en la expresin de comparacin aparecer
como un llamado (Equals) y dentro de parntesis debe estar las dos variables tipo estructuras
a comparar, siendo estas iguales en tipo.
Ej. Si se quiere comparar que los miembros de la estructura anidada C de la variable
Estructura2 son iguales a los de la variable Estructura1
Forma
tradicional

Con el uso de
el mtodo
Equals

If (Estructura1.x=Estructura3.x) And
(Estructura1.y=Estructura3.y) Then
If (Estructura1.x=Estructura2.C.x) And
(Estructura1.y=Estructura2.C.y) Then
If Equals( Estructura1 , Estructura3 ) Then
If Equals( Estructura1 , Estructura2.C ) Then

Instruccin With
Hasta ahora, siempre que se requiera hacer acceso a un miembro de una estructura se
coloca el nombre de la variables estructura y luego con el operador de acceso de miembro .
se coloca el identificador del campo al que se quiere acceder. Este proceso se hace muy
tedioso cuando se le debe realizar a una
variable muchas veces esta actividad.
La instruccin With es una
With Variable_tipo_estructura
instruccin que nos permite abreviar al
Al momento de necesitar
momento de hacer acceso a los miembros
realizar acceso
de una variable tipo estructura su nombre,
.Identificador_Miembro
de forma tal que cuando se quiera hacer
End With
acceso a sus miembros solo se coloca el
operador de acceso de miembro y el
identificador del campo al que se quiere hacer acceso.

Estructuras
27 de abr.

En el caso de colocar la instruccin With en forma anidada solo tendremos abreviado el


nombre de la ltima variable tipo estructura citada de manera tal que de querer acceder a
miembros de la primera abreviacin se necesitara colocar el nombre de esta variable.
Ej. A continuacin se presenta la forma en que se tendra que leer de un archivo la variable
Estructura2 sin el empleo de la instruccin With, con el empleo de la instruccin With y
adems con el uso de la instruccin anidada With en forma correcta y en forma incorrecta.
Caso
Sin With

Con With

Con With
Anidado

Instruccin a realizar para el proceso


Input( 1 , Estructura2.C.x )
Input( 1 , Estructura2.C.y )
Input( 1 , Estructura2.r )
With Estructura2
Input( 1 , .C.x )
Input( 1 , .C.y )
Input( 1 , .r )
End With
Forma incorrecta
With Estructura2
With .C
Input( 1 , .x )
Input( 1 , .y )
Input( 1 , .r ) No se tiene acceso Directo
Si se quiere hacer acceso seria
Input(1, Estructura2.r)
End With
End With
Forma Correcta
With Estructura2
With .C
Input( 1 , .x )
Input( 1 , .y )
End With
Input( 1 , .r )
End With

Bibliografa
 Material instruccional del curso de computacin I, Visual Basic 2008, Pacheco
Lisbeth 2009, Universidad de Carabobo - Venezuela
 Ayuda en Lnea Visual Basic 2010 Express (http://msdn.microsoft.com/esve/vbasic/default.aspx)

También podría gustarte