SlideShare una empresa de Scribd logo
1 de 40
Descargar para leer sin conexión
pág. 1
MANUAL
VISUAL BASIC
PROGRAMACIÓN
pág. 2
Introducción.
Intentar dar una definición de lo que es programar en la actualidad es muy
atrevido, por lo que el que desee una de esas definiciones solo tiene que acudir
a Internet y encontrara seguro un sin fin de ellas.
Pero para escribir un programa, una aplicación, un paquete informático, hay
que combinar varios elementos.
Técnica.
Diseño.
Imaginación.
Técnica, que se puede aprender, y que es lo que se quiere enseñar en este
curso de iniciación.
Diseño, estilo, gusto, que es más difícil enseñarlo, pues es una cuestión
personal, y se trata de ofrecer nuestro producto en un formato agradable para
quien lo va a utilizar.
Imaginación, conocida la técnica de programación, está capacidad se puede
adquirir con la experiencia, es más difícil, porque la capacidad de poder crear,
imaginar la solución, o forma en la cual se desea plantear o mostrar lo que se
quiere obtener, es una capacidad individual que cada uno tiene más o menos
desarrollada.
Estos elementos nos permitirán combinar otros tres elementos, que son
El hardware, el ordenador.
Los procedimientos, funciones, clases y objetos.
Las estructuras de datos.
pág. 3
Hardware, conocer los distintos elementos con los que se puede contar para
poder llegar a obtener una solución óptima a nuestro problema.
En programación hay una gran variedad de tipos de programas, y un amplio
espectro de periféricos en el mercado.
Su conocimiento nos puede facilitar la solución de un problema.
Procedimientos, funciones, son las herramientas de las que nos valemos en la
programación para la resolución de un programa, para resolver un problema.
Estructuras de datos, los dos elementos anteriores nos permiten sacar el
rendimiento de un programa, pero un programa utiliza datos, pocos o muchos,
pero siempre información, por lo tanto, hay que manejar de forma adecuada
dicha información.
pág. 4
Elementos de programación.
Podríamos denominar los siguientes apartados como elementos de la
programación.
– Tener claro que queremos hacer.
– Dominar los elementos a nuestro alcance.
– Imaginar espacialmente la solución que deseamos obtener.
– Aplicar dicha solución.
Tener claro que queremos hacer, en condiciones normales, la creación de un
programa parte de una fase de diseño que da como resultado final como tiene
que ser un programa y lo que hay que hacer es transcribir a código dicho
resultado.
Por lo tanto, antes de iniciar la escritura de un programa es imprescindible
saber de forma clara y sin paliativos que es lo que queremos hacer, si una silla
o un barco.
Normalmente una buena aplicación suele conllevar un ahorro en el tiempo
final, porque no hay que retroceder ni tampoco corregir.
Dominar los elementos a nuestro alcance, implica tener un conocimiento y
dominio de los elementos mencionados anteriormente.
imaginar espacialmente la solución que deseamos obtener, la progresión en la
técnica de la programación, con el tiempo nos llevará a imaginar, por decirlo
de alguna forma, la solución o la forma de enfocar como deseamos hacer el
programa que nos encargan, pero eso a otro nivel, os irá pasando a lo largo
del curso, ya que con los ejercicios que iremos planteando, a medida que los
vayamos leyendo de forma inconsciente os ira apareciendo la forma de
enfocarlos.
Aplicar dicha solución, y solo quedará con todos los datos aplicarlos a la
solución que en principio creemos más adecuada, y que luego modificaremos
muchas veces.
Hay un principio, “si funciona no lo toques”, pero claro ..., así que cada cual
decida cuando parar.
pág. 5
Lo principal de un programador
Tener las ideas claras, saber de forma exacta que es lo que tienes y a donde
has de llegar.
tener claro en qué orden quieres hacerlo.
Lo más importante en programación son los conceptos. Si se tienen claros, a
continuación, podrás buscar las herramientas que necesitas en el lenguaje que
usas y realizarás correctamente tu labor.
Memorizar cosas no es importante, es más importante saber dónde está un
manual y buscar ahí la información, que necesitemos.
El cambiar a otro lenguaje de programación, si los conceptos son sólidos, no
supondrá ningún trauma, pues cambiarán las instrucciones que usas, pero no
el orden en que se tienen que realizar los pasos.
Dominar la herramienta de programación de que dispones.
Realizar las pruebas adecuadas de funcionamiento correcto del programa.
La fase de depuración y pruebas de un programa son importantísimas, porque
eso nos lleva a un producto final fiable y de probada eficacia, lo cual da
fiabilidad al producto, y al programador que lo crea.
Un programa que no da confianza no se utiliza.
pág. 6
Características
Se podrían añadir o quitar, pero estas son importantes.
1 legibilidad.
Debe ser posible leerlo y entenderlo con facilidad, el uso de nombre de
variables adecuados y comentarios, facilita este apartado.
2 portabilidad.
Crear estructuras que permitan su codificación en distintos lenguajes.
3 modificabilidad.
Ha de facilitar su mantenimiento, es decir, debe permitir que se modifique o
actualice en función de las necesidades del problema a resolver. Para ello es
conveniente comentar adecuadamente el código.
Un programa debe quedar escrito y documentado de tal forma que otra
persona que venga detrás pueda modificarlo o ampliarlo sin excesiva dificultad.
4 eficiencia.
Se debe aprovechar al máximo los recursos del ordenador, minimizando el
empleo de memoria y el tiempo de ejecución. Además, como es obvio, debe
resolver el problema para el que ha sido planteado.
5 modularidad.
Se debe procurar no tener que resolver el mismo problema varias veces. A
igual problema, igual solución, lo que conlleva la elaboración de módulos para
resolver problemas concretos.
6 estructuración.
Lo programas deben tener única y exclusivamente estructuras lineales,
alternativas y cíclicas, exclusivamente, o dicho de otra forma, no es
conveniente utilizar instrucciones de salto, aunque estén disponibles en el
lenguaje de programación.
pág. 7
Problemas en los programas
Cuando se tienen problemas con un programa, lo mejor es ir haciendo pruebas
por zonas, visualizando contenidos mediante las herramientas, opciones de
depuración del entorno que utilizamos, de las variables que nos interesan y
comprobando que se ejecutan las zonas del programa que a nosotros nos
interesan que se ejecute.
Cuando se diseña una rutina, función, procedimiento o método nuevo, esta
debe probarse fuera del programa, para asegurarse de su correcto diseño y
que devuelve correctamente los resultados, asignándole en la prueba todos
los valores posibles para verificar su correcto funcionamiento.
En un programa pequeño eso es muy fácil de probar y de controlar su
ejecución correcta.
Copiar un programa no es malo, no suele hacerse, suelen copiarse ideas, o
mejorar cosas que se observan en otros paquetes, pero lo importante si se
hace, es saber cómo funciona y entenderlo, si no, no nos aportará nada.
pág. 8
Estructura y representación de un programa
Escribir un programa.
Toda actividad necesita de un argot, jerga y convenios para poderse entender
entre las personas que se dedican a una misma labor. No es que se pretenda
aislarse del resto de las personas, sino que es necesario ese convenio y un
lenguaje específico que a cada cosa le asigne su nombre característico y
propio, y de esa forma facilite la comunicación entre las personas.
De esta forma surge en cada profesión una serie de símbolos y palabras para
facilitar el trabajo.
Existe varias formas de representar un programa de forma previa a su
codificación y a partir de los datos que nos entregan como consecuencia de la
fase previa de análisis.
Seudocódigo
Ordinogramas.
Lo que sigue es un pequeño ejemplo de un programa muy sencillo, en formato
de seudocódigo.
Inicio
Escribir “Cálculo del área de un triángulo”
Leer “Introduzca la base del triángulo”, Base
Leer “Introduzca la altura del triángulo”, Altura
Area = (Base * Altura) / 2
Escribir “El área del triángulo es “, Area Fin
Esta forma de escribir, o de describir dicho programa se denomina
pseudocódigo.
Como se puede comprobar, es una forma sencilla de describir un programa en
un formato muy próximo al ser humano, pero también se puede desarrollar de
forma gráfica.
Para ello los símbolos utilizados básicamente son:
pág. 9
Y a continuación vemos el ejemplo de antes representado mediante
organigrama.
Ambos sistemas son válidos, cada cual puede elegir el que más le guste.
pág. 10
Los datos
Los datos en un programa es uno de los elementos vitales del mismo, pero en
la vida cotidiana los utilizamos a diario también, si nos fijamos en los datos que
utilizamos, nos daremos cuenta que son letras y números, números solo o solo
letras.
También, cuando a lo largo del día alguien nos da un dato pequeño,
normalmente no memorizamos, pero si es largo o complejo, lo apuntamos,
¿Por qué?, porque tenemos nuestras limitaciones, por la edad, por lo
despistados que somos etc.
Los ordenadores también disponen de memoria, y también manejan
información, datos, y en función de lo voluminosos que sean los datos, los
almacenarán en la memoria central del ordenador, o en un soporte, en el disco
duro o lo grabaremos en un disquete o disco compacto.
Los tipos de datos.
Informáticamente los datos son de dos tipos básicos, números y letras, o
numéricos y alfanuméricos.
Con los datos numéricos realizamos operaciones de cálculo y con los
alfanuméricos representamos información y la almacenamos para el uso en
el programa.
El dato numérico utilizará en memoria un espacio adecuado para el valor que
puede tomar.
Como la memoria en un ordenador es vital, conviene aprovecharla al máximo.
Un valor numérico puede tomar un valor desde cero, olvidemos los números
negativos, hasta …, hasta un valor que es imposible escribir, o sea, infinito.
Pero eso en un ordenador es imposible de asumir.
Por lo tanto, lo que hacemos es que creamos rangos, y a cada rango le
asignamos un tipo de dato.
¿Cómo se crean los rangos?
Pensemos en que un ordenador solo sabe utilizar un uno y un cero, ausencia
de voltaje y presencia de voltaje eléctrico, sistema binario, pero nosotros
utilizamos lo que denominamos el sistema decimal, es decir diez elementos en
lugar de dos.
pág. 11
En este sistema, cada uno de los dígitos utilizados se denomina bit, (Binary
digit).
Por lo tanto, para almacenar un número del cero al nueve, necesitaremos una
combinación de ceros y unos que permitan representar cada uno de esos
números, y como son diez, se necesitan diez combinaciones.
0 0
1 1
2 10
3 11
4 100
5 101
6 110
7 111
8 1000
9 1001
Esa sería la combinación para representar los diez dígitos del cero al nueve.
Cada uno de esos dígitos los denominamos bits, por lo tanto, el cinco necesita
tres bits para representarlo.
Si siguiéramos esa secuencia podríamos ir creando todos los números
decimales en binario.
Estos bits se agrupan en grupos de.
1 bit.
4 bit un cuarteto.
8 bit un octeto, un octeto es un byte.
1024 bytes, es un Kilobyte. Kb.
1024 Kb son un Megabyte, Mgb
pág. 12
1024 Mgb. son un Gigabyte.
Si nos preguntamos porque se usa 1024 en lugar de 1000, la respuesta es que
hay que buscar bloques de 8 bits, que son un byte, 1024 es 2 10.
Los datos alfanuméricos no tienen problema en su representación, pues cada
carácter ocupa un byte en memoria, tantos caracteres tantos bytes, dentro de
las limitaciones del lenguaje de programación que se esté utilizando.
El motivo de utilizar un byte para cada carácter es que el número de caracteres
máximo distintos en un idioma latino, o anglosajón, tomando los números como
caracteres independientes, incluidos letras acentuadas y caracteres de
puntuación no supera los 256, con un byte podemos obtener 256
combinaciones distintas, del 0 al 255.
Actualmente se utiliza un sistema de dos bytes que de forma unilateral
implanto una empresa de software, por lo cual, aunque nosotros usemos un
carácter para almacenarlo se utilizarían dos.
Esto permite que se puedan representar hasta 65535 combinaciones de
símbolos, necesario para los lenguajes orientales, que usan símbolos en lugar
de letras.
Pero los números son datos compactos, no se pueden andar separando de
forma arbitraria, ya que hay que realizar operaciones de cálculo con ellos, por
lo tanto, han de ocupar uno, dos o x bytes, pero contiguos, para así poder
operar matemáticamente.
Por lo tanto, los números que podemos representar en un sistema dependerá
del número de bytes que pongamos juntos para representar ese número.
Por ejemplo, si ponemos un solo byte a disposición del sistema, solo podremos
representar números entre el 0 y el 255. Un byte son 8 bits, las combinaciones
son 28 que es igual a 256, que son los números que podemos representar.
Como eso es muy pobre, el rango más pequeño que se utiliza es el de dos
bytes, que permiten manejar números entre –32767 y + 32768, como números
enteros.
Aunque eso parece un rango muy pequeño, en programación los números
enteros se usan para contar cosas, y en un porcentaje muy elevado de casos
pág. 13
es suficiente ese rango, siempre que se haga un uso adecuado de los
recursos.
claro la pregunta sale sola ¿pero números hay …?, claro que hay más, pero
esos ya se han dado en clasificar en otro tipo de datos, los llamados números
reales.
Los números reales se representan con otro sistema, no creeremos que se
puede asignar espacio en memoria para el número 12345678901234567890,
o bien para el 0,12345678901234567890, eso no es factible.
Por lo tanto, en función del tamaño del espacio usado en memoria se puede
abarcar más o menos valores.
Esta tabla muestra los valores máximos y mínimos en función del número de
bytes utilizados en un lenguaje de programación.
Pensemos que hace años un número entero utilizaba dos bytes, ahora en los
lenguajes modernos utiliza 4, por lo que se aumenta el número de valores
posibles válidos.
pág. 14
Programa
Un programa está dividido en varios bloques.
Declaraciones.
Procedimientos y funciones de usuario.
Programa principal.
A su vez en el programa encontramos tres fases.
Entrada de datos.
Proceso de los mismos.
Obtención de resultados.
La programación ha avanzado mucho desde sus inicios, actualmente la
programación no se entiende sin el uso de clases y sus correspondientes
objetos que derivan de las mismas.
Declaraciones.
La parte de declaraciones puede ser muy amplia, dependerá del lenguaje de
programación, de sus requerimientos.
Como mínimo se tendrá que declarar las variables que intervengan en el
programa, de tal forma que queden disponibles para su utilización en el
programa.
pág. 15
Las clases
Si nuestro estilo de programación no contempla, comparte, o lo que cada uno
desee, el uso de clases y objetos, el escalafón acaba con los procedimientos y
funciones, y estos se utilizan directamente dentro del programa.
Ni uno es malo, ni el otro es perfecto, son sistemas, estilos y filosofías distintas,
pero no se puede negar que el uso de clases es positivo dentro de la
programación.
En la actualidad el tipo de programación que se realiza es lo que denominamos,
P. O. O., programación orientada a objetos.
Dicho de otra forma, la materia explicada en temas anteriores, se colocan en el
interior de lo que denominamos clases, con las que crearemos los objetos.
Un objeto es un elemento derivado de una clase.
La clase es un elemento estructural en un programa que dispone de
En programación, un objeto es un ente que es capaz de realizar tareas y
reaccionar ante aquello que tiene a su alrededor, ante los eventos que lo
rodean, sea un partido de fútbol, una película, una sensación, y al que dotamos
de una serie de características, alto, bajo, grande pequeño y que se definen
cuando creamos el objeto y que podemos dejar que quien vaya a utilizarlo los
pueda modificar, pero siempre bajo nuestro control, claro, para eso el objeto lo
hemos creado nosotros.
Como lo que no se hace en informática es crear varias veces lo mismo, las
clases las escribimos una sola vez, y lo que se hace es crear algo así como un
molde con el que luego vamos haciendo copias.
Para profesionalizar la parrafada de antes, al molde se le llama clase, y a esa
clase le dotamos de una fisonomía, característica, a los elementos que
describen esa fisonomía, lo llamamos propiedades.
Las tareas que queramos que sea capaz de realizar las denominamos
métodos.
Y a la capacidad de reaccionar a los estímulos exteriores lo llamamos eventos.
pág. 16
Un ejemplo muy cercano, el ser humano, si deseamos crear una clase que
imite al ser humano le podríamos crear una serie de características,
propiedades, como
Sexo
Altura
Color del pelo
Color de los ojos
Por lo tanto, las propiedades describen el objeto.
Podemos crear características internas, que no se podrán utilizar fuera del
objeto, y otras que serán externas y que sí que se verán en el objeto y podrán
ser modificadas lo que permitirá crear objetos de distintos tipos.
Estas características externas son las que de verdad denominamos
propiedades, pues es posible que sean modificadas por quien utiliza la clase,
quien de verdad genera después el objeto.
Las características internas, por llamarlas así, son en realidad variables de la
clase, las propiedades también lo son, pero se ven por parte del usuario.
pág. 17
VB Studio Net 2005
Es un lenguaje de programación que actualmente respeta prácticamente todas
las características de la P. O. O.
Anteriormente la generación de un programa ejecutable con Basic generaba
un ejecutable, actualmente genera un archivo intermedio que se ejecuta
posteriormente por la máquina virtual de Studio Net.
Esta característica, que hoy incorporan otros lenguajes de programación,
convierte a VB en un lenguaje portable en el momento que exista una máquina
virtual para otros sistemas operativos distintos de Windows.
Características.
Es fácil de utilizar, igualmente para personas que están iniciándose como para
expertos en la materia.
El entorno de diseño para un entorno gráfico es muy cómodo y fácil de utilizar.
Es un lenguaje orientado a objetos.
Existe un amplio espectro de objetos en el mercado para poderse integrar en
el lenguaje.
No dispone de punteros.
Advertencias.
El problema de las mayúsculas de otros lenguajes aquí no se da, e incluso el
editor de texto de VB unifica el nombre de las variables cuando las escribes de
otra forma.
Entorno utilizado.
En esta documentación se ha utilizado la versión y entorno de programación
de Studio Net 2005.
En el siguiente link se puede acceder a información y descarga del producto
gratuito si después deseas registrarte.
La labor de programación es una tarea más, como otro de los trabajos que hay
en la vida, el problema es cuando el trabajo se hace a gusto o no.
pág. 18
Por lo tanto, a la hora de realizar cualquier trabajo hay que intentar disponer
de las mejores situaciones posibles.
EL entorno de Vb está preparado para facilitar toda una serie de tareas del día
a día en la escritura de un programa.
• Depuración.
• Organización.
• Ayudas
• Corrector sintáctico
• Compilación.
•
El entorno en si es muy amplio y explicarlo en su totalidad no es el motivo de
esta documentación, vamos a abordar solamente la parte que nos interesa
para esta fase de iniciación a la programación con este lenguaje.
pág. 19
Funciones
Visto y nombrado los elementos de un programa y sus estructuras, así como la
forma de representar las soluciones y el uso de procedimientos, ahora hemos de
profundizar sobre el uso de las funciones, el paso de parámetros y sus
características.
Creación.
Hay una máxima que sí podría servir, y es que en el momento en que en el
programa aparece código repetido, ya podemos empezar a pensar en la
creación de una función o un procedimiento, según corresponda.
También hay que tener en cuenta que la llamada a una función o un
procedimiento consume recursos y tiempo de ejecución, pero en la actualidad
se piensa poco en esos parámetros.
Resolver de forma recursiva la factorial de un número es “bonito”, pero ¿y si el
número es algo grande?
Con un procedimiento resuelvo el programa y voy creando la estructura del
mismo.
Una función es un “trozo” de código especializado en hacer algo en concreto,
por ejemplo, el ejercicio del área de un triángulo o de una circunferencia, se
resolvió mediante un procedimiento, pero su solución correcta es la de una
función, ¿por qué?, pues normalmente el área del triángulo es un dato que voy
a calcular y que puede aparecer hasta en una expresión habitualmente.
Si utilizo procedimientos, la solución puede ser algo así:
Altura = 5
Base = 10
AreaTriangulo (Base, Altura, Área)
Escribe “El área del triángulo es “, Area
Esta es la solución con un procedimiento, ejecutamos el procedimiento y nos
devuelve un dato llamado Area, que lo usamos en el texto de informe al
usuario.
Escribe “El área del triángulo es “, AreaTriangulo (Base, Altura)
pág. 20
Como podemos ver con una función es mucho más “elegante” el código
resultante.
¿Cuándo escribir una función o un procedimiento?, en el ejemplo podemos ver
un criterio.
Un procedimiento es una línea de mi programa, lo llamo y se ejecuta, resuelvo
el problema estructural del programa con ellos.
Una función forma parte de una instrucción, una función siempre devuelve un
dato, un procedimiento no tiene por qué hacerlo.
Ejemplo:
En el caso de una función no nos sirve el criterio de que un procedimiento
crezca en demasía, para crear una función, hay una diferencia de base entre
un procedimiento y una función, y es que un procedimiento puede formar, o
forma parte, de la resolución lógica de un programa, parte de su estructura,
pero una función es una parte de nuestro programa que está especializado en
algo muy concreto y que solo sabe resolver ese tema, y no formará parte de la
estructura del programa, colabora en su solución.
Evidentemente que sí convierte en más legible un programa, el uso de una
función, pero no es la forma de resolver un programa, por supuesto que su uso
es necesario en programación, pero hay que ver ese matiz entre ambas
herramientas de programación.
pág. 21
¿Funciones o Procedimientos??
En el peor de los casos, todo lo que se puede escribir en un procedimiento se
puede resolver también con una función, o al revés, ¡técnicamente!, en la
realidad no debe abordarse así, porque en algunas ocasiones para hacerlo,
hay que cometer alguna incorrección.
Una función devuelve siempre un único dato, un procedimiento puede devolver
uno o varios, o ninguno, pero es que, si se usan adecuadamente las funciones,
con un único dato es suficiente.
Tipos de la función.
Hemos dicho que una función
devuelve un dato, por lo tanto, si
devuelve un dato, ese dato debe de
ser de un tipo, de ahí que la función
cuando se crea hay que declarar de
que tipo es, y ese tipo es el del dato
devuelto.
Otra forma de clasificar las
funciones es dividirlas por las
propias del lenguaje y las que
diseñemos nosotros, todos los
lenguajes de programación
disponen de funciones prescritas en
el mismo.
En el ejemplo vemos una función escrita por nosotros, y vemos como en su
interior utilizamos funciones del lenguaje en el que se escribe esa función.
La función del ejemplo es del tipo alfanumérico porque lo que devuelve es un
dato alfanumérico.
Por lo tanto, tendremos tantos tipos de funciones como tipos de datos disponga
el lenguaje que estamos utilizando.
pág. 22
Las clases en el código
En una clase tenemos que escribir código con el fin de alcanzar los objetivos
para la cual se diseña la misma.
Si no existiera código en la misma, la clase puede seguir existiendo, pero lo
único que podríamos hacer con ella es crear una estructura de datos, más o
menos compleja.
Código en la clase.
El código en la clase se distribuye entre
las propiedades, los procedimientos, las
funciones, los eventos y los métodos.
En las propiedades, para realizar el
control y la validación de los datos que
se asignan a las variables internas de la
clase.
En los métodos, porque desde ahí se
distribuirá la ejecución de los
procedimientos y funciones de la clase
en función del diseño del mismo.
En los eventos también dispondremos de código, para que de esa forma se
pueda reaccionar en función de lo que sucede a su alrededor.
Las variables, propiedades, los datos, almacenan la información que se utiliza
en la clase para poder realizar las acciones para las cuales se escriben los
métodos de la misma.
pág. 23
Las variables disponían de dos posibilidades, podían ser internas y externas.
Con el código sucede lo mismo, una clase se diseña para resolver un
problema.
Ese problema, para resolverlo se descompone en una serie de acciones de
menor entidad, y en su solución se podrán utilizar acciones de dos tipos:
• Externas.
• Internas.
Las acciones externas serán las que ofreceremos al usuario para que pueda
interactuar con el objeto que se deriva de la clase.
Las acciones internas son las que creamos nosotros de forma interna en
nuestra clase para crear el código que resuelva el problema para el cual se
diseña la clase.
Explicado en sentido inverso, los métodos son la parte de código que se ve en
una clase.
Los métodos se escriben utilizando procedimientos o funciones, en función de
nuestras necesidades.
En la clase existen otros procedimientos y funciones, pero no son públicos, o
no son métodos, y no se pueden utilizar por el usuario de la clase, del objeto
que se deriva de ella.
Una clase al fin y al cabo es un programa más, no hay diferencias en cuanto a
la solución de los problemas, pero el matiz es que un programa se inicia a
instancia del usuario, y una clase se inicia a solicitud de una instrucción desde
el interior de un programa.
En las Propiedades.
Porque en las propiedades en muchas ocasiones hay que filtrar los valores
que recibimos, con el fin de que sean coherentes con el conjunto de datos de
la clase, y evitar que se asignen a las variables internas de la clase.
En las Funciones, Procedimientos.
Para desarrollar una clase es necesario escribir un “pequeño programa”, y ese
pequeño programa se compone de una parte pública que son los métodos
pág. 24
Estos métodos, podemos decir que son el punto de inicio de una acción, una
acción que inicia el programa cuando reclama su presencia, es decir
podríamos decir que una clase tiene un sin fin de puntos de inicio, cada uno
de los métodos, si descartamos el código de las propiedades -, por lo tanto,
como deseamos crear un código sencillo, estructurado y ordenado, es
necesario que el código en el método sea breve.
Para ello el código de un método se compone de llamadas a procedimientos y
funciones que se llaman desde el mismo.
Además de esa forma un procedimiento puede compartirse por varios
métodos, lo que reduce el volumen de código de la clase.
Así que, en el interior de la clase escribiremos todos los procedimientos y
funciones que se necesiten para poder desarrollar todas las acciones que sean
necesarias en los métodos.
En los Métodos.
En los métodos, porque los procedimientos no se activan solos, y de alguna
manera han de activarse, y eso se consigue mediante la ejecución ordenada
del código que hay en cada uno de los métodos.
Hemos dicho que cada método es como un punto de inicio de un programa,
pues en ese punto es donde empieza la acción, y ahí es donde a medida que
se van ejecutando las líneas de código, se van escribiendo las llamadas a cada
procedimiento.
En el ejemplo de clase que sigue, se ha creado un método que visualiza los
números pares entre dos valores determinados.
En ella vemos como el método llama a una función que devolverá cierto o falso
en función de que el número sea par o no.
Clase Ejemplo:
Funcion EsPar (Numero como Entera) Como Booleana
EsPar = Numero Modulo 2 = 0
Fin de Funcion
Método NumerosPares (Inicio como entera, Final Como entera)
pág. 25
Crear X Entera = 0
Si Inicio < Final Entonces
X = Inicio
Mientras X <> Final
Si EsPar(X) Entonces
Escribir (“El número “, X, “es par”)
Fin de Condicion
X = X + 1
Fin Mientras
Fin Condicion
Fin Metodo
Fin Clase
Inicio Programa
Crear Objeto como Ejemplo
Objeto.NumerosPares(10,50)
Fin programa
pág. 26
Clases en VB
Las clases son el molde a partir del cual obtenemos el objeto en nuestro
programa, y el objeto es en realidad el que tiene el protagonismo de la acción,
la clase es solo el molde.
Vamos a ver cómo aplicar los conceptos vistos con anterioridad en VB.
Lo ideal es tener un módulo con las o la clase en nuestro proyecto, de forma
que estén agrupadas de forma práctica para nosotros.
Elegimos
Archivo à Nuevo
proyecto y
seleccionamos
aplicación de
consola.
Después
Proyecto à
Agregar Clase y
seleccionamos el icono de clase como vemos en la imagen.
El objeto.
Primero creemos el objeto.
Nuestra clase ahora es así.
Public Class Ejemplo
End Class
Ahora creamos un objeto de esa clase.
Dim Objeto As Ejemplo
Si ahora escribimos en nuestro programa
Objeto.
pág. 27
Si vemos la imagen, ese es el resultado, son los métodos estándar de
cualquier objeto.
Pero como no hemos escrito nada nuestro, no
vemos nada.
Los datos.
Hemos comentado que eran de dos tipos
• Internos.
• Externos.
Veamos como definir los datos internos en la clase, es decir los que no se ven
en el exterior.
Public Class Ejemplo
Dim DatoInterno As String
Private OtroInterno As Integer
End Class
Si ahora escribimos en nuestro programa
Dim Objeto as Ejemplo
Objeto.
Si vemos la imagen, ese es el resultado, son los métodos estándar de
cualquier objeto.
pág. 28
Utilizar y definir datos
Hasta ahora lo que hemos estado viendo han sido distintas herramientas para
el desarrollo de un programa.
• Estructuras básicas de programación.
• Secuencial
• Repetitiva
• Alternativa.
• Funciones.
• Procedimientos.
• Clases.
Hemos dejado de lado la parte de los datos.
El apartado de datos abarca las estructuras, las formas de almacenamiento y
de acceso.
Pero es imprescindible el conocer las distintas formas de utilizar datos en un
programa para obtener el mejor rendimiento del mismo.
Su gestión en memoria se realiza mediante unas estructuras denominadas:
• Variables.
• Array.
• Listas.
Y la gestión de los datos cuando estos se almacenan en un soporte se realiza
mediante el uso de archivos.
La información en un programa puede ser de muchos tipos y desde distintos
puntos de vista.
La información, los datos, se utilizan en un programa en variables, y ya hemos
visto anteriormente que las variables pueden ser
• Numéricos.
• Alfanuméricos.
En un programa se utiliza información para:
La ubicación en el ordenador de la instalación del programa.
La configuración de la interface con el usuario.
pág. 29
Los datos que el usuario genera como consecuencia de la utilización de un
paquete en cuestión, contabilidad, nominas, etc...
Esta información puede ser almacenada en distintos tipos de soporte
• Disquetes,
• Disco duro,
• Memorias de distinto tipo.
Los soportes donde se almacenan los datos pueden ser o no direccionables.
Los soportes antes mencionados son direccionables.
Una cinta en cualquiera de sus distintas versiones no lo es.
Las estructuras de datos a utilizar en la gestión de los datos pueden ser de tipo
Estático, no pueden crecer o disminuir de tamaño.
Dinámico, pueden aumentar o disminuir de tamaño.
Los datos a utilizar en un programa pueden ser
Volátiles, desaparecen al finalizar el programa.
Duraderos, se conservan en algún tipo de soporte y pueden ser recuperados
en cualquier momento o por otro programa.
Las estructuras que se utilizan en la grabación de los datos en un soporte
pueden ser
Archivos direccionables, acceso aleatorio o indexado.
Archivos no direccionables, acceso secuencial.
Seguro que aun podríamos buscar
más clasificaciones o formas de
agrupar información, pero con esto
es suficiente.
Como lo que aquí nos interesa es
la parte útil para hacer un programa,
nos limitaremos a:
• Tipos de datos. Estructura de datos
• Tipos de usuario. Almacenamiento de datos
pág. 30
Enumeraciones
Ver el uso de las enumeraciones dentro de un programa y sus ventajas.
Las enumeraciones es una gran comodidad dentro de la creación de un
programa.
Normalmente cuando en un programa tenemos que crear una distinción entre
varios tipos de datos, optamos por asignar valores numéricos desde cero o
uno hasta el último de los tipos de datos que vayamos a utilizar.
El inconveniente es que hay que estar pendiente continuamente, de la
documentación del mismo, de su correcta utilización.
Con las enumeraciones ese problema desaparece.
¿Qué son?
Como hemos comentado en el programa optamos habitualmente por asignar
valores desde cero hasta un valor determinado para separar cada uno de los
posibles tipos de datos, o circunstancias que se nos puedan presentar.
Por ejemplo, a la variable Curso, le asignamos los siguientes posibles valores.
• Primero
• Segundo
• Tercero
Lo cual implica que en el programa crearemos el siguiente código
Si Curso = 1 Entonces.
Si Curso = 2 Entonces.
Y así sucesivamente
Una enumeración es exactamente lo mismo, pero con nombre, en lugar de lo
visto anteriormente, haríamos lo siguiente.
Enumeración Cursos
Primero = 1
Segundo = 2
Tercero = 3
pág. 31
Fin de enumeración
Crear Curso del tipo Cursos
Lo cual permite después escribir lo siguiente
Si Curso = Cursos. Primero Entonces ...
Si Curso = Cursos. Segundo Entonces ...
Que resulta mucho más cómodo, y sobre todo seguro al evitar errores de uso
del valor adecuado en el código, ya que todos sus valores posibles se suponen
declarados.
En la ampliación de VB, se ilustra de forma más clara el uso de las
enumeraciones.
pág. 32
Enumeraciones en VB
El uso de las enumeraciones en VB está muy logrado, pues el entorno de
programación las integra de una manera muy cómoda para el programador,
utilizándola como ayuda en las llamadas a los procedimientos y funciones.
La sintaxis a usar es la que vemos a continuación
Enum Monedas
Euro = 1
Dolar = 2
Libra = 3
Yen = 4
End Enum
Enum Monedas
Euro
Dolar
Libra
Yen
End Enum
En ambos casos la sintaxis es correcta, la diferencia es que en el primer caso
forzamos los valores, euro sería uno, y en el segundo sería cero, que es el
valor que VB le da por defecto.
Es la definición del nombre de la enumeración.
Enum Monedas
pág. 33
Euro = 1
Dolar = 2
Libra = 3
Yen = 4
Es el contenido.
End Enum
Es el final de la descripción de los elementos de la enumeración.
Una de las utilizaciones se refleja en la imagen:
Podemos observar cómo se introduce un dato en la inicialización del objeto, y
luego al llegar al campo de la enumeración, automáticamente aparece el
contenido de la enumeración, ya que el dato que ahí se espera es del tipo
Monedas, y solo hay que elegir una de las opciones disponibles, que además
estamos viendo.
Public Function Convertir (ByVal Cual As Monedas) As Double
Select Case Moneda
Case Monedas.Euro
Select Case Cual
Case Monedas.Dolar
Convertir = Import * 1.22
Case Monedas. Libra
Case Monedas. Yen
pág. 34
End Select
Case Monedas.Dolar
Case Monedas.Libra
Case Monedas.yen
End Select
End Function
Lo mismo sucede con la escritura de un Select Case, por ejemplo, en la que
en el momento de escribir la palabra case se despliega automáticamente la
enumeración para poder ver los valores disponibles y su valor.
Su uso en el principal quedaría:
Module Module1
Sub Main ()
Dim Importe As Double = Console.ReadLine
Dim Objeto As Ejemplos = New Ejemplos (Importe, Ejemplos.Monedas.
Euro)
Console.WriteLine(Objeto.Convertir(Ejemplos. Monedas.Dolar))
Console.ReadLine() End Sub End Module
pág. 35
Programación en un entorno gráfico
Los conceptos de programación pueden dividirse en tres grandes apartados.
Las estructuras de programación.
Las estructuras de datos.
El entorno en el que se ejecutará el programa.
Las estructuras de programación son los elementos comentados
anteriormente.
Variables
Estructuras repetitivas
Estructuras condicionales
Estructuras secuenciales
Procedimientos
Funciones
Clases.
Las estructuras de datos son
Tipos de usuario
Arrays
Archivos
Bases de datos
El entorno de ejecución del programa podemos distinguir tres apartados
Los “programas”, en realidad clases, rutinas o librerías, como deseemos
llamarlos, que se ejecutarán como parte de un programa y que posiblemente no
incorporen ningún elemento interactivo con el usuario.
Los programas que se ejecutan en un entorno de consola.
Los programas que se ejecutan en un entorno gráfico.
El entorno de una clase lo hemos visto anteriormente en modo reducido, pero
se han dejado sentadas las formas y sus elementos.
El entorno en el modo consola es el que se ha estado utilizando en todos los
ejemplos de los temas que se han visto con anterioridad.
El entorno gráfico es el que vamos a ver en los próximos temas.
Este entorno gráfico cambiará de un lenguaje a otro, pero en definitivas
cuentas se compone de una serie de elementos gráficos que poseen unas
características tales que nos permiten crear un programa en el cual podamos
solicitar y mostrar datos al usuario de una manera estética más agradable e
intuitiva que lo que permite el modo consola.
pág. 36
Estos objetos dado que tienen que mostrarse con una serie de características
que permitirá su forma agradable a la vista, disponen de una serie de
propiedades que permite que se le pueda asignar colores, tamaños, posición
adecuados dentro del componente o ventana en el que lo mostraremos al
usuario.
A su vez como necesitamos saber cuáles son
las intenciones de quien está usando el
programa con respecto al objeto en cuestión,
dichos objetos disponen de una serie de
eventos que nos permite saber si el usuario usa
el teclado, el ratón, o algún otro evento que
pueda ser necesario para dicho objeto.
Además, también podemos necesitar que
dichos objetos nos faciliten algún tipo de acción
propia del mismo, por lo que en la mayoría de
los casos estos objetos incorporan los métodos
adecuados al destino para el cual están
diseñados.
Estos objetos pueden agruparse en los que
podríamos llamar básicos, y especializados.
Los elementos básicos son los que en un
principio se crearon en las primeras versiones
de programación para un entorno gráfico,
básicamente son los que se pueden ver en las
imágenes del entorno de VB y de NetBeans que
se ven en el documento.
Después se han ido creando una serie de
elementos más especializados y que han
facilitado en gran medida la creación de nuevos
y mejores programas.
pág. 37
Son objetos que podrían ser prescindibles en algunos casos, pero que sin
embargo su aparición se agradece en gran medida en la creación de nuevos
programas.
Por otro lado, existe la posibilidad de crear nuestros propios objetos para el
uso en nuestros programas.
pág. 38
¿Cómo se hace un programa?
Un programa se compone de varios elementos:
El que se comunica con el usuario, la interfaz.
El que recibe esa información y la trata en función del destino de la misma, y
de sus características.
El que se encarga, si procede, de grabar y recuperar información de un soporte
de datos, dígase sistema clásico de archivos, base de datos, etc.
Recordemos los objetos vistos.
Mostrar información.
Etiquetas
Grupos de objetos
Visualizar imágenes
Introducción de datos.
Cajas de texto
Grid, rejillas
Ordenes.
Botones para activar la acción a realizar por el usuario.
Opciones.
Para seleccionar una opción entre varias
Activar una opción en concreto
Selección de datos.
Cajas desplegables
Listas de datos
Especializados.
pág. 39
Impresión
Conexión con bases de datos
Menús y barras
Lo que hay que hacer ahora es
pensar como queremos que sea
nuestra ventana y pensar cuales
de estos objetos vamos a utilizar.
La fase de análisis y de diseño
nunca es un tiempo perdido, suele
ser al revés, una inversión en
tiempo.
Siempre es interesante dedicar un tiempo adecuado hasta obtener ese diseño
que nos gusta, de forma que podamos a partir de él obtener nuevos programas
o simplemente ya no tengamos que pensar en cómo hacerlos y podamos
progresar más rápidamente en su creación.
Tenemos que pensar que en una aplicación siempre vamos a tener distintos
tipos de programas y debemos buscar una forma de diseño que nos permita
crear interfaces lo más homogéneas y agradables posibles para facilitar su
posterior utilización y aprendizaje.
Diseñar la interfaz.
Primer paso es pensar que tipo de
datos vamos a utilizar en el mismo,
pues de ellos va a depender el tipo
de objetos que vamos a utilizar.
Normalmente se pueden abordar
los diseños de varias formas, por lo
tanto, no hemos de conformarnos
pág. 40
con el primero, podemos intentar otros y elegir el que más nos guste.
La ventana anterior está creada con los objetos sin asignarle estilo, es decir
colores, fuentes, etc.
Después hay que darle forma con un estilo que nos resulte agradable.
Hay que cuidar los espacios, la distribución, los colores a utilizar y cómo será
el texto a utilizar, tamaño y color.
Las ayudas que vamos a incorporar y su ubicación.
La estética es muy importante, de nuestros programas lo primero que se ve es
la parte visual, por lo tanto, hay que cuidar esa primera impresión.
También se puede, o se debe, crear sistemas que permitan al usuario
personalizar la aplicación.
Cuando tengamos acabada la parte de diseño de la interfaz, tendremos un
espacio ocupado en el monitor, el que ocupa la ventana, si este tamaño a una
resolución habitual es suficiente no será necesario que el usuario maximice la
ventana, por lo tanto, podemos evitar poniendo a false la propiedad
maximizaba, el que se use ese botón de la ventana, lo cual evitará que se
destroce el diseño que hemos realizado.
También podemos evitar que modifiquen el tamaño de la ventana arrastrando
desde las esquinas, asignando a la ventana en la propiedad FormBorderStyle
el valor de fixedsingle.
Y por último para que la ventana quede centrada en la pantalla o en la ventana
que la contenga del menú, podemos asignar a la propiedad StartPosition el
valor de centerscreen.
De esta forma conseguimos que no se pueda cambiar el diseño realizado por
nosotros.
Pero no hay que olvidar que también se tiene que cuidar la parte ejecutiva.

