Documento con preguntas y respuestas acerca del lenguaje de programación Visual Basic. Operadores, literales, declaración de variables, entrada y salida de datos y otras cosas más que se especifican en este archivo.
1. 1
Introducción a Programación Visual.
1.- ¿Qué es y para qué sirve .NET Framework?
.NET Framework es un conjunto de bibliotecas que nos proporciona un entorno de
programación orientada a objetos y un entorno de ejecución, la cual nos sirve para construir
aplicaciones de escritorio o para la Web. Consta de dos componentes principales: el CLR
(Common Language Runtime), que es el motor de ejecución que controla las aplicaciones en
ejecución, y la biblioteca de clases de .NET Framework, que proporciona una biblioteca de
código probado y reutilizable para el desarrollo de aplicaciones, de la que forman parte
Windows Forms y WPF, entre otras.
2.- ¿Qué es y para qué sirve el CLR (Common Languaje Runtime – Entorno de ejecución
común de los lenguajes)?
Es una máquina virtual que administra la ejecución del código de una aplicación, de ahí que al
código gestionado por esta máquina se le denomine “código administrado”, a diferencia del
resto de código (código más antiguo que no cumple todas las reglas del CLR pero que es
compatible con este), que se conoce como “código no administrado”. Este motor de ejecución
se puede también hospedar en servidores como Microsoft SQL Server e IIS (Internet
Information Services).
3.- ¿Qué es y para qué sirve Visual Studio?
Visual Studio es un conjunto completo de herramientas de desarrollo para construir
aplicaciones web, servicios web, aplicaciones Windows o de escritorio y aplicaciones para
dispositivos móviles. El entorno de desarrollo integrado que ofrece esta plataforma con todas
sus herramientas y con la biblioteca de clases .NET Framework es compartido en su totalidad
por Visual Basic, Visual C# y Visual C++, permitiendo así crear con facilidad soluciones en las
que intervengan varios lenguajes y en las que el diseño se realiza separadamente respecto a
la programación.
Visual Studio permite diseñar la interfaz gráfica de una aplicación de manera visual, sin más
que arrastrar con el ratón los controles que necesitemos sobre la ventana destino de los
mismos. Una rejilla o unas líneas de ayuda mostradas sobre la ventana nos ayudarán a
colocar estos controles y a darles el tamaño adecuado, y una página de propiedades nos
facilitará la modificación de los valores de las propiedades de cada uno de los controles.
Todo lo expuesto lo realizaremos sin tener que escribir ni una sola línea de código. Después,
un editor de código inteligente nos ayudará a escribir el código necesario y detectará los
errores sintácticos que introduzcamos, y un depurador nos ayudará a poner a punto nuestra
aplicación cuando lo necesitemos.
4.- ¿Qué es Visual Basic? Su historia, versiones y características principales.
2. 2
Visual Basic es hoy el lenguaje de programación más popular del mundo. Es un producto con
interfaz gráfica de usuario para crear aplicaciones para Windows basado en el Lenguaje Basic
y en la programación orientada a objetos.
Historia.
Desde que Microsoft liberó Visual Basic 1.0 en 1991 han tenido lugar muchos cambios. Visual
Basic 1.0 revolucionó la forma de desarrollar software para Windows; desmitificó el proceso
de desarrollo de aplicaciones con interfaz gráfica de usuario y abrió este tipo de programación
a las masas.
En sus posteriores versiones, Visual Basic ha continuado proporcionando nuevas
características que facilitaron la creación de aplicaciones para Windows cada vez más
potentes; por ejemplo, la versión 3.0 introdujo el control de datos para facilitar el acceso a
bases de datos, y la versión 4.0 mejoró y potenció este acceso con los objetos DAO. Con la
aparición de Windows 95, Microsoft liberó Visual Basic 4.0 que abrió la puerta al desarrollo de
aplicaciones de 32 bits y a la creación de DLL
.
La versión 5.0 mejoró la productividad con la incorporación de la ayuda inteligente y la
introducción de los controles ActiveX. Posteriormente la versión 6.0 nos introdujo en la
programación de Internet con las aplicaciones DHTML y el objeto WebClass. Después
dispusimos de Visual Basic .NET que vino a revolucionar el mundo de las comunicaciones
permitiendo escribir aplicaciones escalables para Internet.
Siguieron Visual Basic 2005, 2008, 2010 y ahora Visual Basic 2012, una evolución del
lenguaje Visual Basic, que se diseñó para generar aplicaciones con seguridad de tipos y
orientadas a objetos de manera productiva. Esta generación de Visual Basic continúa la
tradición de ofrecer una manera rápida y fácil de crear aplicaciones basadas en .NET
Framework.
Características
Diseñador de entorno de datos.
Asistente para formularios.
Asistente para barras de herramientas.
En las aplicaciones HTML: Se combinan instrucciones de Visual Basic con código HTML
para controlar los eventos que se realizan con frecuencia en una página Web.
La ventana de Vista de datos proporciona acceso a la estructura de una base de datos.
Es un lenguaje de fácil aprendizaje pensado tanto para programadores principiantes como
expertos.
Su sintaxis, derivada del antiguo BASIC, ha sido ampliada con el tiempo al agregarse las
características típicas de los lenguajes estructurados modernos.
Se ha agregado una implementación limitada de la programación orientada a objetos (los
propios formularios y controles son objetos), aunque sí admite el polimorfismo mediante el
uso de los Interfaces, no admite la herencia.
No requiere de manejo de punteros y posee un manejo muy sencillo de cadenas de
caracteres.
3. 3
Posee varias bibliotecas para manejo de bases de datos, pudiendo conectar con cualquier
base de datos a través de ODBC (Informix, DBase, Access, MySQL, SQL Server, Postgre
SQL, etc) a través de ADO.
Es utilizado principalmente para aplicaciones de gestión de empresas, debido a la rapidez
con la que puede hacerse un programa.
Visual-Basic es una herramienta de diseño de aplicaciones para Windows, en la que estas
se desarrollan en una gran parte a partir del diseño de una interface gráfica
5.- ¿Cómo se escribe un comentario?
Un comentario comienza con una comilla simple ( ‘ ) o por la palabra reservada REM (remark)
y se extiende hasta el final de la línea. Por ejemplo:
Module AsignarDatos
Sub Main( )
‘ Asignar datos:
‘ a, b, c, representan datos numéricos.
Dim a, b As Double
Dim c As Integer
a = 3.14 : b = 2.71 : c = 2
End sub
End Module
6.- ¿Cómo se declara una variable?
La declaración de una variable consiste en enunciar el nombre de la misma y asociarla un
tipo, para lo cual utilizaremos la palabra Dim. Por ejemplo en el siguiente código declara
cuatro variables. a de tipo Double, b de tipo Single, c y r de tipo Integer:
Module Ejemplo
Sub Main( )
Dim a As Double
Dim b As Single
Dim c, r As Integer
‘...
End sub
End Module
7.- ¿Cómo se declara una constante?
Declarar una constante simbólica significa decirle al compilador Visual Basic.NET el nombre
de la constante y su valor. Esto se hace utilizando el calificador Const. Por ejemplo:
Module Ejemplo
Sub Main( )
Const Pi As Double = 3.1426
Const Mensaje As String = “Pulse una tecla para continuar”
‘...
End sub
End Module
4. 4
8.- ¿Cuáles son los tipos de datos que maneja, cuánto espacio de memoria ocupan y
qué rango pueden representar?
Visual Basic distingue entre varios tipos de valores, los cuales son Byte, Short, Integer,
Long, Char, Single, Double, Decimal y Boolean. Las cadenas de caracteres son
almacenadas en objetos de tipo String; no obstante el tipo String es un alias de la clase
System.String.
Boolean: Los rangos que pueden representar este tipo de dato, solo son True y False.
Generalmente se utiliza para indicar si el resultado de una evaluación booleana es verdadero
o falso.
Byte: Permite declarar valores enteros comprendidos entre 0 y 255. El espacio que utiliza es
de 8 bits en memoria.
Short: Permite declarar datos enteros comprendidos desde -32768 y +32767. Utiliza 16 bits
en memoria.
Integer: Declara datos enteros comprendidos entre -2147483648 y 2147483647. Usa 32 bits
de longitud.
Long: Permite declarar datos enteros comprendidos entre los valores -
9223372036854775808 y +9223372036854775807. Utiliza 64 bits de memoria.
Char: Es utilizado para declarar datos enteros en el rango de 0 a 65535. Los valores 0 al 127
corresponden con los caracteres ASCII y ANSI del mismo código. Los juegos de caracteres
ASCII y ANSI conforman una parte muy pequeña del juego de caracteres Unicode utilizado
por Visual Basic para representar caracteres. Unicode es un código de 16 bits (valores de 0 a
65535), esto es, cada carácter ocupa 2 bytes, con el único propósito de internacionalizar el
lenguaje.
Single: Comprende valores desde -3.4x1038 a 3.4x1038. De 32 bits de longitud, se utiliza para
declarar un dato que puede contener una parte decimal. Los datos tipo Single almacenan
valores con una precisión aproximada de 7 dígitos (precisión simple). Por ejemplo:
Dim a As Single = 3.14159F
Dim b As Single = 0.000022F
Dim c As Single = 2 / 3F ‘0.6666667
Double: Con rango desde -1.79x10308 a 1.79x10308. Utiliza 64 bits de longitud, se utiliza para
declarar un dato que puede contener una parte decimal. Los datos Double almacenan valores
con una precisión aproximada de 15 dígitos (precisión doble).
Dim a As Double = 2.0 / 3.0 ‘a = 0.666666666666667
Decimal: Comprende los valores entre -7.9228x1028 a 7.9228x1028. Se utiliza para declarar
un dato que puede contener una parte decimal con una precisión mayor que un Double,
siendo más apropiado para cálculos monetarios y financieros. Los datos de tipo decimal
5. 5
almacenan valores con una precisión aproximada de 28 dígitos. Utilizan 128 bits de longitud.
Por ejemplo:
Dim a As Decimal = 2D / 3D ‘a = 0.6666666666666666666666666667
String: Contiene secuencias de puntos de código de 16 bits (2 bytes) sin signo cuyo valor
oscila entre 0 y 65535.Cada punto de código o código de carácter, representa un carácter
Unicode único. Una cadena puede contener de 0 a 2.000 millones (2^31) de caracteres
Unicode, aproximadamente.
Fecha/Date: Contiene los valores de 64 bits que representan fechas comprendidas entre el 1
de enero del año 0001 hasta el 31 de diciembre del año 9999, y las horas comprendidas entre
las 00:00:00 (medianoche) y las 23:59:59.
9.- ¿Cómo se escriben los literales para cada tipo de dato?
Literales enteros
Visual Basic permite especificar un literal entero en base 10, 8 y 16. En general, el signo + es
opcional si el valor es positivo y el signo – estará presente siempre el valor sea negativo. El
tipo de un literal entero depende de su base, de su valor y de su sufijo. La sintaxis para
especificar un literal entero es:
{[+]|-}literal_entero[{ S | I | L }]
Si el literal no tiene sufijo, su tipo es el primero de los tipos Integer o Long, en ese orden, en el
que su valor pueda ser interpretado.
Si el literal tiene sufijo y este es S su tipo es Short siempre y cuando su valor pueda ser
representado; si es de tipo I es de tipo Integer y si es L es de tipo Long.
Un literal entero octal puede tener uno o más dígitos del 0 al 7, precedidos por &O. Por
ejemplo:
Dim a As Integer = &O0326 ‘Variable entera Integer en base 8
Un literal entero hexadecimal puede tener uno o más dígitos del 0 al 9 y letras de la A a la F
(En mayúsculas o minúsculas) precedidos por el &H. Por ejemplo:
Dim b As Integer = -&H100 ‘Numero 255 expresado en hexadecimal
Literales reales
Un literal real está conformado por una parte entera, seguido por un punto decimal, y una
parte fraccionaria tambien se permite la notación científica, en cuyo caso se añade al valor
una e o una E, seguida por un exponente positivo o negativo:
{[+]|-}parte.entera-parte.fraccionaria[{e|E}{[+]|-}exponente]
Donde exponente representa cero o más dígitos del 0 al 9 y E o e es el símbolo de exponente
de la base 10 que puede ser positivo 0 negativo (2E-2 = 2x10-2). Si la constante real es
6. 6
positiva no es necesario especificar el signo y si es negativa lleva el signo de menos (-). Por
ejemplo:
-17.24
17.244283
.008e3
27E-3
Una constate real tiene siempre tipo Double, a no ser que se añada a la misma una f o F, en
cuyo caso será de tipo Single, o d o D, en cuyo caso es de tipo Decimal. Por ejemplo
17.24F ‘Constante real tipo Single
También se pueden utilizar los sufijos r o R para especificar explícitamente que se rata de una
constate de tipo Double. Por ejemplo:
17.24R ‘Constante real de tipo Double
Literales de un solo carácter
Los literales de un solo carácter son de tipo Char. Este tipo de literales está formado por un
único carácter que está encerrado entre comillas dobles seguido del carácter tipo C. Algunos
ejemplos son:
“ ”C ‘Espacio en blanco
“x”C ‘Letra minúscula x
Literales de cadenas de caracteres
Un literal de cadena de caracteres es una secuencia de caracteres encerrados entre comillas
dobles. Por ejemplo:
“Paseo de Pereda 10. Santander”
“3.1415926”
“” ‘Cadena vacía
“Lenguaje “”Visual Basic.NET””” ‘Imprime: Lenguaje “Visual Basic.NET”
Literales de hora y fecha son de tipo Date. Este tipo de literales está formado por una fecha
(mes, día, año separados por / o -) y una hora (horas, minutos, segundos separados por dos
puntos, más AM o PM si el formato es de 12 horas) delimitados por el carácter #.Algunos
ejemplos son:
#12/15/2012 10:00:00 AM#
#12/15/2012#
#10:05:00 PM#
7. 7
#12 – 15 – 2012 15:00:00#
10.- ¿Cuáles son las reglas para escribir adecuadamente un identificador?
Los identificadores son nombres dados a tipos, literales, variables, clases, interfaces,
métodos, espacios de nombres y sentencias de un programa. La sintaxis para formar un
identificador es la siguiente:
{letra|_}[{letra|digito|_}]...
Lo cual indica que un identificador consta de uno o más caracteres y que el primer carácter
debe ser una letra o el carácter de subrayado. No pueden comenzar por un digito ni pueden
contener caracteres especiales. Si el primer carácter es el carácter de subrayado (guion bajo),
debe de escribirse al menos, otro carácter a continuación.
Las letras pueden ser mayúsculas o minúsculas, pero Visual Basic no diferencia mayúsculas
de minúsculas. Por ejemplo, los identificadores Suma, suma y SUMA son el mismo
identificador.
11.- A través de tablas presente los operadores aritméticos, de comparación, lógicos,
de asignación, de concatenación.
Operadores aritméticos
Operador Función
+ Suma
- Resta
* Multiplicación
/ División real
División entera
^ Exponencial (ab)
Mod Modulo o resto de un
división.
Operadores de comparación
Operador Función
< Menor que…
> Mayor que…
<= Menor o igual que…
>= Mayor o igual que…
<> Distinto que…
= Igual que…
Operadores lógicos
Operador Función
8. 8
And o AndAlso
And. Da como resultado True si al evaluar cada uno de
los operandos es True. Si uno de ellos es False, el
resultado es False. Si se utiliza AndAlso en lugar de And y
el primer operando es False, el segundo operando no es
evaluado.
Or o OrElse
Or. El resultado es False si al evaluar cada uno de los
operandos el resultado es False. Si uno de ellos es True,
el resultado es True. Si se utiliza OrElse en lugar de Or y
el primer operando es True, el segundo operando no será
evaluado.
Not
Not. El resultado de aplicar este operando es False si al
evaluar su operando el resultado es True, y True en caso
contrario.
Xor
Xor. Da como resultado True si al evaluar cada uno de los
operandos el resultado de uno es True y el del otro es
False, en otro caso el resultado es False.
Operadores de asignación
Operador Función
= Asignación simple
*= Multiplicación mas asignación
/= División real más asignación
= División entera más asignación
+= Suma más asignación
-= Resta más asignación
^= Operación exponencial más asignación
&= Operación de concatenación de cadenas más
asignación
Operadores de concatenación
Operador Función
&
Concatena variables de tipo String u Object. Si
las variables no son de tipo String, es
convertido a String
+
Concatenación solo cuando las variables a
concatenar son de tipo String.
12.- Escriba la tabla que presenta la jerarquía de todos los operadores.
Jerarquía de operadores / Prioridad y orden de evaluación
Líneas de mayor a menor prioridad, los operadores en la misma fila tienen la misma prioridad.
Operador Función
Procedimientos
(Métodos)
Llamadas a procedimientos
^ Exponencial
9. 9
+ - Más y menos unitarios
* / Multiplicación y división
División entera
Mod Resto de una división
+ - Suma y resta
& Concatenación
=, <>, <, >,<=,>= Comparación
Not Negación
And, AndAlso AND
Or, OrElse OR
Xor XOR
13.- Entrada de datos con los métodos Read y ReadLine de la clase Console.
Dos métodos que tienen especial interés porque permiten a un programa leer datos de la
entrada estándar son:
Public Shared Function Read() As Integer
Public Shared Function ReadLine() As String
Read()
El método Read() simplemente lee caracteres individuales del flujo de entrada estándar,
concretamente lee el siguiente caracter disponible. Devuelve un entero (Integer)
correspondiente al código del carácter leído, o bien un valor negativo cuando en un intento de
leer se alcanza el final del flujo (esto es, no hay más datos). Ejemplo:
Module Ejemplo
Sub Main( )
Dim caracter As Char
Console.Write(“Introduzca un caracter: ”)
caracter = Conevert.ToChar(System.Console.Read())
Console.Write(caracter) ‘imprime el caracter introducido.
End sub
End Module
ReadLine()
El método ReadLine() lee una línea del flujo vinculado con la entrada estándar; concretamente
lee la siguiente línea disponible. Devuelve una referencia a un objeto String que envuelve la
línea leída, o bien una referencia nula (Nothing) cuando no hay datos disponibles.
10. 10
Una línea está definida como una secuencia de caracteres seguidos por un retorno de carro
(CR:&000D), un avance de línea (LF:&000A, o bien por ambos). La cadena de caracteres
devuelta no contiene el carácter o caracteres de terminación. Ejemplo:
Module Ejemplo
Sub Main( )
Dim cadena As String
Console.Write(“Introduzca un texto: ”)
cadena = Console.ReadLine()
Console.Write(cadena) ‘imprime la cadena introducida.
End sub
End Module
14.- Salida de datos con los métodos Write y WriteLine de la propiedad Out de la clase
Console.
Los métodos Write y WriteLine son esencialmente los mismos; ambos escriben su argumento
en el flujo de salida. La única diferencia entre ellos es que WriteLine añade la cadena
NewLine (Avance al principio de la línea siguiente), y Write no. Ejemplo:
Write()
System.Console.Write(“Cadena de texto a imprimir”)
WriteLine()
System.Console.WriteLine(“Cadena de texto a imprimir con una vuelta de carro”)
15.- Sintaxis y explicación de las sentencias de control If-Then-Else, Select-Case, For-
Next, While-End While, Do-Loop While, Do-Loop Until.
If-Then-Else
La sentencia If permite a un programa tomar una decisión para ejecutar una acción u otra,
basándose en el resultado verdadero o falso de una expresión. La sintaxis para utilizar esta
sentencia es la siguiente (Considere [] como opcional):
If [(]condición[)] Then
sentencia 1
[Else
sentencia 2]
End If
Select-Case
Esta sentencia permite ejecutar una de varias acciones, en función del valor de una expresión,
Es una alternativa a If-Then-Else cuando lo que se necesita es comparar la misma expresión
con diferentes valores. Su sintaxis es:
11. 11
Select [Case] [(]expresión-test[)]
Case expresión 1
[sentencia 1]
Case expresión 2
[sentencia 2]
Case expresión 3
[sentencia 3]
.
.
.
[Case Else]
[sentencia n]
End Select
For-Next
La sentencia For permite ejecutar una sentencia simple o compuesta repetidamente un
número de veces conocido. Su sintaxis es la siguiente:
For variable = expresión 1 To expresión 2 [Step expresión 3]
sentencias
Next
Variable representa la variable de control que será iniciada con el valor de la expresión
1.
expresión 2 representar el valor final que tomará la variable, y expresión 3 representa el
valor positivo o negativo en el que se incrementa la variable de control cada vez que se
ejecuta el bloque de sentencias, lo cual ocurrirá mientras variable o alcance el valor de
la expresión 2. El valor de expresión 3 es 1 por omisión.
While-End While
La sentencia While ejecuta una o más sentencias cero o más veces, dependiendo del valor
de una expresión booleana. Si sintaxis es:
While[(]condición[)]
sentencias
End While
Donde condición es cualquier expresión booleana y sentencias representa una o más
sentencias.
12. 12
Do-Loop While
La sentencia Do-Loop While ejecuta una sentencia, simple o compuesta, una o más veces,
dependiendo del valor de una expresión. Su sintaxis es la siguiente:
Do
sentencias
Loop While[(] condición [)]
Donde condición es cualquier expresión booleana y sentencias representa una sentencia
simple o compuesta.
Do-Loop Until
Repite un conjunto de sentencias hasta que una condición dada sea cierta, es decir a
diferencia de While, el bucle se repite mientras la condición sea falsa y se sale del mismo
cuando es verdadera. Su sintaxis es:
Do Until [(]condición[)]
sentencias
loop
Donde condición es una expresión booleana y sentencias es un conjunto de instrucciones a
ejecutarse dentro del bucle.
Bibliografía:
El lenguaje de programación Visual Basic.NET
Ceballos Sierra Francisco Javier.
Resumen de tipos de Datos – MSDN
msdn.microsoft.com/es-MX/