Sunteți pe pagina 1din 11

Características del lenguaje VB.

Explicaremos las características de los diferentes tipos de datos, ámbito,


operandos y expresiones en VB.

Características del lenguaje VB.................................................................................................................................................................................... 1


1.TIPOSDEDATOS................................................................................................................................................................................................................ 1
2.DECLARACIÓNDEMATRICES:.......................................................................................................................................................................................... 4
3.ÁMBITODELASVARIABLES............................................................................................................................................................................................... 7
4.TIPOSDEFINIDOSPORELUSUARIO................................................................................................................................................................................... 7
5.COMENTARIOS................................................................................................................................................................................................................. 7
6.OPERADORES................................................................................................................................................................................................................... 7
6.EJERCICIOS:..................................................................................................................................................................................................................... 10

Objetivos
Conocer los diferentes tipos básicos de datos en lenguaje VB.

Diferenciar entre variables y constantes en un programa.

Conocer los rangos de valores de los tipos básicos.

Manejar expresiones.

1. TIPOS DE DATOS.
En la formula 2πr observamos diferentes tipos de datos.
Por un lado los valores 2 y π que son constantes y no podrán ser modificados. Pero 2 es un
valor constante literal y π es un valor constante con nombre.
En cuanto a r es un valor variable . Estos conceptos son importantes a la hora de trabajar con
datos .

1.1. CONSTANTES.

Son valores que no cambian durante la ejecución de la aplicación. Las constantes pueden ser
numéricas y alfanuméricas.

Constantes literales
Las constantes numéricas admiten valores decimales, hexadecimales (base 16) y octales (base 8):
Decimales: 10,1784, 28

Hexadecimales: &H3, &HlOA, &HF7

Octales: &055, &0176, &01447

Las constantes alfanuméricas o de caracteres son para cadenas de letras, también pueden
almacenar número pero no permiten realizar operaciones aritméticas:

Alfanuméricas: “Visual Basic”, “Fundamentos de programación”


1
Constantes con nombre
Const nombre_constante[AS Tipo]=expresión

1.2. VARIABLES
Una variable es el campo donde almacenaremos un valor que podrá ser modificado durante la
ejecución de la aplicación.
En versiones anteriores VB nos permitía utilizar variables sin definición previa. Ahora nos obliga
a declarar las variables antes de utilizarlas: Declaración explicita de variables y nos permite
especificar si queremos que nos obligue a declarar el tipo datos: Declaración estricta.
Podemos desactivar estas dos Opciones, no se recomienda no hacerlo.

Para la declaración estricta


de variables:
Botón derecho del ratón
sobre el nombre del
proyecto del Explorador
de soluciones ->
Propiedades->Compilar-
>Option Strict=On

Para desactivar la
declaración Explicita:
Option Expilcit=OF

Las variables son necesarias declararlas con la sentencia Dim, que tiene el siguiente formato:

Dim nombre-variable [AS Tipo]........


Ejemplo: Dim Conta AS Integer
Las variables han de definirse con un nombre, un tipo y un ámbito.

Nombre: Es el nombre que utilizaremos al escribir el programa para referirnos a la