Más contenido relacionado

Similar a MANUAL VISUAL BASIC.pdf (20)

Coding for Kids
Coding for KidsCoding for Kids
Coding for Kids
 
software para creación de contenido digital.
software para creación de contenido digital.software para creación de contenido digital.
software para creación de contenido digital.
 
Trabajo en equipo 1
Trabajo en equipo 1Trabajo en equipo 1
Trabajo en equipo 1
 
informática 2 (1).pptx
informática 2 (1).pptxinformática 2 (1).pptx
informática 2 (1).pptx
 
Introduciòn
IntroduciònIntroduciòn
Introduciòn
 
informática 2.pptx
informática 2.pptxinformática 2.pptx
informática 2.pptx
 
Trabajo en equipo
Trabajo en equipoTrabajo en equipo
Trabajo en equipo
 
Trabajo en equipo
Trabajo en equipo Trabajo en equipo
Trabajo en equipo
 
Trabajo en equipo 1
Trabajo en equipo 1Trabajo en equipo 1
Trabajo en equipo 1
 
Xp
XpXp
Xp
 
Elaboracion de un_programa
Elaboracion de un_programaElaboracion de un_programa
Elaboracion de un_programa
 
Ada 3 (1)
Ada 3 (1)Ada 3 (1)
Ada 3 (1)
 
