Fundamentos de Programación COMENTARIOS Microsoft Visual Basic interpreta que todo lo que está a la derecha del carácter ( ) en una línea cualquiera de programa es un comentario y no ejecuta acción alguna. Por ejemplo: Suma de los números pares CuentaPares=0 Se inicializar contador CuentaPares a 0 Los comentarios son de mucha utilidad para poder entender el código del programa utilizado. En programas con pocas líneas de código puede no parecer importante, pero cuando se trata de proyectos realmente complejos, o desarrollados por varios programadores su importancia se hace evidente. En el caso de que el código no esté comentado, el trabajo de actualización y revisión puede ser una tarea difícil. VARIABLES Y CONSTANTES Las variables se utilizan para almacenar valores temporalmente durante la ejecución del programa. Por ejemplo: TotalParcial = 34 Asigna el valor 34 a la variable TotalParcial. Observe que el signo igual del ejemplo es un operador de asignación, no es un operador de igualdad. El valor de una variable puede modificarse a lo largo de la ejecución del programa. Las variables tienen un nombre, un tipo de dato y un ámbito. El nombre se utiliza para identificar a la variable en el programa, debe ser corto y fácil de recordar. El nombre de una variable debe comenzar con una letra, no puede incluir un punto, no debe exceder de los 255 caracteres de longitud y debe ser única en el mismo alcance, que es el intervalo desde el que se puede hacer referencia a la variable: un procedimiento, un formulario, etc. Los caracteres de una variable pueden ser letras, dígitos, el carácter subrayado (_) y los caracteres de declaración del tipo de la variable (%,&,#,@ y $). El nombre de una variable no puede ser una palabra reservada del lenguaje (For, If, Loop, Next, Val, Hide, Caption, And, etc.) Una constante es un valor que no cambia durante la ejecución del programa. El tratamiento y tipos de datos es igual al de las variables. Para declarar un dato como constante se utiliza la palabra Const en la declaración de la variable. Si durante la ejecución se intenta cambiar su valor se producirá un error. Ejemplos. Las constantes son privadas por defecto Const constante1=100 Visual Basic 12 L.P.I.
Declaración de una constante pública Public Const mensaje= Falta Información Declaración de un entero constante Private Const ancho as Integer = 50 DECLARACIÓN DE VARIABLES Antes de utilizar una variable, hay que declarar su tipo. Para ello se utiliza la sentencia Dim. Esta sentencia reserva espacio de memoria para la variable y permite a Visual Basic saber qué tipos de datos deberá guardar dicha variable. Por ejemplo, la siguiente sentencia crea espacio de memoria para una variable llamada Altura Dim Altura As Integer Después del nombre de la variable especifique el tipo de la misma. Por ejemplo, la variable Altura ha sido declarada del tipo Integer (entero). TIPOS DE DATOS Visual Basic dispone de varios tipos de datos, aplicables tanto para constantes como para variables. La siguiente tabla muestra los tipos de datos disponibles en Visual Basic. Tipo Descripción Rango Boolean Binario True o False Byte Entero corto 0 a 255 Integer Entero (2 bytes) -32768 a 32767 Long Entero largo (4 bytes) -2147483648 a 2147483647 Single Real simple (precisión 4 bytes) -3.40E+38 a 3.40E+38 a Double Real doble (precisión 8 bytes) -1.79D+308 a 1.79D+308 Currency Número con punto (decimal fijo -9.22E+14 a 9.22E+14 (8 bytes) String Cadena de caracteres (4 bytes + 0 a 65500 caracteres 1 byte/car. Hasta 64K) Date Fecha 1 enero de 100 a 31 de diciembre de 9999. Indica también la hora, desde 0:00:00 a 23:59:59 Variant Fecha/hora; números (ninguno) enteros, reales o caracteres (16 bytes + 1 byte/car, en cadenas de caracteres). F/h: como Date: números: mismo rango que el tipo de valor almacenado. Si una variable no es declarada, se asume que es de tipo Variant. DECLARACIÓN EXPLÍCITA En Visual Basic no es necesario declarar una variable antes de utilizarla. Sin embargo, puede ocurrir que durante la programación se escriba mal el nombre de una variable y ello genere un error. Para evitar este tipo de errores, se utiliza la sentencia Option Explicit en la Visual Basic 13 L.P.I.
sección de declaraciones del formulario y del módulo, Option Explicit genera un mensaje de error si encuentra una variable no declarada explícitamente. Option Explicit opera sólo en el formulario o en el módulo donde se haya puesto. Para tener esta opción activa para todo el código de una aplicación, haga clic en el comando Opciones del menú Herramientas. En el cuadro de diálogo Opciones, habilite la casilla Requerir declaración de variables. ÁMBITO DE LAS VARIABLES Se entiende por ámbito de una variable al espacio de la aplicación donde la variable es reconocida y por lo tanto se puede utilizar. VARIABLES LOCALES Una variable local es reconocida solamente en el procedimiento en el que ha sido declarada. Fuera de ese procedimiento, la variable no es conocida. Utilice la sentencia Dim o Static para declarar una variable local a un procedimiento. En el procedimiento Command1_Click(), las variables A, B, Suma y Resta son locales. Private Sub Command1_Click() Dim A, B, Suma, Resta As Integer A=Val(Text1) B=Val(Text2) Suma=A+B Resta=A-B Text3=Suma Text4=Resta End Sub VARIABLES ESTÁTICAS Una variable local se reinicializa cada vez que se entra en el procedimiento o función en el que se crea y al terminar se destruye. En otras palabras, una variable local no conserva su valor entre una llamada al procedimiento y la siguiente. Para hacer que una variable conserve su valor entre una llamada a otra, hay que declararla estática utilizando la palabra reservada Static. Visual Basic reinicializa una variable estática solamente la primera vez que se llama al procedimiento. Por ejemplo: Static Intento As Integer Declara la variable intento de tipo entero. Esta variable conservará su valor entre llamadas en el procedimiento y se destruirá sólo cuando el programa termine. Visual Basic 14 L.P.I.
VARIABLES A NIVEL DE FORMULARIO Una variable declarada a nivel de formulario puede ser compartida por todos los procedimientos de ese formulario. Para declarar una variable a nivel del formulario, haga doble clic sobre uno de los objetos contenidos en el formulario y, en la ventana de código, seleccione (General) del cuadro de lista Objetos y ( Declaraciones ) del cuadro de lista Procedimientos. Vea Fig. 2.1 Fig. 2.1 Cuadro de Lista Objetos con la Opción General El punto de inserción aparece en la sección de declaraciones del formulario. Es en esta sección donde la variable debe ser declarada. Punto de Inserción Fig. 2.2 Punto de Inserción de Variables a Nivel de Formulario VARIABLES A NIVEL DE MÓDULO Para compartir una variable entre todos los formularios y procedimientos contenidos en un proyecto, necesitará declararla en un módulo de dicho proyecto. Para crear un nuevo módulo, haga clic, en el comando Agregar módulo del menú Proyecto. Seleccione el botón Abrir y Visual Basic añadirá un nuevo módulo estándar denominado Module1 en su proyecto: Por defecto, una variable que se declara a nivel de módulo está disponible para todos los procedimientos del módulo, pero no para el código de otros módulos. Una variable que se declara a nivel de módulo es por defecto estática. Visual Basic 15 L.P.I.
Fig. 2.3 Declaración de una Variable a Nivel de Módulo OPERADORES Un operador es un símbolo o palabra que ejecuta una operación matemática o maneja la información. La siguiente tabla muestra el conjunto de operadores que soporta Visual Basic. Tipo Operación Operador Exponenciación ^ Cambio de signo - Aritmético Multiplicación y división *, / División entera \ Resto de una división entera Mod Suma y resta +, - Concatenación Concatenar o enlazar & Relacional Igual, distinto, menor, mayor =,<>,<,>,<=,>= Negación Not And And Lógico Or inclusiva Or. Or exclusiva Xor Equivalencia (opuesto a Xor) Eqv Implicación Imp ESTRUCTURAS DE CONTROL Las estructuras de control permiten tomar decisiones y realizar un proceso repetidas veces. Visual Basic proporciona dos tipos de estructuras de control que permiten controlar el flujo de ejecución del programa. ESTRUCTURAS DE DECISIÓN Una aplicación debe ser capaz de comprobar condiciones y, dependiendo de los resultados, realizar diferentes acciones. Entre las estructuras de decisión que proporciona Visual Basic tenemos: If Then La estructura If Then comprueba una condición específica y, si es verdadera, ejecuta una o más sentencias. Puede utilizar la sintaxis de una línea o de varias líneas: If condición Then Sentencias Visual Basic 16 L.P.I.
If condición Then Sentencias End If La condición generalmente es una expresión booleana, pero puede ser cualquier expresión que de como resultado un valor numérico. Visual Basic interpreta un valor numérico cero como False y cualquier valor numérico distinto de cero como True. Ejemplos: If Minutos >60 Then Minutos = Minutos - 60 Observe que la sintaxis de una línea no utiliza la instrucción End If. Si desea ejecutar más de una sentencia, deberá utilizar la sintaxis de varias líneas If Then End If If Minutos >60 Then Minutos = Minutos 60 MsgBox( Ha empezado un Nuevo minuto ) End If If Then Else Esta estructura evalúa la condición y, si es True (verdadera), ejecuta el primer bloque de sentencias y luego salta a las sentencias que hay después de End If. Si la condición es False (falsa), ejecuta el segundo bloque de sentencias, es decir, las que hay a continuación de la palabra clave Else If Condición Then [Bloque de sentencias 1] Else [Bloque de sentencias 2] End If Ejemplo: If Val(Text1)Mod 2 == 0 Then MsgBox( Es un número par ) Else MsgBox( Es un número impar ) End If Select Case Select Case ofrece posibilidades similares a la estructura If Then Else, pero hace que el código sea más legible cuando hay varias opciones. La estructura Select Case comprueba una única expresión, que se evalúa una sola vez al principio de la estructura. El resultado de esta comprobación se compara con los valores de cada case y, si coincide con uno de ellos, se ejecuta el bloque de sentencias asociado a ese Case. Select Case expresión_prueba [Case lista de expresiones1] [bloque de sentencias 1] [Case lista de expresiones2] [bloque de sentencias 2] Visual Basic 17 L.P.I.
... [Case Else [bloque de sentencias n]] End Select Cada lista de expresiones es una lista de uno o más valores. Si hay más de un valor en una lista, se separan los valores con comas. Si más de un Case coincide con la expresión de prueba, solo se ejecutará el bloque de sentencias asociado con la primera coincidencia. Visual Basic ejecutará las sentencias de la cláusula opcional Case Else sin ningún valor de la lista de expresiones coincide con la expresión de prueba. Ejemplo: Select Case Index Case 0 Boton(0).Visible=True Case 1 Boton(1).Visible=True Case 2 Boton(2).Visible=True Case 3 Boton(3).Visible=True Case Else Exit Sub End Select ESTRUCTURAS DE BUCLE O REPETITIVAS Las estructuras de bucle permiten repetir la ejecución de una o más líneas de código mientras una condición sea verdadera o hasta que una condición sea verdadera. Visual Basic tiene las siguientes estructuras de bucle. Do Loop Utilice el bucle Do Loop para ejecutar un bloque de código un número indefinido de veces. Hay algunas variantes en la sentencia Do Loop pero cada uno evalúa la condición para determinar si continúa la ejecución de un bloque de sentencias. Do While Loop Utilice el bucle Do While Loop para repetir la ejecución de un bloque de sentencias mientras una condición sea True (verdadera), o dicho de otra forma hasta que la condición sea False (falsa). Sintaxis: Do While condición Sentencias Loop Visual Basic 18 L.P.I.
Cuando Visual Basic ejecuta este bucle Do, primero evalúa la condición. Si condición es False, se salta todas las sentencias; si es True, ejecuta las sentencias, vuelve a Do While y evalúa la condición otra vez. Por tanto, el bucle se puede ejecutar cualquier número de veces, siempre y cuando la condición sea verdadera. Nunca se ejecutarán las sentencias si la condición es False inicialmente. El siguiente procedimiento imprimirá el cuadrado de los números enteros menores o iguales a 20 cuando el usuario haga clic sobre el botón Command1 Private Sub Command1_Click() Dim C, cuadrado As Integer C=1 Do While C<=20 Cuadrado=C*C C=C+1 Print Cuadrado Loop End Sub Do While Loop La variante Do Loop While ejecuta las sentencias primero y prueba la condición después de cada ejecución. Esta variante garantiza al menos una ejecución de las sentencias. Sintaxis: Do Sentencias Loop While condición Hay dos variantes análogas a las dos anteriores, excepto en que repiten el bucle siempre y cuando la condición sea False en vez de True. Ejecuta el bucle cero o más veces Do Until condición Sentencias Loop Ejecuta el bucle al menos una vez Do Sentencias Loop Until Este procedimiento muestra el mismo resultado que el anterior. Visual Basic Private Sub Command1_Click() Dim C, cuadrado 19 As Integer L.P.I. C=1 Do Until C>20 Cuadrado=C*C
For Next Los bucles Do se utilizan cuando no se sabe cuántas veces se necesitará ejecutar las sentencias del bucle. Sin embargo, cuando se sabe cuántas veces se van a ejecutar las sentencias, es mejor utilizar el bucle For Next Sintaxis: For contador = inicio To fin [Step incremento] Next [contador] Los argumentos contador, iniciar, finalizar e incremento son todos numéricos. La variable contador incrementa o reduce su valor en cada repetición del bucle. El argumento incremento puede ser positivo o negativo. Si incremento es positivo inicio debe ser menor o igual que fin para que se ejecute el cuerpo del bucle. Si no se establece Step, el valor predeterminado de incremento es 1. El procedimiento siguiente mostrará la suma de los números 1, 2, 3,, 50 cuando haga clic en el botón Command1. Private Sub Command1_Click() Dim C, Sumador As Integer Sumador = 0 For C=1 To 50 Sumador=Sumador+C Next Print Sumador End Sub El siguiente procedimiento mostrará la suma de los números pares contenidos entre 2 y 50, incluido ambos. Visual Basic 20 L.P.I.
Private Sub Command1_Click() Dim C, Sumador As Integer Sumador = 0 For C=2 To 50 Step 2 Sumador=Sumador+C Next Print Sumador End Sub Visual Basic 21 L.P.I.