variable.Los nombres de variable han de comenzar obligatoriamente por una letra y pueden
tener un máximo de 40 caracteres. Estos caracteres serán letras, números y el guión de
subrayado, no se admiten símbolos como (%, &, $, ", etc.), ni palabras reservadas que el
lenguaje utilice para otros cometidos.
Tipo: Determina qué clase de valores podrá almacenar.
Sufijo: Se puede indicar el tipo de variable sin la cláusula AS, terminando el nombre en un
carácter a modo de sufijo, especifico para cada tipo de variable.
Ejemplo: Dim Contador%, Nombre$
La siguiente lista muestra los tipos de variables y el rango de valores que pueden almacenar.
La tabla siguiente muestra los tipos de datos de Visual Basic .NET, los tipos
correspondientes de Common Language Runtime, su asignación de almacenamiento
nominal y sus intervalos de valores.
tipo Tipo de Visual Estructura de tipo Asignación de Intervalo de valores
Basic Common Language almacenamiento
Runtime nominal
lógico Boolean System.Boolean 2 bytes True o False

2
caracter Char System.Char 2 bytes 0 a 65535 (sin signo)
fecha Date System.DateTime 8 bytes 0:00:00 del 1 de enero de 0001 a 11:59:59 PM del 31
de diciembre de 9999.
Nueros Decimal System.Decimal 16 bytes 0 a +/-79.228.162.514.264.337.593.543.950.335 sin
reales separador decimal;
0 a +/-7,9228162514264337593543950335 con 28
posiciones a la derecha del signo decimal; el número
más pequeño distinto de cero es
+/-0,0000000000000000000000000001 (+/-1E-28).
Double System.Double 8 bytes -1,79769313486231570E+308 a
(punto flotante con -4,94065645841246544E-324 para valores negativos;
precisión doble) 4,94065645841246544E-324 a
1,79769313486231570E+308 para valores positivos.
Single System.Single 4 bytes -3,4028235E+38 a –1,401298E-45 para valores
(punto flotante con negativos; 1,401298E-45 a 3,4028235E+38 para
precisión simple) valores positivos.
enteros Byte System.Byte 1 byte 0 a 255 (sin signo)
Integer System.Int32 4 bytes -2.147.483.648 a 2.147.483.647
Long System.Int64 8 bytes -9.223.372.036.854.775.808 a
(entero largo) 9.223.372.036.854.775.807
Short System.Int16 2 bytes -32.768 a 32.767
Object System.Object (clase) 4 bytes Cualquier tipo puede almacenarse en una variable de
tipo Object.
Cadenas String System.String (clase) En función de la De 0 a 2.000 millones de caracteres Unicode aprox.
de (cadena de longitud plataforma de
caracteres variable) implementación
Tipo de datos (hereda de En función de la Cada miembro de la estructura tiene un intervalo de
definido por el System.ValueType) plataforma de valores determinado por su tipo de datos e
usuario implementación independiente de los intervalos de valores
(estructura) correspondientes a los demás miembros.

CONSIDERACIONES:

Las variables de tipo Char se almacenan como números de 16 bits (2 byte) sin signo con valores
comprendidos entre 0 y 65535. Cada número representa un único carácter Unicode.
Los datos numéricos se pueden convertir a datos lógicos. El valor 0 es False y distinto de cero es True.
Para convertir los lógicos a numéricos False se convierte en 0 y True en -1.
Los valores literales de fechas y horas deben expresarse en un formato reconocible por windows,
encerrados por el carácter (#). Ejemplo:

#15/05/95 14:30:15#

#15Mayo1995 14:30#

ƒ Si convierte un valor Date a un tipo String, la fecha se procesa en función del formato de fecha corta
reconocida por el equipo y la hora se procesa en función del formato de hora que tenga el equipo (12
horas o 24 horas).

ƒ Si se agrega el carácter de tipo I a un literal, se convierte el tipo de datos del literal al tipo de datos
Integer. Si se agrega el carácter de declaración de tipo % a cualquier identificador, se convierte su
tipo de datos al tipo Integer. Ejemplo: Dim Contador%

Los números enteros se especifican por los tipos Byte,Short,Integer y Long según el tamaño.

Para números enteros sin signo de 0 a 255 el tipo Byte

Si se agrega el carácter de tipo L a un literal, se convierte el tipo de datos del literal al tipo de
datos Long. Si se agrega el carácter de declaración de tipo & a cualquier identificador, se
convierte su tipo de datos al tipo Long. Ejemplo: Dim largo&..

Si se agrega el carácter de tipo S a un literal, se convierte el tipo de datos del literal al tipo de
datos Short.

3
Si se agrega el carácter de tipo F a un literal, se convierte el tipo de datos del literal al tipo de
datos Single. Si se agrega el carácter de tipo de identificador ! a cualquier identificador, se
convierte su tipo de datos al tipo Single. Ejemplo Dim area!

Si se agrega el carácter de tipo R a un literal, se convierte el tipo de datos del literal al tipo de
datos Double. Si se agrega el carácter de declaración de tipo # a cualquier identificador, se
convierte su tipo de datos al tipo Double. Ejemplo: Dim radio#

Cuando se declaran variables, las variables numéricas sé inicializan a 0, las cadenas de longitud variable
se inicializan a cadena de longitud cero, y las cadenas de longitud fija se rellenan con ceros.

Ejemplos de declaraciones:
Dim x,y,z As Integer,
Dim q,w As Single, r as Double
1.2.1 INICIALIZACIÓN DE VARIABLES.

ƒ Asignar valor a una variable después de su definición


Dim x As Integer
x = 10 'Asignar a x el valor de 10
ƒ Puede declarar más de una variable por enunciado separando su declaración con
comas:
Dim x As Integer, y as String
x = 10 : y = "hola"
ƒ Asignar valor en su declaración
Dim dato& = 10
Dim dato1 As Integer = 21

2. DECLARACIÓN DE MATRICES:
2..1 Definir Matrices.
Para declarar matrices necesitamos: nombre, numero de elementos y tipo de datos.
1. Dim a(9) As Integer ‘ define un array de 10 elementos enteros
2. Dim b() As Double ‘ define un array de números Double sin especificar el
tamaño
3. Dim cadena(11) As String ‘ define un array de 12 elementos de tipo cadena

En .NET se puede definir el segundo ejemplo de la forma: Dim b As Double()

Si conocemos a priori el tamaño de la matriz podemos usar este dato en su definición, ejemplos
1 y 3 ,si no lo conocemos podemos hacerlo como el segundo ejemplo y más adelante lo
redefiniremos con su tamaño.

Como se puede apreciar el número de elementos se expresa teniendo en cuenta que el número
expresado entre paréntesis es el valor mayor que puede tomar el índice, ya que en Net los arrays
van de 0 al valor del índice expresado en su definición. Así el primer ejemplo tiene 10 elementos
enteros accesibles con índices del 0 al 9.

Si utilizamos en su definición los limites de los índices, ejemplos1 y 3, no podremos inicializar


de forma explicita la matriz.

2.2 Dar valores a matrices.


ƒ Para dar valores a un a matriz en su definición, tendremos que declararla sin límites
explícitos:
Dim a() As Integer = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}

4
Dim s() As String = {"hh", "bb"}

ƒ Para asignar un valor a un elemento de una matriz:


a(1) = 12
a(i)=1 ‘ i debe ser una variable entera y entre los valores permitidos
por su tamaño
a(i+2)=1 ‘ la expresión debe ser una variable entera y entre los valores
permitidos por su tamaño

2.3. Para definir matrices de más de una dimensión:

Dim b()As Integer


Dim c(,) As Integer
Dim d(,,) As Integer
Dim e(2) As Integer
Dim f(1, 6) As Integer
Dim g(3, 1, 5, 2) As Integer
Dim h() As Integer = {1, 2, 3, 4}
Dim j(,) As Integer = {{1, 2, 3}, {4, 5, 6}}
' este array se declararía como K(3, 2, 1)
Dim K(,,) As Integer = { _
{{18, 20}, {23, 34}, {12, 6}}, _
{{7, 8}, {19, 16}, {11, 12}}, _
{{13, 15}, {15, 16}, {17, 18}}, _
{{1, 20}, {1, 22}, {25, 43}} _
}

2.4 Redimensionar una matriz


Para cambiar el tamaño de una matriz se usa Redim:
ReDim a(8)
Pero debemos tener cuidado, al redefinir el tamaño, perdemos su contenido a menos
que especifiquemos lo contrario:
ReDim Preserve a(11)
Los elementos añadidos se inicializarán a cero.
ƒ En matrices de más de una dimensión, no podremos modificar el
número de dimensiones.
ƒ Con Redim podemos modificar el número de elementos de todas las
dimensiones.
ƒ Con Redim Preserve solo podremos modificar el numero de elementos de la
última dimensión, incluso ponerlo a cero.

2.5 Propiedades de una matriz


IsFixedSize Obtiene un valor que indica si Array tiene un tamaño fijo.

IsReadOnly Obtiene un valor que indica si Array es de sólo lectura.

Length Obtiene un entero de 32 bits que representa el número total de elementos de todas las dimensiones de
Array.
a.Length nos dará 10 y a.Length-1 nos dará 9 que es el valor mayor del índice, dato
interesante para utilizar el el bucle que recorrerá la matriz.
LongLength Obtiene un entero de 64 bits que representa el número total de elementos de todas las dimensiones de
Array.
Rank Obtiene el rango (número de dimensiones) de Array. Ejemplo: K.Rank
ƒ

5
2.6 Métodos para matrices.
BinarySearch Busca un valor en una matriz Array unidimensional y ordenada utilizando un algoritmo de búsqueda
binario.

Clear Establece un intervalo de elementos de Array en cero, false o una referencia nula (Nothing en Visual
Basic), en función del tipo de elemento.
.
Clone Crea una copia superficial de Array.

Copy Copia una sección de una matriz Array en otra matriz Array y realiza la conversión de tipos y la
conversión boxing de tipos necesarias.

CopyTo Copia todos los elementos del objeto Array unidimensional actual en el objeto Array unidimensional
especificado a partir de una posición. Debemos tener la precaución del numero de elementos de los
arrays sean correctos.
a.CopyTo(b, 0)

CreateInstance Inicializa una nueva instancia de la clase Array.

Equals (se hereda Determina si dos instancias de Object son iguales.

de Object)

GetEnumerator Devuelve IEnumerator correspondiente a Array.

GetHashCode (se Sirve como función hash para un tipo concreto, apropiado para su utilización en algoritmos de hash y
estructuras de datos como las tablas hash.
hereda de Object)

GetLength Obtiene un entero de 32 bits que representa el número de elementos de la dimensión especificada de
Array.

GetLongLength Obtiene un entero de 64 bits que representa el número de elementos de la dimensión especificada de
Array.
Obtiene el límite inferior de la dimensión especificada de Array. Siempre será cero
GetLowerBound
GetType Obtiene el objeto Type de la instancia actual.

GetUpperBound Obtiene el límite superior de la dimensión especificada de Array. Ejemplo


k.GetUpperBound(1) dará como resultado el numero de elementos de
la dimensión 2.

GetValue Obtiene el valor del elemento especificado de la matriz Array actual. Los índices se especifican en forma
de una matriz de enteros de 32 bits.
.
IndexOf Devuelve el índice de la primera aparición de un valor en una matriz Array unidimensional o en una
parte de la matriz Array.
.
Initialize Inicializa todos los elementos de la matriz Array de tipo de valor llamando al constructor
predeterminado del tipo de valor.

LastIndexOf Sobrecargado. Devuelve el índice de la última aparición de un valor en una matriz Array unidimensional
o en una parte de la matriz Array.

Reverse Invierte el orden de los elementos de una matriz Array unidimensional o de una parte de Array.
b.Reverse(b)

SetValue Establece el elemento especificado de la matriz Array actual en el valor especificado.

Sort Ordena los elementos en objetos Array unidimensionales.


Array.Sort(a)
a.Sort(a)
Las dos formas son correctas.

ToString Devuelve un objeto String que representa al objeto Object actual.

6
3. ÁMBITO DE LAS VARIABLES.
Las constantes y variables tienen los siguientes ámbitos:
1. Nivel de bloque: dentro de un bloque de código, ejemplo If….En if
2. Nivel de procedimiento: (Local)dentro de un procedimiento
3. Nivel de módulo. Visible para todos los procedimientos almacenados para el mismo
módulo. Se declara en la sección de Declaraciones.

4. Global: Sustituiremos Dim o Private por Public.


Para declarar variables de ámbito estático: Static a as integer. La variable no se inicializa cada vez
que ejecute el procedimiento que la declara.
4. TIPOS DEFINIDOS POR EL USUARIO.
VB permite al programador definir sus propios tipos de datos mediante la sentencia Structure ,
con el siguiente formato:

Public Structure Empleado


Public EmpNumero As Integer
Dim Telefono As String
Private TelefonoCasa As String ' Can be made Private inside Structure.
End Structure

Después de realizada la definición, se pueden declarar variables del tipo definido usando la
sentencia Dim.

Ejemplo: Dim Ramón AS Enpleado, Pepe AS Empleado

Para poder acceder a los valores individuales se hace especificando el nombre de la variables, un
punto y el del elemento. Ejemplos:

Ramon.telefono=9682345678
Ramon=Pepe
5. COMENTARIOS.
Es posible que en ocasiones sea necesario incluir algún comentario en un programa. Un
comentario es una línea que Visual Basic ignorará cuando ejecute la aplicación, pero
que será muy útil para nosotros al comprobar los listados.

Para insertar un comentario basta con colocar una comilla simple delante de la frase.
Los comentarios pueden estar situados detrás de una sentencia de Visual Basic:
' esto es un ejemplo de un comentario

6. OPERADORES
Un operador suele estar representado por un símbolo y como su nombre indica realiza
una operación. Las operaciones pueden ser lógicas, relacionales y aritméticas.

Los operadores de Visual Basic son los siguientes:

Aritméticos

7
+ (Suma) - (Resta) - (Cambio de signo)
* (Multiplicación) / (División) ^ (Exponente) \ (División entera)
Mod (Resto división entera)

Relacionales

< (menor que) > (Mayor que) <> (Diferente)


= (Igual)
<= (Menor igual) >= (Mayor igual)

Lógicos
a b a And b A Or b Not a
Not (No) Verdadero Verdadero Verdadero Verdadero Falso
And (Y) Verdadero Falso Falso Verdadero Verdadero
Or (O) Falso Verdadero Falso Verdadero
Falso Falso Falso Falso

Xor (Or exclusivo),su tabla de verdad es:

expresión1 expresión2 expresión1 Xor expresion2


Verdadero Verdadero Falso
Verdadero Falso Verdadero
Falso Verdadero Verdadero
Falso Falso Falso

Eqv (Equivalencia, opuesto a Xor) su tabla de verdad es:

expresión1 expresión2 expresión1 Eqv expresion2


Verdadero Verdadero Verdadero
Verdadero Falso Falso
Falso Verdadero Falso
Falso Falso Verdadero

Imp (Implicación, falso si el primer operando es verdadero y el segundo operando es


falso)

expresión1 expresión2 expresión1 Imp expresion2


Verdadero Verdadero Verdadero
Verdadero Falso Falso
Verdadero Null Null
Falso Verdadero Verdadero
Falso Falso Verdadero
Falso Null Verdadero
Null Verdadero Verdadero
Null Falso Null
Null Null Null

ejemplos:

5<8 And Not 4>2 (> resultado False)


6=5 Or 6<>5 (>resultado True)
4>=3 Xor 2<=5 (>resultado False

8
En estos ejemplos se utiliza el operador Imp para ejecutar una implicación lógica con
dos expresiones.

A = 10: B = 8: C = 6: D = Null ' Inicializa variables.


MiPrueba = A > B Imp B > C ' Devuelve True.
MiPrueba = A > B Imp C > B ' Devuelve False.
MiPrueba = B > A Imp C > B ' Devuelve True.
MiPrueba = B > A Imp C > D ' Devuelve True.
MiPrueba = C > D Imp B > A ' Devuelve Null.

• Los operadores relacionales dan como resultado los valores True (condición
cierta), False (condición falsa) o Null (no válido).
En VB el valor Null indica que la variable no tiene un valor válido.

Se pueden comparar cadenas de dos formas:

- carácter a carácter.

- Ignorando la mayúsculas, minúsculas y los signos de acentuación de vocales. Para


esto debe incluirse la sentencia Option Compare Text en la sección de declaraciones del
módulo.
El modo por defecto es Optión Compare Binary.

Option Compare Binary da por resultado comparaciones de cadenas basadas en el


criterio de ordenación derivado de las representaciones binarias internas de los
caracteres. En Microsoft Windows, el criterio de ordenación depende del código de
página. En Macintosh, el criterio de ordenación se determina por el juego de caracteres.
En el siguiente ejemplo se ilustra un criterio de ordenación binaria típico:
A<B<E<Z<a<b<e<z<À<Ê<Ø<à<ê<ø

Option Compare Text da por resultado comparaciones de cadenas basadas en el criterio


de ordenación determinado por la información local. Los mismos caracteres del ejemplo
anterior, ordenados con la opción Option Compare Text, aparecen en el siguiente orden:
(A=a) < (À=à) < (B=b) < (E=e) < (Ê=ê) < (Z=z) < (Ø=ø)

Αaaa= ΑAAA >resultado : True


Αááá= ΑAAA > resultado : Trué

OTROS

& (Enlazar, concatenar)

ejemplo:
Nombre = “Daniel”
print “mi nombre es “ & Nombre
resultado : Mi nombre es Daniel

Like (Comparar dos expresiones alfanuméricas)

Al utilizar estos operadores se han de tener en cuenta algunas cuestiones:

- Al comparar valores numéricos de diferente tipo, el resultado será igual al operando de


mayor precisión.
- Si uno de los operandos tiene el valor Null, el resultado es Null.
9
- El operador Like compara dos expresiones alfanuméricas (caracteres) y permite
trabajar con los siguientes patrones:

? Sólo un carácter.
* Ninguno o más caracteres.

# Sólo un dígito (0-9).


[Lista] Sólo un carácter de la lista.
[!Lista] Sólo un carácter que no esté en la lista.
Ejemplo del operador Like

Ejemplos:.

M = "aBBBa" Like "a*a" ' Devuelve True.


M = "F" Like "[A-Z]" ' Devuelve True.
M = "F" Like "[!A-Z]" ' Devuelve False.

M es una variable numérica.

La siguiente lista muestra algunos ejemplos de patrones del operador Like:

Patrón True False

a?a aaa, a7a, axa a12a, aaaa

b*b b12bb, bb, bcdefb bcde, bcbd

c#c c1c, c7c, c0c c12c, cX9c

d[0]d d0d ddd, d1d, d*d

[a-z] a,b,c,d,e 7,9,-,=

[!a-z] 1,3,4,5 a,b,c,d,z

El orden de ejecución de los operandos en una expresión es:


1) Paréntesis más internos de izquierda a derecha
2) ^
3) * y /
4) \ Aritméticos
5) Mod
6) + y –

7) <,>,>=,>=,=,<> Relacionales

8) Not
9) And
10) Or Lógicos
11) Xor
12) Equ
13) Imp
6. EJERCICIOS:
1) Escribir en expresión Visual Basic las siguientes expresiones algebraicas:
a) 3x +5
10
b) x2+y 2
c) (U+V)K-1

d)

a c −m
3

+
b 4

e)

6 .8
(a + b )
2


7 .2 a
b + c
R = c
(a − c )
1
n

1
f)
⎡ 2ab t ⎤
3

f = +
⎢ c +1 3( p + q )⎥
⎣ ⎦

2) Evaluar las siguientes expresiones, para los valores:


X=1 y=4 z=10 PI=3,141592 E=2,718281

• X + y + z + PI - E + 2,576689
• (Not(2 * x = y / 2 Or (PI- E) >y)) = ( Not y / 2 = 2 *x) And Not y <( PI - E) * z
• x>3 And (y =4 Or x+y <= z)

11

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