Ada 3 (3)
Ada 3 (3)Ada 3 (3)
Ada 3 (3)
 
Manual Teórico - Práctico C++
Manual Teórico -  Práctico C++Manual Teórico -  Práctico C++
Manual Teórico - Práctico C++
 
Diseño de software
Diseño de softwareDiseño de software
Diseño de software
 
Manual c++
Manual c++Manual c++
Manual c++
 
Programmer visions
Programmer visionsProgrammer visions
Programmer visions
 
Parcial 1
Parcial 1Parcial 1
Parcial 1
 
Lógica de programación
Lógica de programaciónLógica de programación
Lógica de programación
 
Actividad de informatica 1
Actividad de informatica 1 Actividad de informatica 1
Actividad de informatica 1
 

Último

COMOGANARAMIGODPARACRISTOIGLESIAADVENTISTANECOCLI,COM
COMOGANARAMIGODPARACRISTOIGLESIAADVENTISTANECOCLI,COMCOMOGANARAMIGODPARACRISTOIGLESIAADVENTISTANECOCLI,COM
COMOGANARAMIGODPARACRISTOIGLESIAADVENTISTANECOCLI,COMcespitiacardales
 
Guia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdfGuia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdflauradbernals
 
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfNUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfisrael garcia
 
COMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfCOMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfOscarBlas6
 
Institucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenaInstitucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenadanielaerazok
 
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAINSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAdanielaerazok
 
institucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenainstitucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenajuniorcuellargomez
 
12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdfedwinmelgarschlink2
 
Buscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webBuscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webDecaunlz
 
libro de Ciencias Sociales_6to grado.pdf
libro de Ciencias Sociales_6to grado.pdflibro de Ciencias Sociales_6to grado.pdf
libro de Ciencias Sociales_6to grado.pdfFAUSTODANILOCRUZCAST
 

Último (10)

COMOGANARAMIGODPARACRISTOIGLESIAADVENTISTANECOCLI,COM
COMOGANARAMIGODPARACRISTOIGLESIAADVENTISTANECOCLI,COMCOMOGANARAMIGODPARACRISTOIGLESIAADVENTISTANECOCLI,COM
COMOGANARAMIGODPARACRISTOIGLESIAADVENTISTANECOCLI,COM
 
Guia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdfGuia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdf
 
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfNUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
 
COMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfCOMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdf
 
Institucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenaInstitucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalena
 
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAINSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
 
institucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenainstitucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalena
 
12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf
 
Buscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webBuscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la web
 
libro de Ciencias Sociales_6to grado.pdf
libro de Ciencias Sociales_6to grado.pdflibro de Ciencias Sociales_6to grado.pdf
libro de Ciencias Sociales_6to grado.pdf
 

