Bitácora del desarrollo de mi clase de Visual Basic, en el que ´publicaré el material de la clase y recibiré comentarios y sugerencias de mis alumnos.

Tuesday, January 23, 2007

1.3.3. Diagramas de flujo


Los diagramas de flujo representan la forma más tradicional para especificar los detalles algorítmicos de un proceso. Se utilizan principalmente en programación, economía y procesos industriales; estos diagramas utilizan una serie de símbolos con significados especiales. Son la representación gráfica de los pasos de un proceso, que se realiza para entender mejor al mismo. Son modelos tecnológicos utilizados para comprender los rudimentos de la programación lineal.

Otra definición del diagrama de flujo es la siguiente:
"Es un esquema para representar gráficamente un algoritmo. Se basan en la utilización de diversos símbolos para representar operaciones específicas. Se les llama diagramas de flujo porque los símbolos utilizados se conectan por medio de flechas para indicar la secuencia de operación. Para hacer comprensibles los diagramas a todas las personas, los símbolos se someten a una normalización; es decir, se hicieron símbolos casi universales, ya que, en un principio cada usuario podría tener sus propios símbolos para representar sus procesos en forma de Diagrama de Flujo. Esto trajo como consecuencia que sólo aquel que conocía sus símbolos, los podía interpretar. La simbología utilizada para la elaboración de diagramas de flujo es variable y debe ajustarse a un patrón definido previamente."

Estandarizados según ISO 5807
No es indispensable usar un tipo especial de símbolos para crear un diagrama de flujo, pero existen algunos ampliamente utilizados por lo que es adecuado conocerlos y utilizarlos, ampliando así las posibilidades de crear un diagrama más claro y comprensible para crear un proceso lógico y con opciones múltiples adecuadas.

Reglas
De acuerdo al estándar ISO, los símbolos e incluso las flechas deben de tener ciertas características para estar dentro del estándar.

 Existe siempre un camino que permite llegar a una solución

 Existe un único inicio del proceso

 Existe un único punto de fin para el proceso de flujo, salvo del rombo que indica una comparación con dos caminos posibles y además una gran ayuda

 Evite sumideros infinitos, burbujas que tienen entradas pero no salidas.

 Evite las burbujas de generación espontánea, que tienen salidas sin tener entradas, porque son sumamente sospechosas y generalmente incorrectas.

 Tenga cuidado con los flujos y procesos no etiquetados. Esto suele ser un indicio de falta de esmero, pero puede esconder un error aún más grave: a veces el analista no etiqueta un flujo o un proceso porque simplemente no se le ocurre algún nombre razonable.



 

1.3.2. Definición de pseudocódigo


Un pseudocódigo o falso lenguaje, es una serie de normas léxicas y gramaticales parecidas a la mayoría de los lenguajes de programación, pero sin llegar a la rigidez de sintaxis de estos ni a la fluidez del lenguaje coloquial. Esto permite codificar un programa con mayor agilidad que en cualquier lenguaje de programación, con la misma validez semántica, normalmente se utiliza en las fases de análisis o diseño de Software, o en el estudio de un algoritmo. Forma parte de las distintas herramientas de la ingeniería de software.

No hay ningún compilador o intérprete de pseudocódigo informático, y por tanto no puede ser ejecutado en un ordenador, pero las similitudes con la mayoría de los lenguajes informáticos lo hacen fácilmente convertible.

El pseudocódigo describe un algoritmo utilizando una mezcla de frases en lenguaje común, instrucciones de programación y palabras clave que definen las estructuras básicas. Su objetivo es permitir que el programador se centre en los aspectos lógicos de la solución, evitando las reglas de sintaxis de los lenguajes de programación convencionales.

No siendo el pseudocódigo un lenguaje formal, varían de un programador a otro, es decir, no hay una estructura semántica ni arquitectura estándar. Es una herramienta ágil para el estudio y diseño de aplicaciones, veamos un ejemplo, que podríamos definir como: lenguaje imperativo, de tercera generación, según el método de programación estructurada.

Ejemplo de pseudocódico
Se presenta el algoritmo para encontrar el máximo de un conjunto de enteros positivos. Se basa en recorrer una vez cada uno de los elementos, comparándolo con un valor concreto (el máximo entero encontrado hasta ahora). En el caso de que el elemento actual sea mayor que el máximo, se le asigna su valor al máximo.

El algoritmo escrito de una manera más formal, esto es, en pseudocódigo tendría el siguiente aspecto:

ALGORITMO Maximo
ENTRADAS: Un conjunto no vacío de enteros C.
SALIDAS: El mayor número en el conjunto C.

