Académique Documents
Professionnel Documents
Culture Documents
VARIABLES
Una variable de memoria es la referencia lógica a una posición física de memoria RAM.
Por medio de las variables es posible almacenar valores en la memoria, asignarle un nombre
determinado y disponer del valor almacenado cuando se requiera
Estos valores almacenados estarán disponibles en tanto que no liberemos la memoria, ya sea
por medio de programación o como resultado de haber cerrado la sesión de programa donde
fueron definidos. Por supuesto, apagar la maquina produce el cierre de todos los programas y,
por tanto, la perdida de los valores almacenados en las variable.
Las variables tienen siempre las siguientes características:
• Identificador: (identifier). Es el atributo que permite distinguir a una variable de otra.
• Tipo de dato (datatype). Es el tipo de valor que podrá almacenar la variable; determina el
tratamiento interno que tendrá el valor y la cantidad en bytes que consumirá en memoria,
entre otras cosas.
• Alcance: (scope). Es el atributo que define el código dentro de un programa en que una
variable puede ser utilizada sin utilizar calificador; es el estado de existencia y la
persistencia del valor de la variable en tiempo de ejecución.
• Accesibilidad (accesasibility). Es el permiso que se proporciona al código para leer la
variable o escribir en ella.
• Tiempo de vida (lifetime). Es el periodo de ejecución en el cual la variable esta
disponible.
Disponible a través de
R variables
A Identificador
M Tipo de dato
Dominio
Alcance
Accesibilidad
Tiempo de vida
Posiciones en me
memoria
Identificadores
Se le llama identificador (Identifier) al nombre lógico de un elemento de programación por medio
del cual puede ser referido.
Las variables al igual que los procedimientos, las clases, las estructuras y otros elementos
poseen un identificador, a través de el, dichos elementos son utilizables de manera
programática.
Reglas de composición de los identificadores. Los identificadores deben cumplir con las
siguientes reglas:
• Deben iniciar con un carácter alfabético o guión bajo
• Pueden comenzar solo caracteres alfabéticos, dígitos decimales o guiones bajos.
• Si se inician con un guión bajo, deben contener al menos un digito decimal o un carácter
alfabético.
• No pueden contener espacios intermedios.
Programación I
GUIA 3 SOBRE VARIABLES 2
Pascal casing. El estilo Pascal casing consiste en usar mayúsculas al principio del nombre y al
inicio de cada una de las palabras que compongan el identificador.
Se recomienda este estilo al denominar:
• Clases
• Enumeración (constantes predefinidas del lenguaje)
• Eventos
• Interfaces
• Espacios de nombres
• Métodos y propiedades
Cmel casing. El estilo Camel casing se caracteriza por colocar en mayúsculas la primera letra
de cada palabra de un identificador, excepto la primera. Por ejemplo: ventasMensuales, este
estilo esta difundido entre los programadores de C# o Java.
Programación I
GUIA 3 SOBRE VARIABLES 3
Todo en visual Basic.net es un objeto, y todo objeto tiene un determinado tipo, lo que se conoce
como Type. Se tienen dos clases de Types en el lenguaje:
• Types que forman parte del lenguaje, llamados Types intrínsecos
• Types de usuario, llamados también user-defined types, que son clases, estructuras,
interfaces y otros elementos que no forman parte de .NET Framework
Cada type tiene un nombre, que es el identificador a través del cual se invoca la funcionalidad
desde el código fuente en un determinado lenguaje. El nombre del type puede ser mas corto en
un lenguaje que en .NET Framework. Por ejemplo para Visual Basic la referencia Integer es
equivalente a referir el type System.Int32 de .NET Framework, que es mas complejo.
Además de nombre, los types también poseen un tamaño, que representa su consumo en bytes.
Se consideran tipos de datos numéricos los siguientes: Byte, Double, Integer, Long, Short y
Single. Se consideran tipos de datos no numéricos los siguientes: Bolean, Date, Decimal, Object
y String. Aunque Decimal almacena números, el manejo que hace del punto flotante complica su
manejo; Object por su parte, puede asumir cualquier valor.
Algunas recomendaciones pertinentes con respecto a la definición de tipos de datos son las
siguientes:
o Determine cuidadosamente el tipo de dato mas adecuado para una variable, de forma
que las operaciones a realizar con los valores no produzcan conflictos de tipos. Si, por
ejemplo, vamos a realizar operaciones de alta precisión, el tipo de datos Integer no le
servirá.
o Utilice el tipo de datos que consuma solo la cantidad e memoria necesaria. Si va a
almacenar la edad de una persona, escoja Byte porque consume menos memoria que,
por ejemplo, Integer.
o Use en lo posible, tipos de datos numéricos, pues son los que mas eficientemente
maneja la computadora.
o En términos de tiempo de procesamiento, el tipo de dato más eficiente,
indiscutiblemente, es Integer, mientras que el menos eficiente es Object.
o Visual Basic puede realizar lo que se llama conversión de tipo cast; es decir, una
conversión de tipos de datos, en tiempo de ejecución entre tipos de datos compatibles.
Es preferible que usted mismo haga las conversiones; aunque es mas cómodo dejar que
el lenguaje lo haga, usted pierde el control de su programa y, en caso de que se
presenten problemas, será mas difícil determinar en donde se encuentran.
o Sea previsor y actué en concordancia con respecto a las posibilidades de que un dato, y
especialmente uno de tipo numérico, pueda exceder los dominios de tipo al ser
manipulado. Considere el siguiente ejemplo: un programador elige un tipo de datos
Integer partiendo del razonamiento matemático de que la suma de dos números enteros
siempre será número entero. Sin embargo, si se suma 2.000.000.000 mas
2.000.000.000, el resultado excederá el limite del dominio de tipo. En este caso, el
programador debió haber elegido Long, el tipo de dato en que puede convertirse la suma
de dos Integer. En ocasiones los problemas originados por esta situación (numeric
overflow), se presentan después de haber utilizado la aplicación durante mucho tiempo.
Conversión de datos
En muchas ocasiones requerirá realizar conversiones de tipos de datos, y principalmente del tipo
de String a otros.
Se conoce como conversión de datos a cambiar el tipo de dato de un valor por otro. Existen tres
formas de conversión de datos.
Programación I
GUIA 3 SOBRE VARIABLES 4
Conversión explicita
La conversión explicita consiste en aplicar funciones especificas mediante código para realizar la
conversión. Se utiliza principalmente para convertir tipos String / char a otros.
La conversión explicita puede hacerse mediante funciones especificas. Las principales funciones
específicas utilizadas son las siguientes
Función Consecuencia
CBool(Expresión) Convierte Expresión a Bolean
CByte(Expresión) Convierte Expresión a Byte
CChar(Expresión) Convierte Expresión a Char
CDate(Expresión) Convierte Expresión a Date
CDbl(Expresión) Convierte Expresión a Double
CDec(Expresión) Convierte Expresión a Decimal
Cint(Expresión) Convierte Expresión a Integer
CLng(Expresión) Convierte Expresión a Long
Coba(Expresión) Convierte Expresión a Object
CShort(Expresión) Convierte Expresión a Short
CStr(Expresión) Convierte Expresión a String
Programación I
GUIA 3 SOBRE VARIABLES 5
Byval y ByRef
Cuando los datos son pasados como argumentos a funciones y procedimientos, es posible
especificar el tipo de acceso que se desea tener.
Para ellos se utilizan las palabras reservadas ByVal y ByRef. Si se utiliza Byval, se le esta
especificando al procedimiento o función que utilice su propia versión del dato y que mantenga
intacto su valor original. Si se utiliza ByRef, se le esta especificando al procedimiento o función
que utilice la misma posición de memoria que el dato original, por lo que las modificaciones
realizadas al argumento afectan a ese dato.
Es importante considerar que el uso de ByVal y ByRef es respetado siempre y cuando la
naturaleza del dato no se imponga.
Cuando sus procedimientos o funciones sean de uso genérico para varios objetos o datos, se
recomienda ampliamente utilizar ByVal, a fin de que se realicen operaciones de la manera mas
segura posible.
Stron Typing
Antes de Visual Basic, el lenguaje había sido muy permisivo con los programadores; obviaba
muchas cosas y les permitía no ser formales con la técnica, lo que a largo plazo siempre
causaba problemas.
Programación I
GUIA 3 SOBRE VARIABLES 6
Programación I
GUIA 3 SOBRE VARIABLES 7
Constantes
Se conoce como constantes a las variables que solo cambiaran su valor una vez en su tiempo de
vida. Para definirlos se utiliza la siguiente sintaxis:
Const Identificador (As TipoDato)) = ValorInicial.
Donde identificador es el identificador de la constante, TipoDato es el tipo de dato que tendrá la
constante y ValorInicial es el valor que tendrá la constante durante todo su tiempo de vida,
Ejemplo:
Const PI As Single = 3.1416
Programación I
GUIA 3 SOBRE VARIABLES 8
Programación I
GUIA 3 SOBRE VARIABLES 9
Para el glosario:
Palabra clave
Variable
Control
Clase
Espacio de nombre
Propiedad
Método
Alcance de una variable
Constante
Tipo de dato
Identificador
Option Explicit
Option Strict
ByVal
ByRef
Procedimiento
Conversión explicita
Programación I
GUIA 3 SOBRE VARIABLES 10
TIPOS DE DATOS
Trabaje con tipos de datos específicos
El tipo de datos String es útil para manejar texto en sus programas, pero ¿Qué pasa con
los números, fechas y demás tipos de información?. Para permitir un manejo eficiente
de todos los tipos de datos Visual Basic.Net proporciona otras categorías que se pueden
utilizar para las variables. Muchas de ellas son tipos de datos ya conocidos desde las
versiones anteriores de Basic o de Visual Basic, mientras que otros son nuevos o han
cambiado en Visual Basic.net.
La siguiente tabla lista los tipos de datos fundamentales (o elementales) de Visual
Basic.net. Se puede observar cuatro tipos de datos nuevos: SByte, Ushort, UInteger y
Ulong. SByte permiten valores de byte “firmados”, es decir, números positivos y
negativos. Ushort, UInteger y Ulong son tipos de datos “sin firmar” ofrecen dos veces el
rango de números positivos que sus contrapartes firmados, como se muestra en la tabla
siguiente. Obviamente el desempeño de sus programas se vera beneficiado si elige el
tipo de dato correcto.
Tipos de
Tamaño Rango Ejemplo de uso
datos
Short 16 bits De -32768 hasta 32767 Dim valor As Short
Valor = 12500
Ushort 16 bits De 0 hasta 65535 Dim numero As Ushort
Numero = 55000
Integer 32 bits De -2..147483648 hasta Dim calor As Integer
2.147483647 Calor = 3750000
UInteger 32 bits De 0 hasta 4294967295 Dim personas As Uinteger
Personas= 300000000
long 64 bits De -9223372036854775808 Dim Numerolargo = As Long
Hasta 9223372036854775808 Numerolargo = 4800000004
Ulong 64 bits De 0 hasta Dim inicio As Ulong
18446744073709551615 Inicio = 1800000000000000000
Single 32 bit punto De -3.4028235 E 38 hasta Dim Precio As Single
flotante 3.4028235 E 38 Precio = 790.95
Double 64 bits punto De -1.797693134886231 E308 Dim Pi As double
flotante Hasta 1.797693134886231 E308 Pi = 3.14151626565
Decimal 128 bits Valores de hasta + / -79228 x 1024 Dim Interes as Decimal
Interes = 7600300.50
Byte 8 bits De 0 hasta 255 ( no números Dim Codigo As Byte
negativos) Codigo = 13
Sbyte 8 bits De -128 hasta 127 Dim Valneg As SByte
Valneg = -20
Char 16 bits Cualquier símbolo Unicote en el Dim direccion As char
rango de 0 a 65565 Direccion = “A”
String Por lo general 16 De 0 a aproximadamente 2 mil Dim ubicación As String
bits por carácter millones de carácter Ubicación = “ Ave. Ivu # 929
Boolean 16 bits Verdadero o Falso (durante las Dim Flag As Bolean
conversiones, 0 es convertido a Flag = True
Falso, otros valores a Verdadero)
Date 64 bits 1 de enero de 0001 hasta 31 de Dim cumpleanos As Date
diciembre de 9999 Cumpleanos = #3/1/1980#
Object 32 bits Cualquier tipo se puede almacenar Dim mipersona As Object
en una variable de tipo Object Mipersona =
createObject_WordApplication
Programación I