MANUAL VISUAL BASIC.pdf

  • 2. pág. 2 Introducción. Intentar dar una definición de lo que es programar en la actualidad es muy atrevido, por lo que el que desee una de esas definiciones solo tiene que acudir a Internet y encontrara seguro un sin fin de ellas. Pero para escribir un programa, una aplicación, un paquete informático, hay que combinar varios elementos. Técnica. Diseño. Imaginación. Técnica, que se puede aprender, y que es lo que se quiere enseñar en este curso de iniciación. Diseño, estilo, gusto, que es más difícil enseñarlo, pues es una cuestión personal, y se trata de ofrecer nuestro producto en un formato agradable para quien lo va a utilizar. Imaginación, conocida la técnica de programación, está capacidad se puede adquirir con la experiencia, es más difícil, porque la capacidad de poder crear, imaginar la solución, o forma en la cual se desea plantear o mostrar lo que se quiere obtener, es una capacidad individual que cada uno tiene más o menos desarrollada. Estos elementos nos permitirán combinar otros tres elementos, que son El hardware, el ordenador. Los procedimientos, funciones, clases y objetos. Las estructuras de datos.
  • 3. pág. 3 Hardware, conocer los distintos elementos con los que se puede contar para poder llegar a obtener una solución óptima a nuestro problema. En programación hay una gran variedad de tipos de programas, y un amplio espectro de periféricos en el mercado. Su conocimiento nos puede facilitar la solución de un problema. Procedimientos, funciones, son las herramientas de las que nos valemos en la programación para la resolución de un programa, para resolver un problema. Estructuras de datos, los dos elementos anteriores nos permiten sacar el rendimiento de un programa, pero un programa utiliza datos, pocos o muchos, pero siempre información, por lo tanto, hay que manejar de forma adecuada dicha información.
  • 4. pág. 4 Elementos de programación. Podríamos denominar los siguientes apartados como elementos de la programación. – Tener claro que queremos hacer. – Dominar los elementos a nuestro alcance. – Imaginar espacialmente la solución que deseamos obtener. – Aplicar dicha solución. Tener claro que queremos hacer, en condiciones normales, la creación de un programa parte de una fase de diseño que da como resultado final como tiene que ser un programa y lo que hay que hacer es transcribir a código dicho resultado. Por lo tanto, antes de iniciar la escritura de un programa es imprescindible saber de forma clara y sin paliativos que es lo que queremos hacer, si una silla o un barco. Normalmente una buena aplicación suele conllevar un ahorro en el tiempo final, porque no hay que retroceder ni tampoco corregir. Dominar los elementos a nuestro alcance, implica tener un conocimiento y dominio de los elementos mencionados anteriormente. imaginar espacialmente la solución que deseamos obtener, la progresión en la técnica de la programación, con el tiempo nos llevará a imaginar, por decirlo de alguna forma, la solución o la forma de enfocar como deseamos hacer el programa que nos encargan, pero eso a otro nivel, os irá pasando a lo largo del curso, ya que con los ejercicios que iremos planteando, a medida que los vayamos leyendo de forma inconsciente os ira apareciendo la forma de enfocarlos. Aplicar dicha solución, y solo quedará con todos los datos aplicarlos a la solución que en principio creemos más adecuada, y que luego modificaremos muchas veces. Hay un principio, “si funciona no lo toques”, pero claro ..., así que cada cual decida cuando parar.
  • 5. pág. 5 Lo principal de un programador Tener las ideas claras, saber de forma exacta que es lo que tienes y a donde has de llegar. tener claro en qué orden quieres hacerlo. Lo más importante en programación son los conceptos. Si se tienen claros, a continuación, podrás buscar las herramientas que necesitas en el lenguaje que usas y realizarás correctamente tu labor. Memorizar cosas no es importante, es más importante saber dónde está un manual y buscar ahí la información, que necesitemos. El cambiar a otro lenguaje de programación, si los conceptos son sólidos, no supondrá ningún trauma, pues cambiarán las instrucciones que usas, pero no el orden en que se tienen que realizar los pasos. Dominar la herramienta de programación de que dispones. Realizar las pruebas adecuadas de funcionamiento correcto del programa. La fase de depuración y pruebas de un programa son importantísimas, porque eso nos lleva a un producto final fiable y de probada eficacia, lo cual da fiabilidad al producto, y al programador que lo crea. Un programa que no da confianza no se utiliza.
  • 6. pág. 6 Características Se podrían añadir o quitar, pero estas son importantes. 1 legibilidad. Debe ser posible leerlo y entenderlo con facilidad, el uso de nombre de variables adecuados y comentarios, facilita este apartado. 2 portabilidad. Crear estructuras que permitan su codificación en distintos lenguajes. 3 modificabilidad. Ha de facilitar su mantenimiento, es decir, debe permitir que se modifique o actualice en función de las necesidades del problema a resolver. Para ello es conveniente comentar adecuadamente el código. Un programa debe quedar escrito y documentado de tal forma que otra persona que venga detrás pueda modificarlo o ampliarlo sin excesiva dificultad. 4 eficiencia. Se debe aprovechar al máximo los recursos del ordenador, minimizando el empleo de memoria y el tiempo de ejecución. Además, como es obvio, debe resolver el problema para el que ha sido planteado. 5 modularidad. Se debe procurar no tener que resolver el mismo problema varias veces. A igual problema, igual solución, lo que conlleva la elaboración de módulos para resolver problemas concretos. 6 estructuración. Lo programas deben tener única y exclusivamente estructuras lineales, alternativas y cíclicas, exclusivamente, o dicho de otra forma, no es conveniente utilizar instrucciones de salto, aunque estén disponibles en el lenguaje de programación.
  • 7. pág. 7 Problemas en los programas Cuando se tienen problemas con un programa, lo mejor es ir haciendo pruebas por zonas, visualizando contenidos mediante las herramientas, opciones de depuración del entorno que utilizamos, de las variables que nos interesan y comprobando que se ejecutan las zonas del programa que a nosotros nos interesan que se ejecute. Cuando se diseña una rutina, función, procedimiento o método nuevo, esta debe probarse fuera del programa, para asegurarse de su correcto diseño y que devuelve correctamente los resultados, asignándole en la prueba todos los valores posibles para verificar su correcto funcionamiento. En un programa pequeño eso es muy fácil de probar y de controlar su ejecución correcta. Copiar un programa no es malo, no suele hacerse, suelen copiarse ideas, o mejorar cosas que se observan en otros paquetes, pero lo importante si se hace, es saber cómo funciona y entenderlo, si no, no nos aportará nada.
  • 8. pág. 8 Estructura y representación de un programa Escribir un programa. Toda actividad necesita de un argot, jerga y convenios para poderse entender entre las personas que se dedican a una misma labor. No es que se pretenda aislarse del resto de las personas, sino que es necesario ese convenio y un lenguaje específico que a cada cosa le asigne su nombre característico y propio, y de esa forma facilite la comunicación entre las personas. De esta forma surge en cada profesión una serie de símbolos y palabras para facilitar el trabajo. Existe varias formas de representar un programa de forma previa a su codificación y a partir de los datos que nos entregan como consecuencia de la fase previa de análisis. Seudocódigo Ordinogramas. Lo que sigue es un pequeño ejemplo de un programa muy sencillo, en formato de seudocódigo. Inicio Escribir “Cálculo del área de un triángulo” Leer “Introduzca la base del triángulo”, Base Leer “Introduzca la altura del triángulo”, Altura Area = (Base * Altura) / 2 Escribir “El área del triángulo es “, Area Fin Esta forma de escribir, o de describir dicho programa se denomina pseudocódigo. Como se puede comprobar, es una forma sencilla de describir un programa en un formato muy próximo al ser humano, pero también se puede desarrollar de forma gráfica. Para ello los símbolos utilizados básicamente son:
  • 9. pág. 9 Y a continuación vemos el ejemplo de antes representado mediante organigrama. Ambos sistemas son válidos, cada cual puede elegir el que más le guste.
  • 10. pág. 10 Los datos Los datos en un programa es uno de los elementos vitales del mismo, pero en la vida cotidiana los utilizamos a diario también, si nos fijamos en los datos que utilizamos, nos daremos cuenta que son letras y números, números solo o solo letras. También, cuando a lo largo del día alguien nos da un dato pequeño, normalmente no memorizamos, pero si es largo o complejo, lo apuntamos, ¿Por qué?, porque tenemos nuestras limitaciones, por la edad, por lo despistados que somos etc. Los ordenadores también disponen de memoria, y también manejan información, datos, y en función de lo voluminosos que sean los datos, los almacenarán en la memoria central del ordenador, o en un soporte, en el disco duro o lo grabaremos en un disquete o disco compacto. Los tipos de datos. Informáticamente los datos son de dos tipos básicos, números y letras, o numéricos y alfanuméricos. Con los datos numéricos realizamos operaciones de cálculo y con los alfanuméricos representamos información y la almacenamos para el uso en el programa. El dato numérico utilizará en memoria un espacio adecuado para el valor que puede tomar. Como la memoria en un ordenador es vital, conviene aprovecharla al máximo. Un valor numérico puede tomar un valor desde cero, olvidemos los números negativos, hasta …, hasta un valor que es imposible escribir, o sea, infinito. Pero eso en un ordenador es imposible de asumir. Por lo tanto, lo que hacemos es que creamos rangos, y a cada rango le asignamos un tipo de dato. ¿Cómo se crean los rangos? Pensemos en que un ordenador solo sabe utilizar un uno y un cero, ausencia de voltaje y presencia de voltaje eléctrico, sistema binario, pero nosotros utilizamos lo que denominamos el sistema decimal, es decir diez elementos en lugar de dos.
  • 11. pág. 11 En este sistema, cada uno de los dígitos utilizados se denomina bit, (Binary digit). Por lo tanto, para almacenar un número del cero al nueve, necesitaremos una combinación de ceros y unos que permitan representar cada uno de esos números, y como son diez, se necesitan diez combinaciones. 0 0 1 1 2 10 3 11 4 100 5 101 6 110 7 111 8 1000 9 1001 Esa sería la combinación para representar los diez dígitos del cero al nueve. Cada uno de esos dígitos los denominamos bits, por lo tanto, el cinco necesita tres bits para representarlo. Si siguiéramos esa secuencia podríamos ir creando todos los números decimales en binario. Estos bits se agrupan en grupos de. 1 bit. 4 bit un cuarteto. 8 bit un octeto, un octeto es un byte. 1024 bytes, es un Kilobyte. Kb. 1024 Kb son un Megabyte, Mgb
  • 12. pág. 12 1024 Mgb. son un Gigabyte. Si nos preguntamos porque se usa 1024 en lugar de 1000, la respuesta es que hay que buscar bloques de 8 bits, que son un byte, 1024 es 2 10. Los datos alfanuméricos no tienen problema en su representación, pues cada carácter ocupa un byte en memoria, tantos caracteres tantos bytes, dentro de las limitaciones del lenguaje de programación que se esté utilizando. El motivo de utilizar un byte para cada carácter es que el número de caracteres máximo distintos en un idioma latino, o anglosajón, tomando los números como caracteres independientes, incluidos letras acentuadas y caracteres de puntuación no supera los 256, con un byte podemos obtener 256 combinaciones distintas, del 0 al 255. Actualmente se utiliza un sistema de dos bytes que de forma unilateral implanto una empresa de software, por lo cual, aunque nosotros usemos un carácter para almacenarlo se utilizarían dos. Esto permite que se puedan representar hasta 65535 combinaciones de símbolos, necesario para los lenguajes orientales, que usan símbolos en lugar de letras. Pero los números son datos compactos, no se pueden andar separando de forma arbitraria, ya que hay que realizar operaciones de cálculo con ellos, por lo tanto, han de ocupar uno, dos o x bytes, pero contiguos, para así poder operar matemáticamente. Por lo tanto, los números que podemos representar en un sistema dependerá del número de bytes que pongamos juntos para representar ese número. Por ejemplo, si ponemos un solo byte a disposición del sistema, solo podremos representar números entre el 0 y el 255. Un byte son 8 bits, las combinaciones son 28 que es igual a 256, que son los números que podemos representar. Como eso es muy pobre, el rango más pequeño que se utiliza es el de dos bytes, que permiten manejar números entre –32767 y + 32768, como números enteros. Aunque eso parece un rango muy pequeño, en programación los números enteros se usan para contar cosas, y en un porcentaje muy elevado de casos
  • 13. pág. 13 es suficiente ese rango, siempre que se haga un uso adecuado de los recursos. claro la pregunta sale sola ¿pero números hay …?, claro que hay más, pero esos ya se han dado en clasificar en otro tipo de datos, los llamados números reales. Los números reales se representan con otro sistema, no creeremos que se puede asignar espacio en memoria para el número 12345678901234567890, o bien para el 0,12345678901234567890, eso no es factible. Por lo tanto, en función del tamaño del espacio usado en memoria se puede abarcar más o menos valores. Esta tabla muestra los valores máximos y mínimos en función del número de bytes utilizados en un lenguaje de programación. Pensemos que hace años un número entero utilizaba dos bytes, ahora en los lenguajes modernos utiliza 4, por lo que se aumenta el número de valores posibles válidos.
  • 14. pág. 14 Programa Un programa está dividido en varios bloques. Declaraciones. Procedimientos y funciones de usuario. Programa principal. A su vez en el programa encontramos tres fases. Entrada de datos. Proceso de los mismos. Obtención de resultados. La programación ha avanzado mucho desde sus inicios, actualmente la programación no se entiende sin el uso de clases y sus correspondientes objetos que derivan de las mismas. Declaraciones. La parte de declaraciones puede ser muy amplia, dependerá del lenguaje de programación, de sus requerimientos. Como mínimo se tendrá que declarar las variables que intervengan en el programa, de tal forma que queden disponibles para su utilización en el programa.
  • 15. pág. 15 Las clases Si nuestro estilo de programación no contempla, comparte, o lo que cada uno desee, el uso de clases y objetos, el escalafón acaba con los procedimientos y funciones, y estos se utilizan directamente dentro del programa. Ni uno es malo, ni el otro es perfecto, son sistemas, estilos y filosofías distintas, pero no se puede negar que el uso de clases es positivo dentro de la programación. En la actualidad el tipo de programación que se realiza es lo que denominamos, P. O. O., programación orientada a objetos. Dicho de otra forma, la materia explicada en temas anteriores, se colocan en el interior de lo que denominamos clases, con las que crearemos los objetos. Un objeto es un elemento derivado de una clase. La clase es un elemento estructural en un programa que dispone de En programación, un objeto es un ente que es capaz de realizar tareas y reaccionar ante aquello que tiene a su alrededor, ante los eventos que lo rodean, sea un partido de fútbol, una película, una sensación, y al que dotamos de una serie de características, alto, bajo, grande pequeño y que se definen cuando creamos el objeto y que podemos dejar que quien vaya a utilizarlo los pueda modificar, pero siempre bajo nuestro control, claro, para eso el objeto lo hemos creado nosotros. Como lo que no se hace en informática es crear varias veces lo mismo, las clases las escribimos una sola vez, y lo que se hace es crear algo así como un molde con el que luego vamos haciendo copias. Para profesionalizar la parrafada de antes, al molde se le llama clase, y a esa clase le dotamos de una fisonomía, característica, a los elementos que describen esa fisonomía, lo llamamos propiedades. Las tareas que queramos que sea capaz de realizar las denominamos métodos. Y a la capacidad de reaccionar a los estímulos exteriores lo llamamos eventos.
  • 16. pág. 16 Un ejemplo muy cercano, el ser humano, si deseamos crear una clase que imite al ser humano le podríamos crear una serie de características, propiedades, como Sexo Altura Color del pelo Color de los ojos Por lo tanto, las propiedades describen el objeto. Podemos crear características internas, que no se podrán utilizar fuera del objeto, y otras que serán externas y que sí que se verán en el objeto y podrán ser modificadas lo que permitirá crear objetos de distintos tipos. Estas características externas son las que de verdad denominamos propiedades, pues es posible que sean modificadas por quien utiliza la clase, quien de verdad genera después el objeto. Las características internas, por llamarlas así, son en realidad variables de la clase, las propiedades también lo son, pero se ven por parte del usuario.
  • 17. pág. 17 VB Studio Net 2005 Es un lenguaje de programación que actualmente respeta prácticamente todas las características de la P. O. O. Anteriormente la generación de un programa ejecutable con Basic generaba un ejecutable, actualmente genera un archivo intermedio que se ejecuta posteriormente por la máquina virtual de Studio Net. Esta característica, que hoy incorporan otros lenguajes de programación, convierte a VB en un lenguaje portable en el momento que exista una máquina virtual para otros sistemas operativos distintos de Windows. Características. Es fácil de utilizar, igualmente para personas que están iniciándose como para expertos en la materia. El entorno de diseño para un entorno gráfico es muy cómodo y fácil de utilizar. Es un lenguaje orientado a objetos. Existe un amplio espectro de objetos en el mercado para poderse integrar en el lenguaje. No dispone de punteros. Advertencias. El problema de las mayúsculas de otros lenguajes aquí no se da, e incluso el editor de texto de VB unifica el nombre de las variables cuando las escribes de otra forma. Entorno utilizado. En esta documentación se ha utilizado la versión y entorno de programación de Studio Net 2005. En el siguiente link se puede acceder a información y descarga del producto gratuito si después deseas registrarte. La labor de programación es una tarea más, como otro de los trabajos que hay en la vida, el problema es cuando el trabajo se hace a gusto o no.
  • 18. pág. 18 Por lo tanto, a la hora de realizar cualquier trabajo hay que intentar disponer de las mejores situaciones posibles. EL entorno de Vb está preparado para facilitar toda una serie de tareas del día a día en la escritura de un programa. • Depuración. • Organización. • Ayudas • Corrector sintáctico • Compilación. • El entorno en si es muy amplio y explicarlo en su totalidad no es el motivo de esta documentación, vamos a abordar solamente la parte que nos interesa para esta fase de iniciación a la programación con este lenguaje.
  • 19. pág. 19 Funciones Visto y nombrado los elementos de un programa y sus estructuras, así como la forma de representar las soluciones y el uso de procedimientos, ahora hemos de profundizar sobre el uso de las funciones, el paso de parámetros y sus características. Creación. Hay una máxima que sí podría servir, y es que en el momento en que en el programa aparece código repetido, ya podemos empezar a pensar en la creación de una función o un procedimiento, según corresponda. También hay que tener en cuenta que la llamada a una función o un procedimiento consume recursos y tiempo de ejecución, pero en la actualidad se piensa poco en esos parámetros. Resolver de forma recursiva la factorial de un número es “bonito”, pero ¿y si el número es algo grande? Con un procedimiento resuelvo el programa y voy creando la estructura del mismo. Una función es un “trozo” de código especializado en hacer algo en concreto, por ejemplo, el ejercicio del área de un triángulo o de una circunferencia, se resolvió mediante un procedimiento, pero su solución correcta es la de una función, ¿por qué?, pues normalmente el área del triángulo es un dato que voy a calcular y que puede aparecer hasta en una expresión habitualmente. Si utilizo procedimientos, la solución puede ser algo así: Altura = 5 Base = 10 AreaTriangulo (Base, Altura, Área) Escribe “El área del triángulo es “, Area Esta es la solución con un procedimiento, ejecutamos el procedimiento y nos devuelve un dato llamado Area, que lo usamos en el texto de informe al usuario. Escribe “El área del triángulo es “, AreaTriangulo (Base, Altura)
  • 20. pág. 20 Como podemos ver con una función es mucho más “elegante” el código resultante. ¿Cuándo escribir una función o un procedimiento?, en el ejemplo podemos ver un criterio. Un procedimiento es una línea de mi programa, lo llamo y se ejecuta, resuelvo el problema estructural del programa con ellos. Una función forma parte de una instrucción, una función siempre devuelve un dato, un procedimiento no tiene por qué hacerlo. Ejemplo: En el caso de una función no nos sirve el criterio de que un procedimiento crezca en demasía, para crear una función, hay una diferencia de base entre un procedimiento y una función, y es que un procedimiento puede formar, o forma parte, de la resolución lógica de un programa, parte de su estructura, pero una función es una parte de nuestro programa que está especializado en algo muy concreto y que solo sabe resolver ese tema, y no formará parte de la estructura del programa, colabora en su solución. Evidentemente que sí convierte en más legible un programa, el uso de una función, pero no es la forma de resolver un programa, por supuesto que su uso es necesario en programación, pero hay que ver ese matiz entre ambas herramientas de programación.
  • 21. pág. 21 ¿Funciones o Procedimientos?? En el peor de los casos, todo lo que se puede escribir en un procedimiento se puede resolver también con una función, o al revés, ¡técnicamente!, en la realidad no debe abordarse así, porque en algunas ocasiones para hacerlo, hay que cometer alguna incorrección. Una función devuelve siempre un único dato, un procedimiento puede devolver uno o varios, o ninguno, pero es que, si se usan adecuadamente las funciones, con un único dato es suficiente. Tipos de la función. Hemos dicho que una función devuelve un dato, por lo tanto, si devuelve un dato, ese dato debe de ser de un tipo, de ahí que la función cuando se crea hay que declarar de que tipo es, y ese tipo es el del dato devuelto. Otra forma de clasificar las funciones es dividirlas por las propias del lenguaje y las que diseñemos nosotros, todos los lenguajes de programación disponen de funciones prescritas en el mismo. En el ejemplo vemos una función escrita por nosotros, y vemos como en su interior utilizamos funciones del lenguaje en el que se escribe esa función. La función del ejemplo es del tipo alfanumérico porque lo que devuelve es un dato alfanumérico. Por lo tanto, tendremos tantos tipos de funciones como tipos de datos disponga el lenguaje que estamos utilizando.
  • 22. pág. 22 Las clases en el código En una clase tenemos que escribir código con el fin de alcanzar los objetivos para la cual se diseña la misma. Si no existiera código en la misma, la clase puede seguir existiendo, pero lo único que podríamos hacer con ella es crear una estructura de datos, más o menos compleja. Código en la clase. El código en la clase se distribuye entre las propiedades, los procedimientos, las funciones, los eventos y los métodos. En las propiedades, para realizar el control y la validación de los datos que se asignan a las variables internas de la clase. En los métodos, porque desde ahí se distribuirá la ejecución de los procedimientos y funciones de la clase en función del diseño del mismo. En los eventos también dispondremos de código, para que de esa forma se pueda reaccionar en función de lo que sucede a su alrededor. Las variables, propiedades, los datos, almacenan la información que se utiliza en la clase para poder realizar las acciones para las cuales se escriben los métodos de la misma.
  • 23. pág. 23 Las variables disponían de dos posibilidades, podían ser internas y externas. Con el código sucede lo mismo, una clase se diseña para resolver un problema. Ese problema, para resolverlo se descompone en una serie de acciones de menor entidad, y en su solución se podrán utilizar acciones de dos tipos: • Externas. • Internas. Las acciones externas serán las que ofreceremos al usuario para que pueda interactuar con el objeto que se deriva de la clase. Las acciones internas son las que creamos nosotros de forma interna en nuestra clase para crear el código que resuelva el problema para el cual se diseña la clase. Explicado en sentido inverso, los métodos son la parte de código que se ve en una clase. Los métodos se escriben utilizando procedimientos o funciones, en función de nuestras necesidades. En la clase existen otros procedimientos y funciones, pero no son públicos, o no son métodos, y no se pueden utilizar por el usuario de la clase, del objeto que se deriva de ella. Una clase al fin y al cabo es un programa más, no hay diferencias en cuanto a la solución de los problemas, pero el matiz es que un programa se inicia a instancia del usuario, y una clase se inicia a solicitud de una instrucción desde el interior de un programa. En las Propiedades. Porque en las propiedades en muchas ocasiones hay que filtrar los valores que recibimos, con el fin de que sean coherentes con el conjunto de datos de la clase, y evitar que se asignen a las variables internas de la clase. En las Funciones, Procedimientos. Para desarrollar una clase es necesario escribir un “pequeño programa”, y ese pequeño programa se compone de una parte pública que son los métodos
  • 24. pág. 24 Estos métodos, podemos decir que son el punto de inicio de una acción, una acción que inicia el programa cuando reclama su presencia, es decir podríamos decir que una clase tiene un sin fin de puntos de inicio, cada uno de los métodos, si descartamos el código de las propiedades -, por lo tanto, como deseamos crear un código sencillo, estructurado y ordenado, es necesario que el código en el método sea breve. Para ello el código de un método se compone de llamadas a procedimientos y funciones que se llaman desde el mismo. Además de esa forma un procedimiento puede compartirse por varios métodos, lo que reduce el volumen de código de la clase. Así que, en el interior de la clase escribiremos todos los procedimientos y funciones que se necesiten para poder desarrollar todas las acciones que sean necesarias en los métodos. En los Métodos. En los métodos, porque los procedimientos no se activan solos, y de alguna manera han de activarse, y eso se consigue mediante la ejecución ordenada del código que hay en cada uno de los métodos. Hemos dicho que cada método es como un punto de inicio de un programa, pues en ese punto es donde empieza la acción, y ahí es donde a medida que se van ejecutando las líneas de código, se van escribiendo las llamadas a cada procedimiento. En el ejemplo de clase que sigue, se ha creado un método que visualiza los números pares entre dos valores determinados. En ella vemos como el método llama a una función que devolverá cierto o falso en función de que el número sea par o no. Clase Ejemplo: Funcion EsPar (Numero como Entera) Como Booleana EsPar = Numero Modulo 2 = 0 Fin de Funcion Método NumerosPares (Inicio como entera, Final Como entera)
  • 25. pág. 25 Crear X Entera = 0 Si Inicio < Final Entonces X = Inicio Mientras X <> Final Si EsPar(X) Entonces Escribir (“El número “, X, “es par”) Fin de Condicion X = X + 1 Fin Mientras Fin Condicion Fin Metodo Fin Clase Inicio Programa Crear Objeto como Ejemplo Objeto.NumerosPares(10,50) Fin programa
  • 26. pág. 26 Clases en VB Las clases son el molde a partir del cual obtenemos el objeto en nuestro programa, y el objeto es en realidad el que tiene el protagonismo de la acción, la clase es solo el molde. Vamos a ver cómo aplicar los conceptos vistos con anterioridad en VB. Lo ideal es tener un módulo con las o la clase en nuestro proyecto, de forma que estén agrupadas de forma práctica para nosotros. Elegimos Archivo à Nuevo proyecto y seleccionamos aplicación de consola. Después Proyecto à Agregar Clase y seleccionamos el icono de clase como vemos en la imagen. El objeto. Primero creemos el objeto. Nuestra clase ahora es así. Public Class Ejemplo End Class Ahora creamos un objeto de esa clase. Dim Objeto As Ejemplo Si ahora escribimos en nuestro programa Objeto.
  • 27. pág. 27 Si vemos la imagen, ese es el resultado, son los métodos estándar de cualquier objeto. Pero como no hemos escrito nada nuestro, no vemos nada. Los datos. Hemos comentado que eran de dos tipos • Internos. • Externos. Veamos como definir los datos internos en la clase, es decir los que no se ven en el exterior. Public Class Ejemplo Dim DatoInterno As String Private OtroInterno As Integer End Class Si ahora escribimos en nuestro programa Dim Objeto as Ejemplo Objeto. Si vemos la imagen, ese es el resultado, son los métodos estándar de cualquier objeto.
  • 28. pág. 28 Utilizar y definir datos Hasta ahora lo que hemos estado viendo han sido distintas herramientas para el desarrollo de un programa. • Estructuras básicas de programación. • Secuencial • Repetitiva • Alternativa. • Funciones. • Procedimientos. • Clases. Hemos dejado de lado la parte de los datos. El apartado de datos abarca las estructuras, las formas de almacenamiento y de acceso. Pero es imprescindible el conocer las distintas formas de utilizar datos en un programa para obtener el mejor rendimiento del mismo. Su gestión en memoria se realiza mediante unas estructuras denominadas: • Variables. • Array. • Listas. Y la gestión de los datos cuando estos se almacenan en un soporte se realiza mediante el uso de archivos. La información en un programa puede ser de muchos tipos y desde distintos puntos de vista. La información, los datos, se utilizan en un programa en variables, y ya hemos visto anteriormente que las variables pueden ser • Numéricos. • Alfanuméricos. En un programa se utiliza información para: La ubicación en el ordenador de la instalación del programa. La configuración de la interface con el usuario.
  • 29. pág. 29 Los datos que el usuario genera como consecuencia de la utilización de un paquete en cuestión, contabilidad, nominas, etc... Esta información puede ser almacenada en distintos tipos de soporte • Disquetes, • Disco duro, • Memorias de distinto tipo. Los soportes donde se almacenan los datos pueden ser o no direccionables. Los soportes antes mencionados son direccionables. Una cinta en cualquiera de sus distintas versiones no lo es. Las estructuras de datos a utilizar en la gestión de los datos pueden ser de tipo Estático, no pueden crecer o disminuir de tamaño. Dinámico, pueden aumentar o disminuir de tamaño. Los datos a utilizar en un programa pueden ser Volátiles, desaparecen al finalizar el programa. Duraderos, se conservan en algún tipo de soporte y pueden ser recuperados en cualquier momento o por otro programa. Las estructuras que se utilizan en la grabación de los datos en un soporte pueden ser Archivos direccionables, acceso aleatorio o indexado. Archivos no direccionables, acceso secuencial. Seguro que aun podríamos buscar más clasificaciones o formas de agrupar información, pero con esto es suficiente. Como lo que aquí nos interesa es la parte útil para hacer un programa, nos limitaremos a: • Tipos de datos. Estructura de datos • Tipos de usuario. Almacenamiento de datos
  • 30. pág. 30 Enumeraciones Ver el uso de las enumeraciones dentro de un programa y sus ventajas. Las enumeraciones es una gran comodidad dentro de la creación de un programa. Normalmente cuando en un programa tenemos que crear una distinción entre varios tipos de datos, optamos por asignar valores numéricos desde cero o uno hasta el último de los tipos de datos que vayamos a utilizar. El inconveniente es que hay que estar pendiente continuamente, de la documentación del mismo, de su correcta utilización. Con las enumeraciones ese problema desaparece. ¿Qué son? Como hemos comentado en el programa optamos habitualmente por asignar valores desde cero hasta un valor determinado para separar cada uno de los posibles tipos de datos, o circunstancias que se nos puedan presentar. Por ejemplo, a la variable Curso, le asignamos los siguientes posibles valores. • Primero • Segundo • Tercero Lo cual implica que en el programa crearemos el siguiente código Si Curso = 1 Entonces. Si Curso = 2 Entonces. Y así sucesivamente Una enumeración es exactamente lo mismo, pero con nombre, en lugar de lo visto anteriormente, haríamos lo siguiente. Enumeración Cursos Primero = 1 Segundo = 2 Tercero = 3
  • 31. pág. 31 Fin de enumeración Crear Curso del tipo Cursos Lo cual permite después escribir lo siguiente Si Curso = Cursos. Primero Entonces ... Si Curso = Cursos. Segundo Entonces ... Que resulta mucho más cómodo, y sobre todo seguro al evitar errores de uso del valor adecuado en el código, ya que todos sus valores posibles se suponen declarados. En la ampliación de VB, se ilustra de forma más clara el uso de las enumeraciones.
  • 32. pág. 32 Enumeraciones en VB El uso de las enumeraciones en VB está muy logrado, pues el entorno de programación las integra de una manera muy cómoda para el programador, utilizándola como ayuda en las llamadas a los procedimientos y funciones. La sintaxis a usar es la que vemos a continuación Enum Monedas Euro = 1 Dolar = 2 Libra = 3 Yen = 4 End Enum Enum Monedas Euro Dolar Libra Yen End Enum En ambos casos la sintaxis es correcta, la diferencia es que en el primer caso forzamos los valores, euro sería uno, y en el segundo sería cero, que es el valor que VB le da por defecto. Es la definición del nombre de la enumeración. Enum Monedas
  • 33. pág. 33 Euro = 1 Dolar = 2 Libra = 3 Yen = 4 Es el contenido. End Enum Es el final de la descripción de los elementos de la enumeración. Una de las utilizaciones se refleja en la imagen: Podemos observar cómo se introduce un dato en la inicialización del objeto, y luego al llegar al campo de la enumeración, automáticamente aparece el contenido de la enumeración, ya que el dato que ahí se espera es del tipo Monedas, y solo hay que elegir una de las opciones disponibles, que además estamos viendo. Public Function Convertir (ByVal Cual As Monedas) As Double Select Case Moneda Case Monedas.Euro Select Case Cual Case Monedas.Dolar Convertir = Import * 1.22 Case Monedas. Libra Case Monedas. Yen
  • 34. pág. 34 End Select Case Monedas.Dolar Case Monedas.Libra Case Monedas.yen End Select End Function Lo mismo sucede con la escritura de un Select Case, por ejemplo, en la que en el momento de escribir la palabra case se despliega automáticamente la enumeración para poder ver los valores disponibles y su valor. Su uso en el principal quedaría: Module Module1 Sub Main () Dim Importe As Double = Console.ReadLine Dim Objeto As Ejemplos = New Ejemplos (Importe, Ejemplos.Monedas. Euro) Console.WriteLine(Objeto.Convertir(Ejemplos. Monedas.Dolar)) Console.ReadLine() End Sub End Module
  • 35. pág. 35 Programación en un entorno gráfico Los conceptos de programación pueden dividirse en tres grandes apartados. Las estructuras de programación. Las estructuras de datos. El entorno en el que se ejecutará el programa. Las estructuras de programación son los elementos comentados anteriormente. Variables Estructuras repetitivas Estructuras condicionales Estructuras secuenciales Procedimientos Funciones Clases. Las estructuras de datos son Tipos de usuario Arrays Archivos Bases de datos El entorno de ejecución del programa podemos distinguir tres apartados Los “programas”, en realidad clases, rutinas o librerías, como deseemos llamarlos, que se ejecutarán como parte de un programa y que posiblemente no incorporen ningún elemento interactivo con el usuario. Los programas que se ejecutan en un entorno de consola. Los programas que se ejecutan en un entorno gráfico. El entorno de una clase lo hemos visto anteriormente en modo reducido, pero se han dejado sentadas las formas y sus elementos. El entorno en el modo consola es el que se ha estado utilizando en todos los ejemplos de los temas que se han visto con anterioridad. El entorno gráfico es el que vamos a ver en los próximos temas. Este entorno gráfico cambiará de un lenguaje a otro, pero en definitivas cuentas se compone de una serie de elementos gráficos que poseen unas características tales que nos permiten crear un programa en el cual podamos solicitar y mostrar datos al usuario de una manera estética más agradable e intuitiva que lo que permite el modo consola.
  • 36. pág. 36 Estos objetos dado que tienen que mostrarse con una serie de características que permitirá su forma agradable a la vista, disponen de una serie de propiedades que permite que se le pueda asignar colores, tamaños, posición adecuados dentro del componente o ventana en el que lo mostraremos al usuario. A su vez como necesitamos saber cuáles son las intenciones de quien está usando el programa con respecto al objeto en cuestión, dichos objetos disponen de una serie de eventos que nos permite saber si el usuario usa el teclado, el ratón, o algún otro evento que pueda ser necesario para dicho objeto. Además, también podemos necesitar que dichos objetos nos faciliten algún tipo de acción propia del mismo, por lo que en la mayoría de los casos estos objetos incorporan los métodos adecuados al destino para el cual están diseñados. Estos objetos pueden agruparse en los que podríamos llamar básicos, y especializados. Los elementos básicos son los que en un principio se crearon en las primeras versiones de programación para un entorno gráfico, básicamente son los que se pueden ver en las imágenes del entorno de VB y de NetBeans que se ven en el documento. Después se han ido creando una serie de elementos más especializados y que han facilitado en gran medida la creación de nuevos y mejores programas.
  • 37. pág. 37 Son objetos que podrían ser prescindibles en algunos casos, pero que sin embargo su aparición se agradece en gran medida en la creación de nuevos programas. Por otro lado, existe la posibilidad de crear nuestros propios objetos para el uso en nuestros programas.
  • 38. pág. 38 ¿Cómo se hace un programa? Un programa se compone de varios elementos: El que se comunica con el usuario, la interfaz. El que recibe esa información y la trata en función del destino de la misma, y de sus características. El que se encarga, si procede, de grabar y recuperar información de un soporte de datos, dígase sistema clásico de archivos, base de datos, etc. Recordemos los objetos vistos. Mostrar información. Etiquetas Grupos de objetos Visualizar imágenes Introducción de datos. Cajas de texto Grid, rejillas Ordenes. Botones para activar la acción a realizar por el usuario. Opciones. Para seleccionar una opción entre varias Activar una opción en concreto Selección de datos. Cajas desplegables Listas de datos Especializados.
  • 39. pág. 39 Impresión Conexión con bases de datos Menús y barras Lo que hay que hacer ahora es pensar como queremos que sea nuestra ventana y pensar cuales de estos objetos vamos a utilizar. La fase de análisis y de diseño nunca es un tiempo perdido, suele ser al revés, una inversión en tiempo. Siempre es interesante dedicar un tiempo adecuado hasta obtener ese diseño que nos gusta, de forma que podamos a partir de él obtener nuevos programas o simplemente ya no tengamos que pensar en cómo hacerlos y podamos progresar más rápidamente en su creación. Tenemos que pensar que en una aplicación siempre vamos a tener distintos tipos de programas y debemos buscar una forma de diseño que nos permita crear interfaces lo más homogéneas y agradables posibles para facilitar su posterior utilización y aprendizaje. Diseñar la interfaz. Primer paso es pensar que tipo de datos vamos a utilizar en el mismo, pues de ellos va a depender el tipo de objetos que vamos a utilizar. Normalmente se pueden abordar los diseños de varias formas, por lo tanto, no hemos de conformarnos
  • 40. pág. 40 con el primero, podemos intentar otros y elegir el que más nos guste. La ventana anterior está creada con los objetos sin asignarle estilo, es decir colores, fuentes, etc. Después hay que darle forma con un estilo que nos resulte agradable. Hay que cuidar los espacios, la distribución, los colores a utilizar y cómo será el texto a utilizar, tamaño y color. Las ayudas que vamos a incorporar y su ubicación. La estética es muy importante, de nuestros programas lo primero que se ve es la parte visual, por lo tanto, hay que cuidar esa primera impresión. También se puede, o se debe, crear sistemas que permitan al usuario personalizar la aplicación. Cuando tengamos acabada la parte de diseño de la interfaz, tendremos un espacio ocupado en el monitor, el que ocupa la ventana, si este tamaño a una resolución habitual es suficiente no será necesario que el usuario maximice la ventana, por lo tanto, podemos evitar poniendo a false la propiedad maximizaba, el que se use ese botón de la ventana, lo cual evitará que se destroce el diseño que hemos realizado. También podemos evitar que modifiquen el tamaño de la ventana arrastrando desde las esquinas, asignando a la ventana en la propiedad FormBorderStyle el valor de fixedsingle. Y por último para que la ventana quede centrada en la pantalla o en la ventana que la contenga del menú, podemos asignar a la propiedad StartPosition el valor de centerscreen. De esta forma conseguimos que no se pueda cambiar el diseño realizado por nosotros. Pero no hay que olvidar que también se tiene que cuidar la parte ejecutiva.