Programación
Programación
PREPARATORIA TÉCNICA
“GENERAL EMILIANO ZAPATA”
“CIENCIA, CULTURA Y HUMANISMO”
ANTOLOGIA
PROGRAMACION
II
MICROSOFT VISUAL BASIC
LENGUAJE ORIENTADO A OBJETOS
BACHILLERATO TÉCNICO EN
SISTEMAS COMPUTACIONALES
CUARTO SEMESTRE
Erg221108 Página 1
Programación II Preparatoria Emiliano Zapata
Programa.
Funcional.
Modular.
Legible.
Claro.
Erg221108 Página 2
Programación II Preparatoria Emiliano Zapata
El análisis del problema exige una lectura previa del problema a fin de obtener una
idea general de lo que se solicita. Una segunda lectura es recomendada para responder a las
preguntas que pudiesen surgir, como por ejemplo:
La respuesta a esta pregunta indicará los resultados deseados o las salidas del
problema.
La respuesta a esta pregunta indicará que datos se proporcionaran o las entradas del
problema.
Erg221108 Página 3
Programación II Preparatoria Emiliano Zapata
La liebre empieza una carrera en torno a una pista circular de 100 metros de
diámetro, en ese mismo instante el conejo inicia otra sobre una pista cuadrada que limita
exteriormente a la circular. Si la liebre lleva una velocidad de 25.5 m/s y da 12 vueltas;
mientras que el conejo va a una velocidad de 24 m/s y de 10 vueltas, ¿Quién termina
primero?
d
Es decir 100 metros. Por lo tanto el perímetro del cuadrado es
Pcuadrado= 100m + 100m + 100m + 100m = 400m
El perímetro del circulo es la distancia que recorre la liebre en una vuelta, como dio
12 vueltas entonces recorrió en total 3768 metros a una velocidad de 25.5 m/s. al
aplicar los datos en la formula t=d/V se podrá obtener el tiempo consumido por la
liebre en esta carrera.
Erg221108 Página 4
Programación II Preparatoria Emiliano Zapata
Aplicando estos datos a la formula t=d/V obtendremos el tiempo que tardo el conejo
en terminar las 10 vueltas. T=4000m/24m/s =166.66 segundos.
En el ejemplo anterior te abras dado cuenta que el análisis del problema te permite
observar un panorama general del problema, ver que datos se requieren para obtener la
información que se pide, también te permite decidir como manipular los datos.
Algoritmo.
Una computadora no tiene la capacidad para resolver un problema por si misma a
no ser que se le proporcionen los pasos que debe de realizar. Estos pasos son las
instrucciones, secuencias, orden y procedimientos a ejecutar por la máquina.
Un algoritmo es compuesto por un métodos y reglas los cuales son utilizados para
resolver un problema, la palabra algoritmo proviene de Mohammed al-Khowarizmi,
matemático persa que vivió durante el siglo IX, la traducción al latín del apellido en la
palabra algoritmus derivó posteriormente en algoritmo.
Erg221108 Página 5
Programación II Preparatoria Emiliano Zapata
a) Algoritmos secuénciales
b) Algoritmos Condicionales
c) Algoritmos Cíclicos.
d) Algoritmos de más de dos opciones.
Erg221108 Página 6
Programación II Preparatoria Emiliano Zapata
ejecutar. En la elaboración de algoritmos como de los diagramas de flujo se tiene que tener
claro, comprendido y aprendido lo siguiente.
Los tipos de datos que podemos manejar es en función de los valores que
almacenaran, es decir, datos numéricos, datos alfabéticos, datos alfanuméricos, o datos
lógicos, las definiciones de cada uno de ellos son las siguientes.
Datos Numéricos. Son aquellos que contendrán únicamente números, estos pueden ser
positivos o negativos, con o sin decimales.
Datos Alfabéticos. Son aquellos que contendrán únicamente letras, palabras y espacios en
blanco, astas pueden ser de la A a la Z, Ya sea con mayúsculas o
minúsculas.
Datos Alfanuméricos. Son aquellos que contendrán letras, números y caracteres o símbolos
o la combinación de los mismos, en el caso de los números, estos
dejaran de tener valor numérico y por lo tanto no se podrán hacer
operaciones aritméticas con ellos.
Datos Lógicos. Son datos que únicamente pueden tener dos valores, estos son Verdadero o
False, la asignación de estos valores a las variables es por medio de
instrucciones dentro del programa.
Una vez entendido cuales son los tipos de datos que podemos encontrar en un
programa, será más fácil entender cuales son los tipos de variables, ya que el tipo de
variable esta en función del dato que almacenará, los tipos de variables que se utilizaran son
los siguientes:
Variable String. Son variables que almacenaran datos de tipo alfabético, alfanumérico o
numérico, este tipo de variables puede almacenar datos con longitud de
dos hasta 256 caracteres.
Variable Integer. Son variables que almacenan datos de tipo numérico sin decimales.
Erg221108 Página 7
Programación II Preparatoria Emiliano Zapata
Variables Real. Son variables que almacenan datos de tipo numérico con o sin decimales.
Variable Char. Son variables que al igual que las tipo String almacenan datos de tipo
alfabético o numérico pero con una longitud máxima de un carácter.
Variables Boolean. Son variables que almacenaran únicamente los valores lógicos de
Verdadero o Falso.
Variables de paso. Son variables que se declaran como cualquier otra variable con la
diferencia de que este tipo de variables es dato que almacenaran nunca
será tecleado directamente de la pantalla, es decir, el dato que contendrán
será asignado de otra variable o de una operación.
Variables tipo contador. Existen otro tipo de variables que nos permiten ir contando
información o número de procesos realizados mientras se cumpla cierta
condición dentro del programa. Un contador no es más que una variable
de tipo Integer a la cual se le sumara su propio valor más el valor de 1
cada vez que se cumpla cierta condición a la cual se sujeta la variable, un
contador por lo regular se inicializa en 0 y su incremento es en 1la
función del contador es ir contando el número de sucesos que ocurran
cuando un condicionante del programa sea valido. Ejemplo de contador
son los siguientes:
C=C + 1
Op = Op + 1
Contador =Contador + 1
Variable tipo acumulador. Las variables tipo acumulador son variables del tipo numérico
que nos servirán para ir almacenando la suma de una serie de datos, su
forma de trabajar es muy parecida a los contadores, es decir, su propio
valor le sumaran otro, pero la diferencia de los acumuladores con respecto
a los cantadores es que estos últimos incrementan su valor en uno y loa
acumuladores no, la forma de incrementar su valor es sumando a su
propio valor el valor de otra variable, por ejemplo:
Erg221108 Página 8
Programación II Preparatoria Emiliano Zapata
algoritmo, diagrama o programa. Al igual que las variables, las constantes suelen ser
representadas por caracteres alfanuméricos.
Cve$=”Entrar”
Erg221108 Página 9
Programación II Preparatoria Emiliano Zapata
1 un diagrama.
Erg221108 Página 10
Programación II Preparatoria Emiliano Zapata
Prueba de escritorio.
Esta prueba es muy útil para localizar posibles errores en un diagrama de flujo y es
recomendable realizarla antes de pasar a la creación del programa en el lenguaje de programación
de interés.
Codificación.
Erg221108 Página 11
Programación II Preparatoria Emiliano Zapata
1. Lenguaje máquina
2. Lenguaje de bajo nivel (ensamblador)
3. Lenguaje de alto Nivel
Los lenguajes de programación tienen elementos básicos que se utilizan como bloques
constructivos, así como las reglas para las que esos elementos se combinan. Estas reglas se
denominan sintaxis del lenguaje, Solamente las instrucciones sintácticamente correctas pueden
Erg221108 Página 12
Programación II Preparatoria Emiliano Zapata
ser interpretadas por la computadora y los programas que contengan errores de sintaxis son
rechazados por la máquina.
1) Palabras reservadas.
2) Identificadores.
3) Caracteres especiales.
4) Constantes.
5) Variables.
6) Expresiones.
7) Instrucciones.
Además de estos elementos básicos, existen otros elementos que forman parte de los
programas, cuya comprensión y funcionamiento será vital para el correcto diseño de un algoritmo
y naturalmente la codificación del programa.
Bucles.
Contadores.
Acumuladores.
Interruptores.
Estructuras.
Secuénciales
Selectivas
Repetitivas.
Erg221108 Página 13
Programación II Preparatoria Emiliano Zapata
Una vez realizada la codificación o programa del diagrama de flujo, se procede a ejecutar
el programa en la computadora, para la localización de errores de sintaxis y posibles errores
lógicos y a la vez podemos realizar algunas mejoras en la imagen o apariencia de nuestro
programa. La apariencia de un programa dependerá de quien pide el sistema o programa es decir
dependerá del cliente y de algunas aportaciones o sugerencias del programador.
Documentación.
Tipos de Operadores.
En la programación es muy común hacer uso, en determinado momento del
programa, de operadores los cuales pueden ser del tipo aritmético o del tipo lógico, cada
uno de estos operadores suele ser aplicado de acuerdo a las necesidades del programa.
Operadores Aritméticos.
En el caso de las variables que contendrán datos del tipo numérico se podrán
realizar operaciones aritméticas, las operaciones aritméticas se hacen por medio de
operadores aritméticos, que no vienen siendo más que los símbolos que indicaran la
operación que se desea realizar.
Erg221108 Página 14
Programación II Preparatoria Emiliano Zapata
a) Suma.
El operador aritmético para la suma es el signo (+), si lo que se desea es hacer una
suma con dos números la forma en que se expresaría es la siguiente 21 + 10, en el caso de
operaciones con variables se haría lo mismo, con la diferencia que pueden ir números y
nombres de variables en la operación por ejemplo:
Respuesta=Variable1 + Variable2
Respuesta= Variable + 20
b) Resta.
El operador aritmético para la resta es el signo menos (-), ejemplos de este tipo de
operador serian los siguientes.
Respuesta=Variable1 – Variable2
Respuesta=Variable1 – 2
c) Multiplicación.
Respuesta=Variable1 * Variable2
Respuesta=Variable1 * 5
d) División.
El operador aritmético para la división será el signo de Slash (/), ejemplos de este
tipo de operador son los siguientes.
Respuesta= Variable1 / 2
Erg221108 Página 15
Programación II Preparatoria Emiliano Zapata
R= ( (5 + 4) * 2) – ((3 * 2) – 5) X = (5 + 4 ) * 2 – (3 * 2 ) - 5
R= (( 9 ) * 2) – (( 6 ) – 5) X= ( 9 ) * 2 – ( 6 ) - 5
R= (18) – (6 – 5) X= 18 – 6 – 5
R= 18 - 4 X= 7
R = 14
Como podrás observar el uso correcto y la adecuada aplicación de los paréntesis son
requisitos necesarios que nos permitirán obtener resultados correctos en nuestros cálculos y
operaciones realizados en nuestro programa.
Erg221108 Página 16
Programación II Preparatoria Emiliano Zapata
Operadores Lógicos.
Los operadores lógicos al igual que los operadores aritméticos son signos que
denotan una operación, en este caso la operación no será aritmética, sino, de comparación,
es decir, servirán para comparar valores o variables entre si y así hacer que una condición
de una instrucción lógica del lenguaje de programación que se este utilizando sea verdadera
o falsa, los operadores lógicos serán entonces, mayor que, menor que, igual que, diferente
que, mayor o igual que, y menor o igual que.
Mayor que.
Este operador sirve para comparar que un valor sea mayor que otro (Los valores
pueden ser variables comparadas entre si, una variable comparada contra un valor
constante), y esta representado por el signo (>), ejemplos de esto son los siguientes.
Menor que.
Este operador sirve para comparar que un valor sea menor que otro (Los valores
pueden ser variables comparadas entre si, una variable comparada contra un valor
constante), y esta representado por el signo (<), ejemplo de este operador son los
siguientes:
Igual que.
Este operador sirve para comparar que un valor sea igual que otro (Los valores
pueden ser variables comparadas entre si, una variable comparada contra un valor
constante), y esta representado por el signo (=), ejemplo de este operador son los
siguientes:
Erg221108 Página 17
Programación II Preparatoria Emiliano Zapata
Diferente que.
Este operador sirve para comparar que un valor sea diferente que otro (Los valores
pueden ser variables comparadas entre si, una variable comparada contra un valor
constante), y esta representado por el signo (<>), ejemplo de este operador son los
siguientes:
Este operador sirve para comparar que un valor sea mayor o igual que otro (Los
valores pueden ser variables comparadas entre si, una variable comparada contra un valor
constante), y esta representado por el signo (> =), ejemplo de este operador son los
siguientes:
Este operador sirve para comparar que un valor sea menor o igual que otro (Los
valores pueden ser variables comparadas entre si, una variable comparada contra un valor
constante), y esta representado por el signo (< =), ejemplo de este operador son los
siguientes:
Erg221108 Página 18
Programación II Preparatoria Emiliano Zapata
Tipos de programas.
Como se ha mencionado antes, existen varios tipos de algoritmos y diagramas y por
lo tanto a la vez existirán varios tipos de programas.
Secuenciales.
Acción 1
Acción 2
Acción 3
Condicionales.
Erg221108 Página 19
Programación II Preparatoria Emiliano Zapata
Condició Condici
V V
n. ón.
F F
Acción
Acción
V. V1.
Acción
V2.
Condición. Condición. F
V F V
Erg221108 Página 20
Programación II Preparatoria Emiliano Zapata
V Condición F
1.
Acción Acción
V. F.
Condición Condició
V F V F
2. n.
Cíclicos.
Erg221108 Página 21
Programación II Preparatoria Emiliano Zapata
Para la generación de programación podemos utilizar las instrucciones If Then Else, For
next, While, Dowhile, Repaet, para crear estructuras repetitivas.
Las estructura While (mientras) y Dowhile (Hacer mientras), son aquellas en que el
cuerpo del bucle se repite mientras se cumple una determinada condición.
Cuando se ejecuta la instrucción While, la primera cosa que sucede es que se evalúa
la condición (Una expresión booleana). Si se evalúa la falsa ninguna acción se toma y el
programa prosigue en la siguiente instrucción del bucle. Si la expresión booleana es
verdadera, entonces se ejecuta el cuerpo del bucle, después de lo cual se evalúa de nuevo la
expresión booleana. Este proceso se repite una y otra vez mientras la expresión booleana
(condición) sea verdadera.
Algunos bucles no exigen fin y otros no encuentran el fin por error en su diseño. Un
bucle que nunca se termina se denomina bucle infinito o sin fin. Los bucles sin fin no
intencionados son perjudiciales para la programación y se deben de evitar siempre.
Regla practica. Las pruebas en las expresiones booleanas es conveniente que sean
mayor o menor que en lugar de pruebas de igualdad o desigualdad.
Si un algoritmo o programa está leyendo una lista de valores con un bucle While, se
debe incluir algún tipo de mecanismo para terminar el bucle. Existen cuatro métodos típicos
para terminar un bucle de entrada:
Tal vez el método más correcto para terminar un bucle que lee una lista de valores es
con un centinela. Un valor centinela es un valor especial usado para indicar el final de una
lista de datos.
Existen muchas situaciones en las que se desea que un bucle se ejecute al menos una
vez antes de comprobar la condición de repetición. En la estructura While (Mientras) si el
valor de la expresión booleana es inicialmente falso, el cuerpo del bucle no se ejecutará; por
ello se necesitan otros tipos de estructuras repetitivas.
Erg221108 Página 22
Programación II Preparatoria Emiliano Zapata
En la estructura Repaet el cuerpo del bucle se ejecuta siempre al menos una vez; por
el contrario, While es más general y permite la posibilidad de que el bucle pueda no ser
ejecutado. Para usar la estructura Repaet debe de estar seguro de que el cuerpo del bucle se
repetirá al menos una vez.
La estructura For ejecuta las acciones del cuerpo del bucle un número especifico de
veces y de modo automático controla el número de interacciones o pasos a través del
cuerpo del bucle. La estructura de un For Next se muestra a continuación, en donde a la
variable A se asigna un valor inicial de cero, y el ciclo se repitiera asta que la variable sea
igual a diez, el incremento de la variable se hace de manera automática y con un
incremento de uno.
Acción 1
A=0
A=10
A=A+
1
Acción 1
Acción 2
Erg221108 Página 23
Programación II Preparatoria Emiliano Zapata
Opción múltiple.
La estructura de selección múltiple permite elegir una ruta de entre varias rutas
posibles, usando para ello una variable a la cual sele denomina selector. El selector se
compara con una lista de constantes enteras o de carácter, para cada una de las cuales hay
una acción. Y si el selector coincide con una constante de la lista, se ejecuta la acción
correspondiente a dicha constante. Si el selector no coincide con ninguna constante de la
lista, se ejecuta la acción correspondiente al NO, si es que existe.
Las acciones pueden ser simples o acciones compuestas y a la ves cada acción
puede contener procesos secuenciales, cíclicos, condicionales y de opción.
Selector
1 2 3 No
Erg221108 Página 24
Programación II Preparatoria Emiliano Zapata
Antecedentes históricos.
El lenguaje de programación BASIC (Beniner´s All purpose Symbolic Instruction Code) nació
el año 1964 como una herramienta destinada para principiantes, buscando una forma sencilla de
realizar programas, empleando un lenguaje casi igual al usado en la vida ordinaria (en ingles), 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
comunicació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 tiroides de ferrita.
La evolución del BASIC por los años 70 fue escasa, dado que el auge que tomaron en
aquella época lenguajes de alto nivel como FORTRAN y el COBOL. En 1978 se definió una norma
para unificar los Basics existentes creándose la normativa BASICS STANDARD.
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.
Erg221108 Página 25
Programación II Preparatoria Emiliano Zapata
Tal fue ese abandono por parte de los usuarios, que la aparición del Quick –BACIS de
Microsoft, una versión ya potente del BASIC, que corregía casi todos loa 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 más dentro
de la amplia gama de ficheros ejecutables que acompañaban al sistema operativo, y aprovecha de
él el editor de textos.
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 su
manejo. Si a esto se 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étera, 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 BISUAL-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.
Desde su salida al mercado, cada versión supera y mejora a 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 maquina 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.
Erg221108 Página 26
Programación II Preparatoria Emiliano Zapata
1. Visual –Basic es una herramienta de diseño de aplicaciones para Windows, en la que estas
de desarrollan en una gran parte a partir del diseño de una interfase 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 interfase grafica.
2. Es por tanto un término 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 Visual Basic pertenezca por completo a
uno de esos dos tipos de programación debemos inventar una palabra que la defina:
PROGRAMACIÓN VISUAL.
1. Creación de una interfase de usuario. Esta interfase será la principal vía de comunicación
hombre máquina, tanto para salida de datos como para entrada. Será necesario partir de
una ventana – Formulario – a la que le iremos añadiendo los controles necesarios.
2. Definición de las propiedades de los controles – Objetos – que hayamos colocado en ese
formulario. Estas propiedades determinaran la forma estética de los controles, es decir,
como son los controles y para qué sirven.
3. Generación del código asociado a los eventos que ocurran e estos objetos. 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.
4. 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 establece 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 asignado a un objeto, sino que responden a un evento producido
durante la ejecución del programa.
Erg221108 Página 27
Programación II Preparatoria Emiliano Zapata
Se puede entrar a Visual Basic de diferentes formas de las cuales señalaremos las siguientes.
Erg221108 Página 28
Programación II Preparatoria Emiliano Zapata
Una vez realizado cualquiera de los procedimientos anteriores para ejecutar Visual Basic, se
mostrara una pantalla como la siguiente.
Erg221108 Página 29
Programación II Preparatoria Emiliano Zapata
Esta primer ventana que se presenta, es la de Nuevo proyecto, desde la cual se puede
tener acceso a proyectos nuevo, Existente y Recientes seleccionando la pestaña correspondiente.
Recientes: Despliega una lista que incluye la trayectoria y el nombre de los proyectos con los que
ha estado trabajando más recientemente.
Existentes: Permite navegar entre las unidades reconocidas en la computadora así como los
directorios existentes con la finalidad de localizar el proyecto que se desea abrir.
Nuevo: Muestra diferentes opciones en forma de iconos los cuales son proyectos ya existentes en
Visual Basic la cantidad de proyectos dependerá de la versión con la que se este trabajando.
Cuando vamos a trabajar en un nuevo proyecto seleccionaremos el icono de EXE estándar.
Erg221108 Página 30
Programación II Preparatoria Emiliano Zapata
Mientras más pronto se familiarice con el entorno, el cual exige comprender el propósito
de las ventanas, más pronto dominará la programación en Visual Basic. En la Siguiente figura se
muestra los elementos comunes de Visual Basic.
Cuadro de herramientas
Ventana de Propiedades
Ventana de Posición
del formulario
Formulario
Área de edición de la
ventana del formulario.
Barra de Menús.
Muestra una lista de opciones que pueden ser utilizadas para manipular la aplicación, los
menús presentados son: Archivo, Edición, Ver, Proyecto, Formato, Depuración, Ejecutar, Consulta,
Diagrama, Herramientas, Complementos, Ventana y Ayuda.
Erg221108 Página 31
Programación II Preparatoria Emiliano Zapata
Formulario.
Es el elemento fundamental de un
programa, es decir es el área de trabajo y
trasfondo del programa, en el formulario se
colocarán todos los objetos o controles que
se requieran para realizar el proyecto. Un
formulario cambia de nombre a interfaz una
ves que se han insertado y modificado las
propiedades de los objetos que se contienen
en dicho formulario.
Barra de herramientas.
Se encuentra debajo de la Barra de menús, cambiara a medida que la usa. Visual Basic
cuenta con un total de cuatro barras de herramientas las cuales son:
1). Depuración. Esta barra aparece cuando utiliza las herramientas de depuración interactivas para
rastrear y corregir problemas.
Erg221108 Página 32
Programación II Preparatoria Emiliano Zapata
4). Estándar. Es predeterminada y aparece debajo de la barra de menús. Contiene accesos directos
a las opciones de mayor uso disponibles en los menus.
Al igual que en aplicaciones como Word, Excel o Power Point es posible mostrar u ocultar
las barras de herramientas, o bien acoplar o desacoplar es decir hacer la barra flotante para
después colocar la barra de herramientas en su sitio. Cada barra de herramientas muestra varios
botones que ofrecen métodos abreviados de un solo botón que evita recorrer elementos de menú
para tener acceso a operaciones comunes. Basta con colocar el puntero del Mouse sobre un botón
o icono para ver una información referente a la herramienta seleccionada y que le dará
información mediante un cuadro de dialogo llamado ToolTips el cual explicará para que es el
botón.
b) Explorador de proyectos
c) Propiedades de ventana
d) Posición del formulario
e) Abrir Proyecto
f) Salvar Proyecto
g) Ejecutar
h) Stop
i) Finalizar
j) Caja de herramientas
Erg221108 Página 33
Programación II Preparatoria Emiliano Zapata
Explorador de proyectos.
Esta ventana no es necesaria tenerla visible todo el tiempo en que estemos trabajando con
nuestro proyecto ya que solo la utilizamos para poder cambiar de formulario activo, ver los
nombres asignados a cada formulario de nuestro proyecto o cambiar de formulario de inicio.
Erg221108 Página 34
Programación II Preparatoria Emiliano Zapata
Las propiedades son las características o valores que identifican a cada objeto que se
utilizará en el programa, las propiedades permiten cambiar la apariencia y comportamiento de
cada objeto. Y es recomendable cambiar las propiedades antes de iniciar la codificación de
cualquier objeto.
Las propiedades pueden variar de acuerdo al objeto con el que se este trabajando, las
propiedades que más serán utilizadas en este curso son:
1) Nombre 6) TabIndex
2) Caption 7) TolTipsText
3) Text 8) Visible
4) Font 9) StartUpPosition
1) Activar la tecla F4
2) Menú Ver, Ventana de propiedades.
Erg221108 Página 35
Programación II Preparatoria Emiliano Zapata
Caja de Objetos
Propiedades
por orden Propiedades por
alfabético categoría
Propiedades Valor de la
propiedad
Descripción de la
propiedad
seleccionada
Posición de formulario.
Erg221108 Página 36
Programación II Preparatoria Emiliano Zapata
Aún y cuando nuestro proyecto no se encuentre concluido será recomendable guardar los
cambios cada cierto tiempo, esto con la finalidad de reducir el riesgo de pérdida de información.
El proceso de guardar información es sumamente importante ya que de no realizarla
adecuadamente se puede encontrar con una grave pérdida de información.
4) Dar nombre a los formularios, Recomendamos inicia el nombre con las literales Frm y
en seguida el nombre asignado sin espacios ni caracteres especiales.
5) Una vez guardado todos los formularios se procederá a dar nombre al proyecto, para
los cual se recomienda iniciar los nombres de los proyectos con las literales Pry y en
seguida el nombre deseado sin espacios ni caracteres especiales.
Nota: Hay que recordar que los nombres de archivos, formularios, Proyectos y directorios los
debemos asignar de acuerdo a la información con la que se estará trabajando.
Erg221108 Página 37
Programación II Preparatoria Emiliano Zapata
1) En la Ventana de Proyectos dar un Click con el botón secundario del Mouse sobre
el formulario el cual se desea guardar cambios y seleccionar la opción Save. Este
procedimiento también es valido cuando se desea guardar un formulario nuevo en el
proyecto con la excepción de que se selecciona la opción Save As para poder asignar
nombre al nuevo formulario.
2) Después de haber realizado el paso anterior se procederá a dar un Click con el
botón secundario del Mouse en el nombre del proyecto que se encuentra en la ventana de
Proyectos de esta manera se guardan todos los cambios realizados en todos los formularios
que hayan sido modificados y en caso de ser un formulario nuevo Visual Basic Pedirá que le
asignemos un nombre.
Erg221108 Página 38
Programación II Preparatoria Emiliano Zapata
2) Seleccionar la opción requerida Save Project, Save Project As, Save Form.Frm, Save
Form As. Etc.
3) Los pasos siguientes son igual que los antes descritos, es decir seleccionar el
directorio donde se guardará el proyecto o formularios, asignarles nombre y dar
guardar.
Erg221108 Página 39
Programación II Preparatoria Emiliano Zapata
Abrir proyecto.
Procedimiento No 1 Para abrir un proyecto. Al dar doble click al icono de abrir proyecto
localizado en la barra de herramientas, se mostrará una ventana que nos permitirá localizar y abrir
el proyecto que requerimos.
Erg221108 Página 40
Programación II Preparatoria Emiliano Zapata
Caja de Herramientas.
Puntero. OptionButton
Boton de Opción
Erg221108 Página 41
Programación II Preparatoria Emiliano Zapata
Cuadro de Imagen
Ole (Ole)
Incrustación de Objetos
3) Hay que dar un Click al objeto y después activar y arrastrar el mouse en el sitio deseado.
4) Dar doble Click al Objeto, en este caso se insertara el objeto al centro del formulario, para
que después lo arrastres hasta el sitio en que se requiere colocar.
Erg221108 Página 42
Programación II Preparatoria Emiliano Zapata
Si lo que se desea es modificar las dimensiones del objeto lo podemos hacer de dos
formas:
Para insertar otro objeto que no se encuentre dentro del cuadro de herramientas, se puede
insertar de la siguiente manera:
Colocas el puntero del Mouse dentro del cuadro de herramientas y damos un click con el
botón derecho, aparecerá un cuadro de opciones del cual seleccionaremos la opción componentes
Una vez seleccionado componentes aparecerá una pantalla como la que muestra la
siguiente imagen.
Erg221108 Página 43
Programación II Preparatoria Emiliano Zapata
Paso siguiente será dar al botón aplicar y luego aceptar para que los objetos sean
mostrados en la parte inferior de la caja de herramientas.
Por ejemplo los objetos que se mostrarían con el procedimiento anterior serian los
siguientes:
ProgressBar
Erg221108 TreeView ListView Página 44
Programación II Preparatoria Emiliano Zapata
Para cada formulario que realicemos se recomienda utilizar una tabla como la siguiente,
en la que se registra las propiedades que se irán modificando a cada objeto utilizado en nuestro
proyecto. Esta tabla la explicaremos más adelante.
Form1
Label1
Erg221108 Página 45
Programación II Preparatoria Emiliano Zapata
Erg221108 Página 46
Programación II Preparatoria Emiliano Zapata
Erg221108 Página 47
Programación II Preparatoria Emiliano Zapata
Ventana de código.
Es el área donde introduciremos las instrucciones del objeto que se desea programar. La
ventana de código se puede mostrar de las siguientes formas:
2) En la ventana de explorador de proyectos, dar con el botón derecho del Mouse sobre el
formulario con el que se quiere trabajar el código.
3) Dar doble Click con el Mouse en el objeto o formulario al que se desea agregar o modificar su
código.
En la ventana de código podremos seleccionar el objeto a codificar así como el evento que
le queremos asignar a cada objeto.
Erg221108 Página 48
Programación II Preparatoria Emiliano Zapata
En el desarrollo de programas por medio de un ambiente grafico como es Visual Basic, Visual
Fox etc. Los pasos anteriores quedarían como sigue:
Erg221108 Página 49
Programación II Preparatoria Emiliano Zapata
a) Manipular y reconocer las ventanas de aplicación así como los componentes que lo
forman.
b) Observar ventanas de diálogo con sus controles.
c) Modificar y asignar acciones a objetos.
d) Mover y dimensionar los objetos a utilizar.
e) Realizar procedimientos que nos permitirán abrir, guardar, modificar, eliminar
información.
Con lo antes visto podemos decir que Visual Basic nos permitirá crear aplicaciones por medio
de un ambiente gráfico, en los cuales la apariencia y funcionalidad estarán limitadas por la
creatividad del Programador.
Creación de Interfaz.
Los objetos o controles pueden ser insertados en el formulario de las siguientes formas:
Erg221108 Página 50
Programación II Preparatoria Emiliano Zapata
Visual Basic asigna un nombre a cada objeto que se inserta a los formularios el cual puede
ser modificado por medio de la ventana de propiedades ya que los nombres asignados por default
no son lo suficientemente descriptibles para quien realiza el programa.
Cuando nos presentan un requerimiento de una nueva aplicación, como primer paso
debemos concentrarnos en identificar los objetos que intervendrán en el programa, para esto se
debe de analizar el requerimiento hablar con los futuros empleados paso siguiente es modificar las
propiedades de los controles necesarias para que la interfaz se muestra de acuerdo a los
requerimientos establecidos. Como propiedades podemos entender a los atributos, valores o
características que un control posee. Por ejemplo: Tamaño, color, Nombre, estilo, apariencia etc.
Erg221108 Página 51
Programación II Preparatoria Emiliano Zapata
Escribir código.
Ya debemos tener bien claro que un programa no es otra cosa que la implementación de
un algoritmo determinado, es decir una secuencia de pasos o instrucciones, mediante un lenguaje
de programación.
En los lenguajes de programación, las instrucciones están formadas por palabras que
pueden pertenecer o no a algún idioma humano. Los lenguajes de programación son más estrictos
que los lenguajes naturales y no se permite el uso de cualquier palabra ni tampoco cualquier
combinación de ellas. Toda palabra que se pueda usar en un programa, ya sea parte del lenguaje
de programación o definida por nosotros mismos, recibe el nombre de identificador. En todo
lenguaje de programación los identificadores deben respetar ciertas reglas para que sea más fácil
el trabajo del compilador o interprete.
Para poder escribir un código debemos tener claro los términos siguientes los cuales ya se
han tratado algunos.
Antes de continuar es necesario conocer los términos siguientes los cuales son muy
utilizados en el lenguaje de programación Visual Basic.
Eventos: Son acciones que soportan los objetos y pueden ser provocaos por el usuario, por el
código o por el sistema, cuando el programa se encuentra en ejecución.
Ejemplo: Click, doble Click, Presionar una tecla, Posicionar Mouse, mover el puntero.
Erg221108 Página 52
Programación II Preparatoria Emiliano Zapata
Sentencia: Son cada una de las líneas de código presentes en el programa describen acciones que
serán ejecutadas por la computadora como parte del funcionamiento del programa, las
sentencias deben de cumplir con una sintaxis del lenguaje y pueden estar formadas por
una o varias palabras clave.
Compuesta. Están formadas por dos o más sentencias que se ejecutan de acuerdo con
alguna estructura de control.
Datos: En cualquier programa que realicemos, necesitaremos manejar datos: Nombre del usuario,
el saldo de una cuenta, la cantidad de veces que iteramos sobre una línea de código. Y es
natural que estos datos cambien de valor durante la vida del programa de tal manera que
los datos son almacenados en variables y de una manera más sencilla diremos que un dato
es todo aquello que alimentamos o introducimos al programa para que este los procese y
posteriormente los convierta en información. Un tipo de dato es el conjunto de valores
que toma una variable, junto con la operación que pueden realizarse sobre esos valores.
En muchos lenguajes, es necesario asociar una variable con tipo de dato, de manera que el
compilador o intérprete pueda validar que las operaciones que hemos escrito realmente
corresponden al tipo de dato que manejamos. Un ejemplo de tipo de dato es el número
entero. El conjunto de valores que puede tomar es el de los números (0, 1, 2, 3, …) y las
operaciones que podemos realizar sobre ellos son la suma, resta, multiplicación y la
división. Los lenguajes de programación que exigen que definamos el tipo de dato de las
Erg221108 Página 53
Programación II Preparatoria Emiliano Zapata
Datos especiales:
Erg221108 Página 54
Programación II Preparatoria Emiliano Zapata
Variables.
Es una referencia a un dato cuyo valor puede cambiar durante la ejecución del programa.
En otras palabras podemos decir que una variable es una posición de memoria de la
computadora, en donde reside un dato significativo para el programa. Para la fácil comprensión y
lectura de los programas, las variables reciben nombres formados por identificadores válidos que
nos ayudarán a recordar que tipo de dato se guardará en esta variable.
Ejemplos de Variables.
Dependiendo de cómo y donde se declare la variable hace posible que este disponible
para un procedimiento o modulo determinado con carácter de públicas o privadas.
Las variables de carácter Públicas están disponibles para todos los módulos de una
aplicación. Se declaran al principio del modulo mediante la palabra clave Public.
A nivel módulo una variable estará disponible para todos los procedimientos del módulo,
se declaran en la sección de Declaraciones al principio del módulo mediante la palabra clave
Private.
1) Explícitamente
2) Implícitamente
Declaración explícita.
Las variables pueden declararse en cualquier parte del programa, más recomendamos
realizar la declaración de variables al inicio del código esto con la finalidad de facilitar la lectura del
Erg221108 Página 55
Programación II Preparatoria Emiliano Zapata
Dim Instrucción
Variable Nombre asignado a la Variable
As Tipo_dato Argumento que especifica el tipo de dato. Si no se especifica se toma al
dato como tipo Variant.
Ejemplos:
Erg221108 Página 56
Programación II Preparatoria Emiliano Zapata
Numérico
Integer %
Long &
Single !
Double #
Currency @
Cadena
String $
Declaración implícita.
Erg221108 Página 57
Programación II Preparatoria Emiliano Zapata
Ejemplos de constantes:
Pi= 3.14152965
Public Const Factor As Integer =2
Mensaje = “Hola”
Const FechaN = #10-Mayo-2009#
3) Agrega un objeto contenedor, 4 objetos tipo Etiqueta, 2 objetos TextBox, 3 objetos Command
Butom, 1 objeto Shape, 1objeto Line (El formulario debe de quedar como el que se muestra a
continuación)
4) Modificar las propiedades requeridas a cada objeto de nuestro proyecto, (recomiendo empezar
por la propiedad caption o Text de cada objeto, ya que esto nos ayudará para posteriormente
asignarle nombre a estos objetos) en este ejemplo modificaremos las propiedades objeto por
objeto, empezaremos seleccionando el formulario y buscamos la propiedad Caption de este
objeto dándole el valor de Programa para Obtener el área de un círculo (observemos el cambio
que presenta el formulario en la pantalla), la segunda propiedad que modificaremos es la
propiedad Nombre, a la cual le daremos el valor de FrmAreaCirculo (Recordemos que las tres
Erg221108 Página 58
Programación II Preparatoria Emiliano Zapata
literales para un formulario son Frm). Para mayor facilidad y ahorrarnos tiempo en la elaboración y
explicación realiza los cambios presentados en la siguiente tabla.
Erg221108 Página 59
Programación II Preparatoria Emiliano Zapata
Una vez realizados los cambios en las propiedades antes señaladas en la tabla, nuestro
formulario tendrá la apariencia siguiente.
Erg221108 Página 60
Programación II Preparatoria Emiliano Zapata
Erg221108 Página 61
Programación II Preparatoria Emiliano Zapata
Privada: esa variable se puede mover por todo el formulario, pero no sale de
dicho formulario.
Pública: esa variable puede moverse por todo el formulario y además puede ser
usada desde otro Formulario o Módulo, citándola con el nombre del Formulario,
seguido del nombre de la variable (Formulario.Variable)
En un Módulo una variable puede declararse como Privada, con lo que no saldrá
de ese Módulo, o Pública, pudiendo en este caso usarse en todo el programa. Cuando se
declara una variable como pública en un Módulo, basta referirse a ella por su nombre, sin
citar el nombre del Módulo donde se declaró.
En Visual Basic es posible declarar varias veces las variables, es decir, pueden
declararse a nivel de formulario, en su apartado de declaraciones, y esa variable
conservará su valor en todas las partes de ese formulario. Sin embargo, si se declara una
variable con el mismo nombre a un nivel inferior, por ejemplo al principio de un
procedimiento, esa variable será una variable distinta a la anterior, aunque tenga el
mismo nombre, al declararla en un Procedimiento, solamente será válida en ese
Procedimiento. Una vez que hayamos salido de ese procedimiento, la variable con ese
nombre volverá a ser la declarada en el Formulario.
Sentencia DIM Es la forma más común de declarar una variable como Privada. Puede
emplearse en un Procedimiento, Función, Formulario o Módulo.
Sintaxis:
Dim nombrevariable As (tipo que sea)
Erg221108 Página 62
Programación II Preparatoria Emiliano Zapata
Sentencia PRIVATE Es la forma de declarar una variable como Privada. Puede emplearse
solamente en la sección de declaraciones de un Formulario o Módulo.
Sintaxis:
Private nombrevariable As Tipovariable
Sentencia PUBLIC Es la forma de declarar una variable como Pública. Puede emplearse
solamente en la sección de declaraciones de un Formulario o Módulo.
Sintaxis:
Public nombrevariable As Tipovariable
Sentencia GLOBAL Declara una variable que es válida en todo el programa y la variable
puede usarse en todo el espacio del programa.
Erg221108 Página 63
Programación II Preparatoria Emiliano Zapata
Sintaxis:
Global nombrevariable As tipovariable
Nota: El nombre de una variable puede ser tan largo como queramos, hasta un
máximo de 40 caracteres. Es recomendable utilizar nombres de variables que tengan
algún sentido.
Erg221108 Página 64
Programación II Preparatoria Emiliano Zapata
Programación Secuencial.
Ejemplo número 1de programación secuencial.
Realizaremos un programa para obtener la suma de dos números.
1. Abrir Visual Basic.
2. Al analizar el problema planteado nos damos cuenta de que tenemos la necesidad de
contar con una variable en la que se guardara el primer número a sumar, Una segunda
variable para guardar el segundo número a sumar y una tercer variable para guardar el
resultado de la suma.
3. Realizar el algoritmo del problema. (Paso no necesario)
Paso1 Inicio
Paso 2 Pedir el valor del primer número y guardar en Variable N1.
Paso 3 Pedir el valor del segundo número y guardar en Variable N2.
Paso 4 Realizar la Operación N1+N2 y el resultado guardarlo en Variable Suma.
Paso 5 Imprimir el resultado de la operación anterior.
Paso 6 Salir.
4. Realizar el Diagrama de flujo del problema. (Paso no necesario)
Inicio
N1
N2
S=N1+N2
Fin
Erg221108 Página 65
Programación II Preparatoria Emiliano Zapata
Nota. El algoritmo y el diagrama de flujo anterior representa solo al programa principal que contendrá el control
command1, cada objeto que tengamos en nuestro formulario podrá ser codificado de manera particular de acuerdo a las
necesidades.
Erg221108 Página 66
Programación II Preparatoria Emiliano Zapata
Erg221108 Página 67
Programación II Preparatoria Emiliano Zapata
Nota: las propiedades de cada control tiene una función distinta y cada control puede tener una gran variedad de
propiedades.
Erg221108 Página 68
Programación II Preparatoria Emiliano Zapata
Erg221108 Página 69
Programación II Preparatoria Emiliano Zapata
Nota: Al ir agregando los datos que el programa va pidiendo, pulsaremos la tecla tabulador para
colocar el cursor en un nuevo objeto dentro del programa o en su defecto colocando el
puntero del mouse en el objeto que queramos manipular. (Si elegimos esta opción
observaremos que al colocar el puntero del mouse en ciertos objetos se mostrara un cuadro
de dialogo, el cual nosotros agregamos al dar las propiedades a los objetos).
Erg221108 Página 70
Programación II Preparatoria Emiliano Zapata
Nota: Hay que observar que el botón insertado toma por default el nombre Command1 ya que el
botón que tenia ese mismo nombre se cambio por CmdEjecutar. Debemos de tener cuidado
de no repetir los nombres de los objetos para no encontrarnos con dificultades en la
realización de nuestros programas.
Erg221108 Página 71
Programación II Preparatoria Emiliano Zapata
Erg221108 Página 72
Programación II Preparatoria Emiliano Zapata
15. Fin
Erg221108 Página 73
Programación II Preparatoria Emiliano Zapata
Ejemplo 2.
Elaborar una aplicación que permita calcular el salario neto de un trabajador en
función del número de horas trabajadas, pago por hora de trabajo y un descuento bruto
del 20 por 100. Los cálculos a efectuar para obtener el salario neto de un trabajador se
muestran a continuación.
Salario Bruto=Horas Trabajadas * Pago por Hora
Utilizando variables Sb = Ht* Ph
1. Después de una lectura y haber analizado el problema hemos deducido que los
controles a utilizar son 2 contenedores, 6 etiquetas, 6 cuadros de texto, 3 botones de
comando todos ellos colocados como lao muestra la siguiente imagen.
Erg221108 Página 74
Programación II Preparatoria Emiliano Zapata
Erg221108 Página 75
Programación II Preparatoria Emiliano Zapata
Text
Frame1 Nombre FraIngresos
Caption Ingreso de datos
Frame2 Nombre FraSalida
Caption Salida de datos
Enabled False
Command1 Name CmdEjecutar
Caption &Ejecutar
TabIndex 3
ToolTipText Dar Click para mostrar
resultados
Command2 Name CmdLimpiar
Caption &Limpiar
TabIndex 4
ToolTipText Dar Click para realizar nuevo
cálculo.
Command3 Name CmdSalir
Caption &Salir
TabIndex 5
ToolTipText Dar Click para cerrar sistema.
Erg221108 Página 76
Programación II Preparatoria Emiliano Zapata
Erg221108 Página 77
Programación II Preparatoria Emiliano Zapata
Ejemplo 3.
Elaborar una aplicación para obtener el área de cualquier circulo, triangulo o
cuadrado (Al seleccionar el tipo de operación se mostrara una imagen de la figura en la
que se trabajará).
1. Después de una lectura y haber analizado el problema hemos deducido que las
operaciones que se realizaran son:
Área de circulo = Pi * Radio al cuadrado
Área de cuadrado = Lado * Lado
Área de un triangulo = Base * Altura /2
2. Variables a utilizar.
Ac.- Área del circulo Acu.- Área del cuadrado At.- Área del triangulo
Pi.- Valor de 3.1416 R.- Radio L.- Lado
B.- Base H.- Altura
3. Después de una lectura y haber analizado el problema hemos deducido que los
controles a utilizar deben de ser los mostrados en la siguiente imagen.
Erg221108 Página 78
Programación II Preparatoria Emiliano Zapata
4. Modificar las propiedades de los controles que lo requieran. (Tomar como referencia la
tabla siguiente).
Tabla de propiedades del problema planteado. (Contenedor 1)
Erg221108 Página 79
Programación II Preparatoria Emiliano Zapata
Erg221108 Página 80
Programación II Preparatoria Emiliano Zapata
Erg221108 Página 81
Programación II Preparatoria Emiliano Zapata
Erg221108 Página 82
Programación II Preparatoria Emiliano Zapata
Caption
Erg221108 Página 83
Programación II Preparatoria Emiliano Zapata
Erg221108 Página 84
Programación II Preparatoria Emiliano Zapata
Erg221108 Página 85
Programación II Preparatoria Emiliano Zapata
Erg221108 Página 86
Programación II Preparatoria Emiliano Zapata
Ejemplo 4.
Elaborar una aplicación para obtener la edad de una persona a partir de su fecha
de nacimiento.
Nota 1: Se requiere agregar un Command Butom el cual será utilizado para imprimir los datos.
Quedando la interfaz de la siguiente manera.
Nota 2: A esta aplicación hay que agregar la propiedad ToolTipTex a los objetos que así lo
requieran.
Erg221108 Página 88
Programación II Preparatoria Emiliano Zapata
3. Codificar objetos.
4. Guarda el proyecto con el nombre PryEdad en un directorio con nombre Proyecto Edad
5. Guarda el formulario con el nombre FrmEdad en el mismo directorio Edad
6. Crear el archivo ejecutable
Erg221108 Página 89
Programación II Preparatoria Emiliano Zapata
Con los constantes saltos hacia atrás o hacia delante por medio de instrucciones de
programa, se generan programas inevitablemente enredados los cuales se conocen como
código spaghetti y la instrucción más famosa utilizada para realizar saltos es la instrucción
GOTO (ir a). Con los pasos del tiempo, los programadores vieron que el código Spaghetti
resultaba muy difícil de mantener, ya sea para agregar una nueva característica al
programa o para corregir un error. En la década de los 60, el científico Edseger Dijkstra,
formulo un teorema en el que demostró que cualquier programa informático puede
escribirse usando sólo tres tipo de instrucciones básicas: la secuencial, la evaluación de
condiciones, y la de repetición o bucle de instrucciones todo esto sin utilizar la instrucción
GOTO. Este teorema conocido como teorema de Dijkstra, sentó las bases de lo que hoy
conocemos como programación estructuradas. AL utilizar las tres estructuras propuestas
por Dijkstra, se obtienen programas más claros y fáciles de entender ya que la lógica está
a la vista y resulta fácil encontrar cuál es la siguiente instrucción por ejecutar.
Una sentencia condicional es aquella que se realiza si se cumple una determinada
condición. La sentencia condicional mas usada es:
If Condición Then
Instrucciones
Else
Instrucciones
End if
Erg221108 Página 90
Programación II Preparatoria Emiliano Zapata
Las dos tipos principales de estructuras de decisión más usados y que comúnmente
utilizamos son:
1) Sentencia If
2) Sentencia Select
Erg221108 Página 91
Programación II Preparatoria Emiliano Zapata
Erg221108 Página 92
Programación II Preparatoria Emiliano Zapata
Cuando trabajamos con números, en Visual Basic podremos hacer uso de las
siguientes funciones, las cuales podrán ser utilizadas en los diferentes tipos de programas.
Función Aplicación
CInt Devuelve la parte entera de un número con decimales.
Abs Devuelve el valor absoluto de un número.
Sgn Devuelve el signo de un número.
Sqr Devuelve la raíz cuadrada de un número.
Exp Devuelve el número elevado al exponente indicado.
Log Devuelve el logaritmo natural de un número.
Sin Devuelve el valor del seno de un ángulo expresado en radianes.
Cos Devuelve el valor del coseno de un ángulo expresado en radianes.
Tan Devuelve la tangente de un ángulo.
Atn Devuelve el valor del Arco tangente.
Date Devuelve la fecha tomada del reloj de la PC.
Time Devuelve la hora actual.
Now Devuelve la fecha y la hora actual de la PC.
WeekDay Devuelve el día de la semana.
Day Obtiene el día a partir de una fecha
Month Obtiene el mes a partir de una fecha
Year Obtiene el año a partir de una fecha.
Hour Obtiene la hora a partir de una hora.
Minute Obtiene el minuto a partir de una hora.
Second Obtiene el segundo a partir de una hora.
DateAdd Añade un intervalo de tiempo a una fecha.
DateDiff Obtiene el intervalo de tiempo entre dos fechas.
Erg221108 Página 93
Programación II Preparatoria Emiliano Zapata
Erg221108 Página 94
Programación II Preparatoria Emiliano Zapata
Propiedades de Etiquetas
Objeto Propiedad Valor
Label1 Name LblMatricula
Caption Matricula :
Font Ms Sans Serif, Negrita, 8
Label2 Name LblNombre
Caption Nombre :
Font Ms Sans Serif, Negrita, 8
Label3 Name LblGrupo
Caption Grupo :
Font Ms Sans Serif, Negrita, 8
Label4 Name LblMateria
Caption Materia :
Font Ms Sans Serif, Negrita, 8
Label5 Name LblParcial1
Caption Parcial 1 :
Font Ms Sans Serif, Negrita, 8
Label6 Name LblParcial2
Caption Parcial 2 :
Font Ms Sans Serif, Negrita, 8
Label7 Name LblPromedio
Caption Promedio :
Font Ms Sans Serif, Negrita, 8
Visible False
Label8 Name LblPr
Caption Pr
Font Ms Sans Serif, Negrita, 10
Visible False
Label9 Name LblPuntuacion
Caption Puntuación
Font Ms Sans Serif, Negrita, 8
Visible False
Label0 Name LblPu
Caption Pu
Font Ms Sans Serif, Negrita, 10
Alignment 2- Center
Visible False
Label1 Name LblSituacion
Caption Situación
Font Ms Sans Serif, Negrita, 8
Visible False
Label2 Name LblSi
Caption Si
Font Ms Sans Serif, Negrita, 10
Alignment 2- Center
Visible False
Erg221108 Página 95
Programación II Preparatoria Emiliano Zapata
Propiedades de Textos
Objeto Propiedad Valor
Text1 Name TxtMatricula
Text
TabIndex 0
ToolTipText Agrega Matricula
Text2 Name TxtNombre
Text
TabIndex 1
ToolTipText Agrega Nombre
Text3 Name TxtGrupo
Text
TabIndex 2
ToolTipText Agrega Grupo
Text4 Name TxtMateria
Text
TabIndex 3
ToolTipText Agrega Materia
Text5 Name TxtPar1
Text
TabIndex 4
ToolTipText Agrega Calificación Parcial 1
Text6 Name TxtPar2
Text
TabIndex 5
ToolTipText Agrega Calificación Parcial 1
Erg221108 Página 96
Programación II Preparatoria Emiliano Zapata
Propiedades de contenedores
Objeto Propiedad Valor
Frame1 Name FraDatos
Caption Datos del Alumno
Font Ms Sans Serif Negrita
Frame2 Name FraCalif
Caption Calificaciones
Font Ms Sans Serif Negrita
Enabled False
Frame3 Name FraBoleta
Caption Boleta
Font Ms Sans Serif Negrita
Enabled False
Propiedades de Botones
Objeto Propiedad Valor
Command1 Name CmdAceptar
Caption &Aceptar
TabIndex 6
ToolTipText Click para aceptar datos.
Command2 Name CmdCancelarD
Caption &Cancelar
TabIndex 7
ToolTipText Click para cancelar datos.
Command3 Name CmdEjecutar
Caption &Ejecutar
TabIndex 8
ToolTipText Click para obtener promedio.
Command4 Name CmdCancelarCal
Caption &Cancelar
TabIndex 9
ToolTipText Click para cancelar.
Command5 Name CmdImprimir
Caption &Imprimir
TabIndex 7
ToolTipText Click para imprimir Boleta.
Command6 Name CmdNuevoC
Caption &Nuevo Calculo
TabIndex 8
ToolTipText Click para realizar nuevo calculo.
Command7 Name CmdjSalir
Caption &Salir
TabIndex 9
ToolTipText Click para cerrar aplicación.
Erg221108 Página 97
Programación II Preparatoria Emiliano Zapata
Erg221108 Página 98
Programación II Preparatoria Emiliano Zapata
Erg221108 Página 99
Programación II Preparatoria Emiliano Zapata
LblPu.Visible = True
LblPuntuacion.Visible = True
LblPu.ForeColor = &HC000&
LblPu.Caption = " B "
Else
If promedio >= 70 And promedio <= 79 Then
LblPu.Visible = True
LblPuntuacion.Visible = True
LblPu.ForeColor = &HC000&
LblPu.Caption = " C "
Else
If promedio >= 60 And promedio <= 69 Then
LblPu.Visible = True
LblPuntuacion.Visible = True
LblPu.ForeColor = &HFF&
LblPu.Caption = " D "
Else
If promedio >= 0 Then
LblPu.Visible = True
LblPuntuacion.Visible = True
LblPu.ForeColor = &HFF&
LblPu.Caption = " E "
End If
End If
End If
End If
End If
End If
End Sub
Nota: El nombre del proyecto, Formulario y del archivo ejecutable se deja como responsabilidad del
alumno así como la depuración y corrección de errores.
En Visual Basic Podemos hacer uso de dos controles mas, en los cuales para su uso se
requiere de aplicar condiciones, estos objetos son:
1) Casillas de verificación (CheckBox)
2) Objetos de selección (Option Button)
CheckBox
Option Button
Option Button
If Option1.Value = True Then
Instrucciones si se encuentra activado el Option1
End if
Erg221108 Página 101
Programación II Preparatoria Emiliano Zapata
CheckBox
If Check1.Value = 1 Then
Instrucciones si se encuentra activado el CheckBox1
Else
Instrucciones si no se encuentra activado el CheckBox1
End If
Nota 1: Se pueden activar varios CheckBox dentro de un mismo formulario aun y cuando se
encuentren en el mismo contenedor.
Nota 2: A diferencia del Choeck Box, si tenemos varios Option Buttom en el mismo contenedor,
solo podremos activar uno.
Ejemplo 2:
Codificación de controles.
TxtHorasExtra.FontName = "Arial"
TxtPagoHoraExtra.FontName = "Arial"
Private Sub CmdSalir_Click()
TxtIspt.FontName = "Arial"
End
TxtSmed.FontName = "Arial"
End Sub
TxtPension.FontName = "Arial"
Erg221108 Página 105
TxtSegVid.FontName = "Arial"
TxtSueldoNeto.FontName = "Arial"
Programación II Preparatoria Emiliano Zapata
Con la instrucción If podemos hacer que los cuadros de texto ejecuten una acción
como por ejemplo mover el cursor a otro cuadro de texto u otro control cuando
presionamos la tecla Enter.
End Sub
Nota: El control ComboBox es un control que requiere del uso de la sentencia Select Case.
2. Establecer propiedades.
Caption Mes :
Caption Año :
Realizar una aplicación para una papelería en la cual se podrá seleccionar el producto de
interés.
Nota: Queda como práctica para el alumno agregar las propiedades vistas en temas anteriores,
Guardar el formulario y Proyecto en un directorio.
Manejo de teclado.
Su programa no puede manejar toda la actividad del teclado con controles y cuadros de
entrada. A veces necesita responder a teclas específicas a medida que el usuario las oprime.
Windows pasa eventos de teclado específicos a su aplicación para que se puedan rastrear las
teclas oprimidas. Estos eventos son KeyPress, KeyDown y KeyUp. Estos eventos corresponden a la
combinación de teclas como Alt+G y Mayús+P, además teclas individuales. Puede probar estas
combinaciones de teclas cuando ocurra un evento de teclado.
Después de que su aplicación reciba la entrada del teclado, puede modificarla e ignorar la
tecla presionada si no es una de las teclas esperadas. La prueba de teclas es útil para activar el
cierre de una pantalla desplegable, la validación de entrada e incluso la participación en cierto tipo
de juegos.
El evento KeyPress se activa cuando el usuario presiona cualquier tecla que corresponda a uno
de estos caracteres:
Caracteres numéricos
Puntuación
El evento KeyPress prueba la mayor parte de los caracteres ANSI. No los prueba todos (como
el tabulador horizontal, las teclas de flecha y otros caracteres de control que aparecen entre los
valores ANSI. Utilice KeyPress para determinar exactamente cuál tecla presionaron los usuarios.
Por ejemplo, KeyPress devuelve una letra A si los usuarios presionan esa tecla.
Nota: El evento KeyPress se activa cuando se oprime una tecla. Si el usuario mantiene oprimida la tecla, el
evento se activará cuando el teclado repita automáticamente los caracteres.
Como sabe, un evento siempre está asociado con un objeto, como un botón de comando o
el formulario. El evento KeyPress siempre se asocia con cualquier objeto que tenga el enfoque
cuando el usuario presiona la tecla. Si no hay objeto que tenga el enfoque, el evento KeyPress se
asocia con el formulario. (Puede ocurrir una excepción, de acuerdo con la propiedad KeyPreview
que se explica más adelante en la sección “Asignación de prioridades a las respuestas”, en la
lección de hoy.)
El argumento KeyAscii es un entero que representa el código ANSI o ASCII del carácter que
el usuario presionó. Es posible utilizar la instrucción If o Select Case para ver si el carácter es una
tecla esperada.
Una de las tareas más importantes que puede realizar con KeyPress es alterar el valor de la
tecla oprimida. El evento Keypress ocurre en cuanto los usuarios presionan la tecla y antes de que
un control reciba lo escrito. Normalmente, un control de cuadro de texto despliega de inmediato
cualquier tecla que presionen los usuarios cuando el control de cuadro de texto tiene el enfoque.
Sin embargo, si escribe un procedimiento de evento KeyPress para un control de cuadro de texto,
puede cambiar el valor de la tecla, como se hace con el siguiente código:
En tanto que KeyPress prueba un amplio rango de teclas, el evento KeyDown es más
específico. KeyDown ocurre cuando los usuarios oprimen una tecla, como KeyPress, pero
KeyDown proporciona una información más detallada (y ligeramente más complicada) de su
teclado. Por ejemplo, KeyPresss devuelve un valor ANSI diferente para la T mayúscula y la t
minúscula. KeyDown devuelve el mismo valor, además de otro valor llamado argumento de estado
que escribe el estado de las teclas Mayús, Ctrl y Alt.
Nota: El evento KeyDown ocurre cada vez que un usuario presiona una tecla. Por lo tanto, los eventos
KeyDown y KeyPress pueden ocurrir al mismo tiempo (suponiendo que el usuario presiona una tecla ANSI).
Nota: Utilice KeyPress si quiere probar una tecla ANSI, porque KeyPress es más fácil de programar que
KeyDown.
Las funciones son un tipo de procedimiento, que devuelven un valor, después de que
terminan su trabajo al ejecutar su código. Tambien podemos decir que las funciones son
subprogramas que comparten las mismas características que los procedimientos con una
importante diferencia. Las funciones regresan un valor al programa que los llamo, mientras que los
procedimientos Sub únicamente ejecutan instrucciones sin regresar valor alguno.
Las funciones Internas las utilizaremos para realizar tareas de Entrada y salida. Una función
interna trabaja como una caja mágica que toma los valores que usted le envía, y regresa (o
devuelve) un resultado.
Una función interna, a veces llamada función intrínseca, se proporciona con el lenguaje de
Visual Basic y hace un trabajo predeterminado, como un cálculo o un trabajo de entrada/salida.
Debe conocer el nombre de una función interna y sus requisitos antes de que pueda utilizarla.
Aunque no verá el código de una función interna (las funciones internas son parte del lenguaje de
Visual Basic.
El lenguaje de programación Visual Basic integra una gran cantidad de funciones
predefinidas, listas para ser usadas y además proporcionan la facilidad para crear funciones
personalizadas.
El código de estas funciones esta integrado y se pueden usar directamente. Los valores de
entrada pueden ser constantes, Variables, expresiones numéricas o alfanuméricas. Las
expresiones primero se evalúan para producir el valor de entrada.
Se utiliza el término E/S o I/O genéricamente para referirse a cualquier forma de obtener
datos a partir de un dispositivo (como el teclado) y enviarlos de salida a un dispositivo (como la
pantalla).
El nombre de la función siempre tiene un par de paréntesis al final (con la rara excepción
de aquellas funciones que no requieren argumentos).
Coloque argumentos, separados por comas cuando sea necesario pasar varios de ellos,
dentro de los paréntesis de la función.
A continuación se muestra la línea de código que se puede utilizar para mostrar una imagen en
un control Image.
Nota 1: Muchas funciones requieren uno o más argumentos, pero algunos de ellos son opcionales.
LoadPicture ( ) requiere un solo argumento de cadena, y los argumentos restantes son opcionales.
¿Qué envía este código a LoadPicture ( )?. Una cadena con un nombre de archivo. ¿Qué devuelve
LoadPicture ( )?. La imagen localizada en ese archivo. Esta asignación destina esa imagen a la
propiedad Picture del control de imagen. Sin la función LoadPicture( ), el control de imagen no
podría desplegar la imagen. Un control de imagen requiere una imagen para la propiedad Picture,
no un nombre de archivo (a menos que haya especificado una imagen inicial en tiempo de diseño
en la ventana Propiedades).
Visual Basic tiene que trabajar mucho cuando se utiliza la función LoadPicture( ). También
debe analizar su lista de argumentos para asegurarse de que ha cumplido con la cantidad y el tipo
de datos de los argumentos requeridos; luego Visual Basic debe asegurarse de que la ruta de
acceso que proporcionó para la imagen es correcta; después debe ver si tiene derecho de acceso a
la red para el archivo (si está conectado en red); y por último, debe cargar el archivo en el control
Image. Por fortuna, Visual Basic proporciona LoadPicture ( )
Una manera de crear un bucle (repetición), es con la sentencia For... Next. Con esto
podemos crear un bucle repitiendo varias operaciones. Para hacer esto, se elige una variable que
actuará como contador de las vueltas del bucle. Cuando alcanza un valor determinado, finalizará el
bucle. Primero se iguala la variable que cuenta las vueltas al número que deseamos comenzar (For
i=0, For i=1, etc. ). Por defecto, la variable que cuenta las vueltas del bucle se incrementa en 1,
pero se puede asignar otro valor de incremento. Este valor se pone después de la palabra Step.
Bucle While
Estos bucles se utilizan cuando queremos repetir la ejecución de unas sentencias un número
indefinido de veces, siempre que se cumpla una condición. Es más sencillo de comprender que el
bucle FOR, pues no incorpora en la misma línea la inicialización de las variables su condición para
seguir ejecutándose y su actualización.
La sentencia while ejecuta la siguiente serie de pasos. Cada repetición de pasos del 1 al 4 se
denomina repetición del bucle. Al principio de cada repetición se vuelve a probar la condición
La reproducción indefinida suele utilizarse para ejecutar una acción mientras la variable de
contador sea inferior al valor especificado. Al final de cada bucle se incrementa el contador hasta
que se alcanza el valor especificado. En dicho punto, condition ya no es true y finaliza el bucle.
Bucle DO...WHILE
Aquí las palabras repeat y until sirven también como delimitadores de bloque.
Su diagrama de flujo es:
Reglas de funcionamiento:
1. La condición se evalúa al final del bucle, después de ejecutarse todas las sentencias.
2. Si la condición es falsa, se vuelve a repetir el bucle y se ejecutan todas sus instrucciones.
3. Si la condición es falsa, se sale del bucle y se ejecuta la siguiente instrucción a until.
4. La sintaxis no requiere begin y end.
End Sub
Realizáremos una aplicación más, utilizando un bucle For next, Esta aplicación realizará lo
siguiente.
Al dar Click en el botón se mostrara el progreso de un Objeto llamado Progres Bar y a la
vez en una etiqueta se mostra el porciento de avance del progres Bar.
Nota: el Objeto progres Bar hay que agregarlo de la barra de componentes como se mostro en un
ejercicio anterior.
Al ingresar los controles nuestro formulario se vera como el que se muestra a continuación.
Una vez ingresados los controles pasaremos a dar las propiedades que se muestran en la siguiente
tabla.
Objeto Propiedad Valor
Form1 Nombre FrmBarra
Caption Progreso
Moveable False
StartUpPosition 2. Center Screen
Command1 Nombre CmIniciar
Caption &iniciar
Label1 Nombre LblPorciento
Caption
MENSAJES DE TEXTO
Función MsgBox ( )
Con los argumentos que proporcione a la función MsgBox ( ) se determinará cuál icono se
despliega, cuál es el mensaje y el número y tipo de botones de comando que aparecerán. Por lo
tanto, el programador controla exactamente la manera como aparece el cuadro de mensaje ante
el usuario. Cuando MsgBox ( ) se completa, devuelve un valor que especifica en cuál botón de
comando hizo clic el usuario. Por lo tanto, su programa puede verificar el valor devuelto si la
función MsgBox ( ) despliega dos botones de comando. Entonces el programa puede utilizar una
instrucción If para determinar el mejor curso de acción con base en la sección del usuario.
Nota: La función MsgBox ( ) despliega un mensaje y le permite al usuario responder cuando lo termina de
leer.
Sintaxis:
Respuesta= MsgBox(“ Mensaje ”, Estilo + Icono, “Titulo”)
Este formato muestra dos argumentos opcionales, Estilo y Título. Como puede ver, una
función MsgBox ( ) requerirá de un argumento de cadena y, opcionalmente, uno entero y otro de
cadena, de acuerdo al tipo de cuadro de mensaje que desee que aparezca. Respuesta también es
opcional si utiliza a MsgBox por sí solo. Advierta que, de hacer esto último, tampoco deberá incluir
los paréntesis.
Respuesta indica el tipo de datos que devuelve la función. El primer argumento es una
cadena (o variable o control que contiene una cadena) que se despliega como mensaje del cuadro
de mensaje. El segundo argumento determina el tipo de botones que aparecen, así como el icono
y algunas otras características que determinan el comportamiento del cuadro de mensaje. El
último argumento determina el texto que aparece en la barra de título del cuadro de mensaje.
Nota: Si despliega una cadena de mensaje demasiado larga para que ocupe una sola línea del cuadro de
mensaje, Visual Basic la dividirá en dos o más líneas. También se encarga de la división apropiada de las
palabras.
Suponga que necesita esperar la respuesta del usuario antes de imprimir un informe. Puede hacer
que se muestre el siguiente cuadro de mensaje, que es muy sencillo:
Respuesta = MsgBox (“Haga clic cuando esté listo para imprimir el informe”)
Tome en cuenta que si no especifica todos los argumentos de MsgBox ( ) Visual Basic hace
algo más: utiliza el título del proyecto como barra de título del cuadro de mensaje. Por lo tanto,
casi siempre querrá asignar un mejor nombre en la barra de título, por lo que podrá hacer después
de que aprenda acerca del primer argumento opcional.
Si desea tener más control sobre los botones puede utilizar un valor Integer (o una
variable) en el primer argumento opcional, para especificar el estilo de los botones. Si sólo hay un
botón, el valor que devuelva no es de gran importancia. Si hay más de un botón de comando, el
valor que se devuelva contendrá un valor que corresponda al botón de comando donde se hizo
clic. Pude utilizar esta información en una instrucción If o Select Case para ejecutar uno de los dos
conjuntos de código que corresponde a uno de los botones.
En la siguiente tabla se presenta una lista de los valores enteros de estilo de botón que
puede utilizar para el primer argumento opcional de la función MsgBox ( ).
En la siguiente tabla se presenta una lista de los posibles valores devueltos a partir de la
función MsgBox ( ). Por lo tanto, la siguiente podría ser la instrucción If que maneje el cuadro de
mensaje anterior:
If (Respuesta = Ø) Then
‘Aquí va el código que maneje
‘el clic del botón Aceptar
Else
‘Aquí va el código que maneje
‘el clic del botón Cancelar
End If
Valores de devolución para determinar en cual botón de comando hizo clic el usuario.
Nota: Si el usuario presiona Esc en el cuadro de mensaje, Visual Basic responderá como si el usuario
hubiera hecho clic en el botón Cancelar y devolverá el valor apropiado.
Una constante con nombre es un identificador dado a un valor literal. Las constantes con
nombre de Visual Basic por lo general empiezan con el prefijo vb. No se puede cambiar el valor de
las constantes con nombre (por eso son constantes) como lo hace con el valor de las variables que
declara, pero puede utilizar las constantes con nombre en listas de argumentos de función y en
cualquier otro lugar donde vaya una literal.
Las constantes con nombre hacen más legibles y comprensibles sus programas. Por ejemplo, cada
una de las siguientes instrucciones son idénticas pero en la segunda instrucción, el botón de
comando que aparece es obvio:
No es necesario que memorice todas las constantes con nombre. El editor de Visual Basic
despliega una lista de constantes con nombre relacionada con la función que se escribe, como en
MsgBox ( ).
En esta tabla se muestran los Valores para mostrar un icono en el cuadro de mensaje.
Ejemplo No. 1
Para el siguiente ejemplo se requiere de un formulario y dos Command Button. Al dar Click
al segundo command se cerrara la aplicación y al dar click al primer Command este mostrará un
mensaje que dirá Ejemplo de MsgBox junto con un botón Aceptar y un icono de una I la cual
indicará que lo que se muestra se trata de una información.
End Sub
End
End Sub
Interfaz ya terminada y
ejecutada.
Ejemplo 2
Ahora realizáremos una aplicación más, que contenga los siguientes controles:
1 frame, 1 textBox, 1CommandButton, el formulario con sus controles debe de tomar la siguiente
forma.
Una vez modificadas las propiedades nuestra interfaz tomará la apariencia siguiente.
Siguiendo con los pasos para realizar programas en Visual Basic, nos corresponde ahora
realizar la codificación de los objetos que requieran ser codificados.