Conceptos
Fundamentales de Programación en Visual Basic
Definición
de programa:
Cuando hablamos específicamente de programa en
informática, estamos haciendo referencia a un software. Se trata de
aplicaciones y recursos que permiten desarrollar diferentes tareas en una
computadora (ordenador), un teléfono u otros equipos tecnológicos.
Para desarrollar un programa informático, se
necesita apelar a los lenguajes de programación que posibilitan el control de
las máquinas. A través de diversas reglas semánticas y sintácticas, estos
lenguajes especifican los datos que transmite el software y que tendrá que
operar la computadora.
Existen
diferentes tipos de programas en informática. El software de base, por ejemplo,
es aquel que le brinda a la persona el control sobre los elementos físicos de
la computadora, que se conocen como hardware. Dentro del software de base puede
nombrarse a los sistemas operativos, como Windows o Linux.
Los programas ofimáticos también son muy
importantes. Entre estas herramientas aparecen los procesadores de texto como
Microsoft Word y Apache OpenOffice Writer; las hojas de cálculo como Calc,
Lotus 1-2-3 y Microsoft Excel; y los programas que permiten gestionar el correo
electrónico como Lotus Notes, Microsoft Outlook y Eudora.
Tipos
de programas
Un programa, por lo general, estará compuesto
por una secuencia de acciones, algunas de las cuales serán alternativas o
repetitivas. En determinados programas sencillos, no se da esta mezcla de
acciones, en cuyo caso se pueden clasificar como sigue:
- Programas
lineales: consisten en una secuencia de acciones primitivas (su ejecución es
lineal en el orden en que han sido escritas).
- Programas
alternativos: consisten en el anidamiento de acciones alternativas (las tablas
de decisión se realizan mediante programas alternativos).
- Programas
cíclicos: son aquellos en los que un conjunto de acciones se repiten un número
determinado o indeterminado de veces (un programa de este tipo se denomina
bucle).
Otra clasificación relativa a la aplicación
desarrollada por el programa es:
- Programas
de gestión: se caracterizan por el manejo de gran cantidad de datos con pocos
cálculos (resuelven problemas de gestión).
- Programas
técnicos-científicos: al contrario que los anteriores, realizan gran cantidad
de cálculos con pocos datos (revuelven problemas matemáticos, físicos, etc.).
- Programas
de diseño (CAD): se caracterizan por la utilización de técnicas gráficas para
resolver problemas de diseño.
- Programas
de simulación: intentan reflejar una situación real, para facilitar su estudio.
- Programas
educativos (EAO): utilizan las ventajas del ordenador para la docencia.
- Programas
de inteligencia artificial: se utilizan para simular el razonamiento humano.
Como se puede ver en la siguiente imagen, hay muchos tipos de programas:
Partes
principales de un programa
Dentro del bloque de instrucciones de un
programa se pueden diferenciar tres partes fundamentales. En algunos casos,
estas tres partes están perfectamente delimitadas, pero en la mayoría sus
instrucciones quedan entremezcladas a lo largo del programa, si bien mantienen
una cierta localización geométrica impuesta por la propia naturaleza de las
mismas.
Entrada
de datos: la constituyen todas aquellas instrucciones
que toman datos de un dispositivo externo, almacenándolos en la memoria central
para que puedan ser procesados.
Proceso
o algoritmo: está formado por las instrucciones que
modifican los objetos a partir de su estado inicial hasta el estado final,
dejando éstos disponibles en la memoria central.
Salida
de resultados: conjunto de instrucciones que toman los
datos finales de la memoria central y los envían a los dispositivos externos.
Instrucciones de control
Son instrucciones que no realizan trabajo
efectivo alguno salvo la evaluación de expresiones, generalmente lógicas, con
el objetivo de controlar la ejecución de otras instrucciones o alterar el orden
de ejecución normal de las instrucciones de un programa.
Instrucciones
ejecutables
Instrucciones ejecutables, que inician
acciones. Estas instrucciones pueden llamar a un método o función, y pueden
repetirse en bloques de código o crear una bifurcación en otro bloque de
código. Puedes recorrer varias
instrucciones con un bucle o evaluar una expresión. Las instrucciones
ejecutables incluyen instrucciones de asignación, que asignan un valor o
expresión a una variable o constante.
Instrucciones
de declaración
Las instrucciones de declaración son
aquellas utilizadas para definir
procedimientos, variables, propiedades, matrices y constantes, y asignarles
nombre. Cuando se declara un elemento de programación, también se puede definir
su tipo de datos, nivel de acceso y ámbito. Sirven para declarar librerías,
variables, constantes, arreglos, punteros, estructuras
Constantes
Son elementos, números, fechas, cadenas de
caracteres y expresiones que contienen operadores lógicos o aritméticos, ellas
mantienen un valor fijo durante el desarrollo y la ejecución del programa.
Características:
Comenzar con una letra.
Poseer un mismo nombre único.
No tener más de 255 caracteres de longitud.
No tener espacios
Variables
Una variable es una partida de datos cuyo
valor puede cambiar en el programa (durante el desarrollo y ejecución).
Los diferentes tipos de variables dependen del
lenguaje de programación, por lo general estas suelen ser enteras, reales,
carácter, lógicas y de cadena.
Tanto las variables como las constantes tienen
un nombre o identificador generalmente conformado por caracteres alfanuméricos
(ciertos lenguajes de programación admiten el carácter de subrayado ‘_’ como
válido en los identificadores), y el primero de éstos debe ser una letra.
Estas son utilizadas para almacenar valores
que pueden cambiar durante la ejecución de un programa, existen 3 tipos de
variables:
*Variables de objeto
*Variables de entorno
*Variables declaradas
Características
y condiciones:
*Iniciar con una letra.
*No tener espacios.
*Su longitud no debe superar los 245
caracteres.
*Poseer un nombre único dentro de su alcance.
Expresión
aritmética
En informática y lenguajes de programación, se
entiende por expresión aritmética a aquella donde los operadores que
intervienen en ella son numéricos, el resultado es un número y los operadores
son aritméticos. Los operadores aritméticos más comúnmente utilizados son: + ,
- , * , / y %.
El signo más (+) se emplea para adicionar dos
valores, el signo menos (-) para restar un valor de otro, el asterisco (*) para
multiplicar dos valores, la división (/) para dividir un valor por otro, y el
signo % para obtener el resto de una división entera. Estos símbolos se conocen
como operadores binarios, pues operan sobre dos valores o variables.
Operadores
aritméticos:
Los operadores aritméticos se utilizan para
realizar muchas de las operaciones aritméticas habituales que implican el
cálculo de valores numéricos representados por literales, variables, otras
expresiones, llamadas a funciones y propiedades, y constantes. También se
clasifican como operadores aritméticos los operadores de desplazamiento de
bits, que actúan al nivel de bits individuales de los operandos y cambian sus
modelos de bits a la izquierda o la derecha.
Las operaciones aritméticas son las que operan
sobre valores numéricos y entregan otro valor numérico como resultado. Los
valores numéricos son los que tienen tipo entero, real o complejo.
Las siguientes son algunas operaciones
aritméticas básicas, junto con el operador que las representa en Python:
• La
suma +;
• La
resta -;
• La
multiplicación *;
• La
división /;
• El
módulo % (resto de la división);
• La
potencia ** («elevado a»).
En general, si los operandos son de tipo
entero, el resultado también será de tipo entero. Pero basta que uno de los
operandos sea real para que el resultado también lo sea. Esta regla suele
causar confusión en el caso de la división. Al dividir números enteros, el
resultado siempre es entero, y es igual al resultado real truncado, es decir,
sin su parte decimal.
Si uno de los operandos es complejo, el
resultado también será complejo.
El operador de módulo entrega el resto de la
división entre sus operandos.
Un uso bastante común del operador de módulo
es usarlo para determinar si un número es divisible por otro.
Una relación entre / y % que siempre se cumple
para los números enteros.
Hay dos operadores aritméticos unarios:
• El
positivo +, y
• El
negativo -.
El positivo entrega el mismo valor que su
operando, y el negativo también pero con el signo cambiado
Operaciones
de relación
Las operaciones de relación sirven para
comparar valores. Sus operandos son cualquier cosa que pueda ser comparada, y
sus resultados siempre son valores lógicos.
Algunas operaciones relacionales son:
• El
igual a == (no confundir con el = de las asignaciones);
• El
distinto a !=;
• El
mayor que >;
• El
mayor o igual que >=;
• El
menor que <;
• El
menor o igual que <=;
Operaciones
lógicas
Los operadores lógicos son los que tienen
operandos y resultado de tipo lógico. Los operadores lógicos comparan
expresiones Boolean y devuelven un resultado Boolean. Los operadores And, Or, AndAlso, OrElse y Xor son binarios porque toman dos
operandos, mientras que el operador Not
es unario porque toma un solo operando. Algunos de estos operadores también
pueden realizar operaciones lógicas bit a bit en valores enteros.
Operadores lógicos binarios
El And (Operador, Visual Basic) realiza la conjunción lógica
de dos expresiones Boolean. Si ambas expresiones se evalúan
como True, And devuelve True. Si
al menos una de las expresiones se evalúa como False, And devuelve False.
El Or (Operador, Visual Basic) realiza la disyunción o inclusión lógicas de dos
expresiones Boolean. Si una de las expresiones o ambas se
evalúan como True, Or devuelve True. Si
ninguna de las expresiones se evalúa como True, Or devuelve False.
El Xor (Operador, Visual Basic) realiza la exclusión lógica
de dos expresiones Boolean. Si exactamente una expresión, pero
no ambas, se evalúa como True, Xor devuelve True. Si
ambas expresiones se evalúan como True o como False, Xor devuelve False
Operador lógivo unario
El Not (Operador, Visual Basic) realiza la negación lógica
en una expresión Boolean. Produce el contrario lógico de su
operando. Si la expresión se evalúa como True, Not devuelveFalse;
si la expresión se evalúa como False, Not devuelve True. Debido
a que Object es la clase base de todos los tipos de referencia en .NET
Framework, este comportamiento es heredado por los tipos de referencia que no
reemplazan el método ToString.
Funciones internas
Son funciones
matemáticas diferentes de las operaciones básicas pero que se incorporan al
lenguaje y que se consideran estándar. Dependen del lenguaje. Normalmente se
encuentran en la librería de matemáticas del lenguaje de programación.
Ingreso
de datos y generación de reporte
Ingreso
de datos: Método InputBox (…)
En VBA los datos se ingresan usando el método
InputBox (…) el cual abre una ventana de diálogo. La sintaxis de este método
es:expresión.InputBox(Prompt[,Title][,Default][,XPos][,YPox] [,HelpFile]
[,Context])
donde
expression:Es el nombre de un determinado objeto
Application.
Si no se usa, asume
Aplication.
Prompt:Cadena de caracteres, requerido. Es
usado como información al usuario sobre lo que se le pide que ingrese.
Title: Cadena de caracteres de tipo
Variant, opcional. Es usado para colocarlo en la barra de título de la ventana de
diálogo.
Default: Es opcional. Es el valor que se
asigna a la variable receptora, si no se digita ningún dato.
XPos: Es la posición horizontal (en
pixels) a partir de la cual se visualizará la ventana
YPos: Es la posición vertical (en
pixels) a partir de la cual se visualizará la ventana.
HelpFile: Es el nombre del archivo de ayuda.
Context: Es la posición o
ubicación dentro del tema de la ayuda, relativo a la instrucción.
Emisión
de resultados: Función MsgBox (..)
Para poder emitir o imprimir en pantalla el
contenido de una variable o el resultado de un cálculo, se usa la función
MsgBox (…), el cual abre una ventana en cual se visualizará todos los
resultados emitidos. La sintaxis de este método es el siguiente:
MsgBox (Prompt [,Botones] [,Title] [,HelpFile] [Context])
donde
Prompt: Cadena de caracteres de hasta 1024 bytes. Si ocupa más de una línea se puede
separar
usando el carácter de retorno de carro CHR(13), o un carácter de avance
de línea CHR(10) o una combinación de los dos: CHR(13)+CHR(10).
Botones: Permite mostrar u determinado tipo d botón a través de un icono.
La siguiente
tabla muestra la lista de las variables internas usadas para mostrar el icono.
El siguiente procedimiento permite ingresar la
cantidad y el precio de compra de un producto y luego calcular el monto neto,
después de aplicar el impuesto del IGV.
Subrutina
Una subrutina o subprograma (también llamada
procedimiento, función o rutina), como idea general, se presenta como un
subalgoritmo que forma parte del algoritmo principal, el cual permite resolver
una tarea específica. Algunos lenguajes de programación, como Visual Basic .NET
o Fortran, utilizan el nombre función para referirse a subrutinas que devuelven
un valor.
Se le llama subrutina a un segmento de código
separado del bloque principal y que puede ser invocado en cualquier momento
desde este o desde otra subrutina.
Una subrutina al ser llamada dentro de un
programa hace que el código principal se detenga y se dirija a ejecutar el
código de la subrutina, en cambio cuando se llama a una macro, el compilador
toma el código de la macro y lo implanta donde fue llamado, aumentando así el
código fuente y por consiguiente el objeto.
Elementos de la declaración de una subrutina
Las declaraciones de subrutinas generalmente
son especificadas por:
• Un
nombre único en el ámbito: nombre de la función con el que se identifica y se distingue
de otras. No podrá haber otra función ni procedimiento con ese nombre (salvo
sobrecarga o polimorfismo en programación orientada a objetos).
• Un
tipo de dato de retorno: tipo de dato del valor que la subrutina devolverá al
terminar su ejecución.
• Una
lista de parámetros: especificación del conjunto de argumentos (pueden ser
cero, uno o más) que la función debe recibir para realizar su tarea.
• El
código u órdenes de procesamiento: conjunto de órdenes y sentencias que debe
ejecutar la subrutina.
Un ejemplo de VisualBasic.net