maximo ← -∞
PARA CADA elemento EN el conjunto C, HACER
SI valor_del_elemento > maximo, HACER
maximo ← valor_del_elemento
DEVUELVE maximo

Sobre la notación:
"←" representa la asignación entre dos objetos. Por ejemplo, maximo ← valor_del_elemento significa que el objeto maximo cambia su valor por el de valor_del_elemento.

"DEVUELVE" termina el algoritmo y devuelve el valor a su derecha (en este caso maximo).



1.3.1. Definición de algoritmo

 
Un algoritmo es un conjunto finito de instrucciones o pasos que sirven para ejecutar una tarea y/o resolver un problema. De un modo más formal, un algoritmo es una secuencia finita de operaciones realizables, no ambiguas, cuya ejecución da una solución de un problema en un tiempo finito.

El término algoritmo no está exclusivamente relacionado con la matemática, ciencias de la computación o informática. En realidad, en la vida cotidiana empleamos algoritmos en multitud de ocasiones para resolver diversos problemas. Algunos ejemplos son el uso de una lavadora (se siguen las instrucciones). También existen ejemplos de índole matemática, como el algoritmo de la división para calcular el cociente de dos números, el algoritmo de Euclides para calcular el máximo común divisor de dos enteros positivos, o incluso el método de Gauss para resolver Sistema lineal de ecuaciones.

Concepto de algoritmo
La definición de algoritmo aún no cuenta con la formalidad científica que podría ser ideal para la matemática y las ciencias de la computación (donde los algoritmos son esenciales pero a falta de formalidad no pueden incluirse fácilmente en las demostraciones formales de estas ciencias). Sin embargo, si existe un concepto intuitivo de algoritmo.

Un algoritmo es un sistema por el cual se llega a una solución, teniendo en cuenta que debe ser definido, finito y preciso. Por preciso entendemos que cada paso a seguir tiene un orden; finito implica que tiene un determinado número de pasos, o sea, que tiene un fin; y definido, que si se sigue el mismo proceso más de una vez llegaremos al mismo resultado.

Otras definiciones de algoritmo
Secuencia de pasos computacionales que transforman una entrada en una salida (efecto caja negra) Herramienta computacional para resolver un determinado problema, en el cual, debe estar bien especificada la relación entre la entrada y la salida. El algoritmo materializa (efectúa) dicha relación. Un algoritmo es un resolvedor de un problema determinado.

Para solucionar computacionalmente un problema debemos:
1. Seleccionar un modelo matemático – computacional adecuado para el problema (representación del modelo)

2. Concebir con respecto a dicho modelo un algoritmo que dé solución al algoritmo (diseño del algoritmo)

3. Programar el algoritmo en algún lenguaje de programación y ejecutar el programa en una computadora (programación del algoritmo)

Estructura Básica:
a) inicio
b) variables(operaciones básicas)
c) ingresar datos
d) proceso de operaciones
e) mostrar resultados
f) fin



1.2. Características generales de VB


Visual-Basic es una herramienta de diseño de aplicaciones para Windows, en la que estas se desarrollan en una gran parte a partir del diseño de una interface gráfica. En una aplicación Visual Basic, el programa está formado por una parte de código puro, y otras partes asociadas a los objetos que forman la interface gráfica.

Es por tanto un termino medio entre la programación tradicional, formada por una sucesión lineal de código estructurado, y la programación orientada a objetos. Combina ambas tendencias. Ya que no podemos decir que VB pertenezca por completo a uno de esos dos tipos de programación, debemos inventar una palabra que la defina : PROGRAMACION VISUAL.

La creación de un programa bajo Visual Basic lleva los siguientes pasos:

- Análisis . Es el studio de las necesidades que han dado origen a la creación de ese programa. Es lo que se se llama Análisis de la aplicación. Es la primera fase que debe tener siempre un programa y es tambien la más olvidada entre los programadores noveles. Una aplicación no se inicia con el teclado, sino sobre un papel.

- Creación de un interface de usuario. Este interface será la principal vía de comunicación hombre máquina, tanto para salida de datos como para entrada. Será necesario partir de una o varias ventanas - Formularios - a las que le iremos añadiendo los controles necesarios.

- Definición de las propiedades de los controles – Se dará la forma, posición, y todas las características necesarias a los controles que hayamos colocado en ese formulario. Estas propiedades determinarán la forma estática de los controles, es decir, como son los controles y para qué sirven.

- Generación del código asociado a los eventos que ocurran a estos controles. A la respuesta a estos eventos (click, doble click, una tecla pulsada, etc.) le llamamos Procedimiento, y deberá generarse de acuerdo a las necesidades del programa.

- Generación del código del programa. Un programa puede hacerse solamente con la programación de los distintos procedimientos que acompañan a cada objeto. Sin embargo, VB ofrece la posibilidad de establecer un código de programa separado de estos eventos. Este código puede introducirse en unos bloques llamados Módulos, en otros bloques llamados Funciones, y otros llamados Procedimientos. Estos Procedimientos no responden a un evento acaecido a un control o formulario, sino que responden a un evento producido durante la ejecución del programa.

No es necesario entender de momento lo anterior. Visual Basic introduce un concepto nuevo de programación, y es necesario cambiar hasta el argot del programador. Posiblemente se le habrán acumulado demasiados términos de una sola vez. Es normal. A poco que siga leyendo verá las cosas mas claras cuando se explique una por una.




1.1. Antecedentes históricos de Visual Basic


El lenguaje de programación BASIC (Beginner's All purpose Symbolic Instruction Code ) nació en el año 1964 como una herramienta destinado a principiantes, buscando una forma sencilla de realizar programas, empleando un lenguaje casi igual al usado en la vida ordinaria ( en inglés), y con instrucciones muy sencillas y escasas. Teniendo en cuenta el año de su nacimiento, este lenguaje cubría casi todas las necesidades para la ejecución de programas. Téngase en cuenta que las máquinas existentes en aquella época estaban estrenando los transistores como elementos de conmutación, los ciclos de trabajo llegaban a la impensable cifra de 10.000 por segundo y la memoria no pasaba de unos pocos k´s en toroides de ferrita.

Los autores fueron los científicos John G. Kemeny (Budapest, 1926 – USA 1992) y Thomas E. Kurtz (Illinois 1928) Su trabajo original se llamó True BASIC.

La evolución del BASIC por los años 70 fue escasa, dado el auge que tomaron en aquella época lenguajes de alto nivel como el FORTRAN y el COBOL. En 1978 se definió una norma para unificar los Basics existentes creándose la normativa BASIC STANDARD

Con la aparición de los primeros ordenadores personales, dedicados comercialmente al usuario particular, allá por la primera mitad de los ochenta, el BASIC resurgió como lenguaje de programación pensado para principiantes, y muchos de estos pequeños ordenadores domésticos lo usaban como único sistema operativo (Sinclair, Spectrum, Amstrad)

Con la popularización del PC, salieron varias versiones del BASIC que funcionaban en este tipo de ordenadores (Versiones BASICA, GW-BASIC), pero todas estas versiones del BASIC no hicieron otra cosa que terminar de rematar este lenguaje. Los programadores profesionales no llegaron a utilizarlo, habida cuenta de las desventajas de este lenguaje respecto a otras herramientas (PASCAL, C, CLIPPER). El BASIC con estas versiones para PC llegó incluso a perder crédito entre los profesionales de la informática.

Las razones para ello eran obvias:

- No era un lenguaje estructurado.

- No existían herramientas de compilación fiables.

- No disponía de herramientas de intercambio de información.

- No tenía librerías.

- No se podía acceder al interior de la máquina.

- Un largo etcétera de desventajas respecto a otros lenguajes de programación.

Tal fue ese abandono por parte de los usuarios, que la aparición del Quick-BASIC de Microsoft, una versión ya potente del BASIC, que corregía casi todos los defectos de las versiones pasó prácticamente inadvertida, a no ser porque las últimas versiones del sistema operativo MS-DOS incluían una versión de Quick-BASIC algo recortada (Q-Basic) como un producto mas dentro de la amplia gama de ficheros ejecutables que acompañan al sistema operativo, y aprovecha de él el editor de textos (Cada vez que se llama al EDIT estamos corriendo el editor del Q-Basic).

Esta versión del popular BASIC ya es un lenguaje estructurado, lo que permite crear programas modularmente, mediante subrutinas y módulos, capaz de crear programas ya competitivos con otros lenguajes de alto nivel. Sin embargo llegaba tarde, pues los entornos MS-DOS estaban ya superados por el entorno gráfico Windows.

Sin embargo algo había en el BASIC que tentaba a superarse: su gran sencillez de manejo. Si a esto se le añade el entorno gráfico Windows, el aprovechamiento al máximo de las posibilidades de Windows en cuanto a intercambio de información, de sus librerías, de sus drivers y controladores, manejo de bases de datos, etc. el producto resultante puede ser algo que satisfaga todas las necesidades de programación en el entorno Windows. La suma de todas estas cosas es VISUAL BASIC. Esta herramienta conserva del BASIC de los años 80 únicamente su nombre y su sencillez, y tras su lanzamiento al mercado, la aceptación a nivel profesional hizo borrar por fin el "mal nombre" asociado a la palabra BASIC.

Actualmente se está comercializando la versión 6.0 de este producto. Desde su salida al mercado, cada versión supera y mejora la anterior. Dados los buenos resultados a nivel profesional de este producto, y el apoyo prestado por el fabricante para la formación de programadores, Visual-Basic se ha convertido en la primera herramienta de desarrollo de aplicaciones en entorno Windows.

Es obligado decir sin embargo, que sigue siendo BASIC. No se pueden comparar sus prestaciones con otros lenguajes cuando deseamos llegar al fondo de la máquina y controlar uno a uno sus registros. No es ese el fin perseguido con VB y si es necesario llegar a esas precisiones será necesario utilizar otro lenguaje que permita bajar el nivel de programación. (Visual-C). o realizar librerías (DLLs) que lo hagan. En la mayor parte de las aplicaciones, las herramientas aportadas por VB son mas que suficiente para lograr un programa fácil de realizar y de altas prestaciones.



Sunday, January 14, 2007

Temario de la Clase de Visual Basic

Temario de Visual Basic Ver 6.0


1. Introducción
1.1. Antecedentes históricos de Visual Basic
1.2. Características generales de VB
1.3. Algoritmos
1.3.1. Definición de algoritmo
1.3.2. Definición de pseudocódigo
1.3.3. Diagramas de flujo

2. Aspectos básicos de Visual Basic
2.1. Definición y creación de un Proyecto en VB
2.2. Formularios
2.2.1. Propiedades de un formulario
2.2.2. Eventos y métodos
2.3. Caja de herramientas (controles)
2.3.1. Incluir objetos en un formulario
2.3.2. Revisar las propiedades de los objetos
2.4. Variables
2.4.1. Definición y entorno
2.4.2. Tipos de variables
2.4.3. Ámbito de las variables
2.4.4. Tipos de declaración de variables
2.5. Arreglos y estructuras
2.5.1. Vectores y matrices
2.5.2. Registro o estructuras

3. Cajas de diálogo
3.1. Cajas de diálogo modales y no modales
3.2. Cajas de diálogo predefinidas
3.2.1. Requerir datos con InputBox
3.2.2. Visualizar datos con MsgBox
3.3. Casillas de verificación
3.4. Botón de opción
3.5. Marcos
3.5.1. Agrupando botones de opción
3.6. Menus
3.7. Listas y listas desplegables
3.8. Barras de desplazamiento

4. Ciclos y sentencias lógicas (sentencias de control del flujo)
4.1. Operadores aritméticos y lógicos
4.2. Sentencias de selección
4.2.1. Sentencia If... Then... Else
4.2.2. Sentencia Select Case
4.3. Sentencias de repetición (ciclos)
4.3.1. Sentencia For... Next
4.3.2. Sentencia Do... Loop
4.4. Procedimientos y funciones

5. Animaciones y métodos gráficos
5.1. Animación de imágenes
5.1.1. Animación por secuencia de imágenes
5.1.2. Animación moviendo imágenes
5.2. Métodos gráficos
5.2.1. Método Line
5.2.2. Método Circle
5.2.3. Método Cls
5.2.4. Método Point
5.2.5. Método Pset
5.3. Controles ActiveX
5.3.1. Control lista de imágenes
5.3.2. Control barra de herramientas
5.3.3. Control barra de estado
5.3.4. Barra de barras
5.3.5. Control lista desplegable con imágenes
5.3.6. Control barra de progreso
5.3.7. Control Tree View y List View
5.3.8. Control Cuadrícula

6. Sistema de ficheros
6.1. Tipos de acceso a ficheros en Visual Basic
6.1.1. Ficheros de acceso secuencial
6.1.2. Ficheros de acceso aleatorio (random)
6.1.3. Ficheros de acceso binario
6.2. Modelo de objetos del sistema de ficheros
6.3. Acceso a una base de datos
6.3.1. El control de datos ADO
6.4. Cajas de diálogo comunes
6.4.1. Cajas de diálogo Abrir y Guardar como
6.4.2. Cajas de diálogo Color
6.4.3. Caja de diálogo Fuente
6.4.4. Cajas de diálogo Imprimir

7. Multimedia e Internet
7.1. Multimedia MCI
7.1.1. CD de audio
7.1.2. Audio por forma de onda
7.1.3. Audio y vídeo entrelazado
7.2. Visual Basic e Internet
7.2.1. Páginas Web
7.2.2. Páginas Web dinámicas
7.2.3. Generar aplicaciones para Internet