Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1 – Conceptos de Programación
FACULTAD DE INGENIERIA
• Rapidez.
• Precisión.
• Memoria.
No obstante, la computadora por sí sola no sabría resolver ni el más
sencillo problema que se nos pueda ocurrir. Es preciso, para que pueda hacerlo,
describirle con detalle y en su lenguaje todos los pasos que ha de llevar a cabo
para la resolución del problema. Una descripción de este tipo es lo que se llama
programa de computadora y su objetivo es dirigir el funcionamiento de la
máquina.
Etapa Resultado
Problema
Análisis
Especificaciones
Diseño Reportes
Formatos
Bases de datos
Presentación Programas
Diseño
Aprobación
D
Programación Algoritmo/Flujograma/Seudocódigo E
Codificación–Programa fuente, Prog estructurada S
Compilación – Programa Objeto A
(Errores: Sintaxis, Lógica) R
Enlace – Código ejecutable R
(Aplicación:Interactiva/por lotes/reportes/consultas) O
L
Pruebas L
Unitarias Errores:Ejecución,Especificación O
Funcionales
De conjunto
De esfuerzo
Evaluación
Aplicación aprobada
Documentación
Manual Sistema
Manual Usuario
Manual Operación
Manual Instalación
Capacitación
Usuarios EXPLOTACION
Técnicos
Explotación y
Mantenimiento
Figura 1.2. Ciclo de vida del software
Análisis. Consiste en el estudio detallado del problema con el fin de obtener una
serie de documentos (especificaciones) en los que quede totalmente definido el
proceso de la automatización. Consta principalmente de:
- Análisis previo.
- Análisis funcional.
- Análisis orgánico.
Diseño. Consiste en concebir de modo completo la aplicación en términos de
definir el contenido de los reportes, formatos de pantalla, bases de datos y de los
programas.
Programación. Consiste en la realización de una solución o algoritmo del
problema planteado. Esta solución se diseña utilizando una notación intermedia
(seudo-código) o mediante alguna de las notaciones gráficas como los
ordinogramas; sin tener en cuenta necesariamente el lenguaje de programación
que se vaya a utilizar en la siguiente etapa.
En esta etapa es donde tiene cabida fundamentalmente la actividad del
programador y la utilización de técnicas adecuadas de diseño como la
programación estructurada y el diseño modular.
Codificación. Escritura en un lenguaje de programación de alto nivel de los
algoritmos obtenidos en la etapa anterior.
Edición. En esta fase se transcribe el programa a la computadora, grabándose el
mismo en la memoria auxiliar por medio de un editor de programas o procesador
textos. A este programa almacenado en la computadora y escrito en lenguaje de
alto nivel se le denomina programa fuente.
Compilación. Consiste en obtener el programa objeto, codificado en lenguaje de
máquina a partir del programa fuente. Esta tarea se realiza de forma automática
mediante el compilador del lenguaje, el cual, además de efectuar la traducción,
incluye un análisis sintáctico del programa, detectando posibles errores en su
escritura y posibilitando corrección de los mismos.
Enlace (linkage). En esta fase se incluyen determinadas rutinas internas de la
librería dcl lenguaje que sean necesarias en el programa, y si la aplicación consta
de varios programas o módulos se enlazan todos ellos, obteniéndose lo que
denominamos programa ejecutable.
Prueba de ejecución. El programa ejecutable obtenido en la etapa anterior se
somete a un juego de datos de prueba capaz de detectar los posibles errores en
su funcionamiento.
Errores .- La presencia de errores, surgidos en alguna de las etapas antes
descritas, suele ser inevitable. Por ello, es muy importante saber detectarlos y
corregirlos para asegurar la calidad del producto final. Un programa en
explotación puede contener errores que no han sido detectados y que pueden dar
lugar a consecuencias imprevisibles.
En el momento en que se encuentra un error hay que proceder a estudiar
sus causas y regresar a la etapa correspondiente en que puede ser corregido.
Según la etapa en que se detectan, los errores se clasifican de la siguiente
manera:
• De compilación. También denominados errores sintácticos, son los más
fáciles de encontrar y corregir. Se producen por el incumplimiento de las reglas
sintácticas del lenguaje y son detectados por el programa compilador indicando el
lugar en que se encuentran y la clase de error.
• De ejecución. Se detectan durante la ejecución del programa por la parada
anormal del mismo, y suelen provenir de la realización de operaciones no
permitidas. Se producen o no dependiendo de los datos de entrada empleados;
por ello, para encontrarlos es necesaria la prueba del programa con un conjunto
de datos dc ensayo lo suficientemente amplio que abarque la mayoría de casos y
posibilidades de ejecución.
• De lógica. Se dice que un programa tiene un error de lógica si produce
resultados que no son correctos. Para detectarlos hay que realizar un número
suficiente dc ejecuciones con diferentes datos de prueba y comprobar los
resultados obtenidos.
• De especificación. Son los más difíciles de corregir, pues corresponden a
incorrecciones sobrevenidas en la etapa del análisis, por lo que hay que modificar
gran parte del trabajo realizado.
1.4.1 Entrada de datos. Está formada por todas las instrucciones que toman los
datos objeto del programa desde un dispositivo externo (unidad de entrada)
depositándolos en la memoria central de la computadora, incluyendo la depuración
o validación de los mismos.
1.4.3 Salida de resultados. La constituyen las instrucciones que hacen que los
datos resultantes del proceso sean proporcionados al exterior por medio de algún
dispositivo (unidad de salida).
Estos tres componentes de todo programa (Figura 1.4) no aparecen
separadamente, sino que lo normal es encontrar las instrucciones pertenecientes
a cada uno de los tres grupos mezcladas entre si, pues en multitud de ocasiones
es necesario realizar operaciones de entrada después de iniciada la fase de
proceso, y asimismo, se proporcionan algunos resultados antes de terminado el
mismo.
Datos Memoria central Resultados
EJEMPLO
Instrucciones en lenguaje ensamblador.
INICIO: ADD B, 1
MOV A, B
CMP A, E
JE FIN
JMP INICIO
FIN: END
Este lenguaje presenta la mayoría de los inconvenientes del lenguaje de
máquina:
Cada modelo de computadora tiene un lenguaje ensamblador propio
diferente del de los demás, por lo cual un programa sólo puede utilizarse en la
máquina para la que se programó.
El programador ha de conocer perfectamente el hardware del equipo, ya
que maneja directamente las posiciones de memoria, registros del procesador y
demás elementos físicos.
Todas las instrucciones son elementales, es decir, en el programa se deben
describir con el máximo detalle todas las operaciones que se han de efectuar en la
máquina para la realización de cualquier proceso.
Por otro lado, tanto el lenguaje de máquina como el ensamblador gozan de
la ventaja de mínima ocupación de memoria y mínimo tiempo de ejecución en
comparación con el resultado de la compilación del programa equivalente escrito
en otros lenguajes.
Coma fija
NUMÉRICAS Coma flotante
....
Códigos alfanuméricos
Hoy día los códigos más utilizados son los de 8 bits, de los cuales los más
conocidos son el EBCDIC (Extended Binary Coded Decimal Interchange Code) y
el ASCII extendido. La Tabla 1.1 representa el código ASCII extendido a 8 bits y la
Tabla 1.2 representa el código EBCDIC.
1010 010 LF 026 SUB 042 * 058 : 074 J 090 Z 106 j 122 z 138 è 154 Ü 170 ¬ 186 ¦ 202 - 218 + 234 Û 250 ·
1011 011 VT 027 ESC 043 + 059 ; 075 K 091 [ 107 k 123 { 139 ï 155 ø 171 ½ 187 + 203 - 219 _ 235 Ù 251 ¹
1100 012 FF 028 FS 044 , 060 < 076 L 092 \ 108 l 124 | 140 î 156 £ 172 ¼ 188 + 204 ¦ 220 _ 236 ý 252 ³
1101 013 CR 029 GS 045 - 061 = 077 M 093 ] 109 m 125 } 141 ì 157 Ø 173 ¡ 189 ¢ 205 - 221 ¦ 237 Ý 253 ²
1110 014 SO 030 RS 046 . 062 > 078 N 094 ^ 110 n 126 ~ 142 Ä 158 × 174 « 190 ¥ 206 + 222 Ì 238 ¯ 254 _
1111 015 SI 031 US 047 / 063 ? 079 O 095 _ 111 o 127Del 143 Å 159 ƒ 175 » 191 + 207 ¤ 223 _ 239 ´ 255
ESC Escape.
SM Set Mode.
ENQ Enquiry.
ACK Acknowledge.
BEL Bell.
SYN Synchronous Idle.
PN Punch On.
RS Reader Stop.
UC Upper Case.
EOT End of Transmission
DC4 Device control 4.
NAK Negative Acknowledge.
SUB Substitute.
SP Space
1 coger plato
2 echar jabon
3 pasar el estropajo por el plato
4 si hay suciedad ir a la instrucción 2
5 si el plato no es azul ir a la instrucción 7
6 ponerlo con los azules
7 si hay más platos ir a la instrucción 1
Carácter finito. "Un algoritmo siempre debe terminar después de un número finito
de pasos".
Entrada. "Un algoritmo tiene cero o más entradas: cantidades que le son dadas
antes de que el algoritmo comience, o dinámicamente mientras el algoritmo corre.
Estas entradas son tomadas de conjuntos específicos de objetos".
A partir del carácter finito y de la salida se deduce que ante una misma
situación inicial (o valores de entrada) un algoritmo debe proporcionar siempre el
mismo resultado (o salida), con excepción de los algoritmos probabilistas.
1.10.4.1 Símbolos
Inicio / Fin
Entrada / Salida
Proceso
Decisión
Proceso iterativo
Proceso predefinido
Dirección de flujo
X i
14.- Se ingresarán N valores para X. Calcular el valor promedio X i 1
N
1 2 3
x x x xn
15.- La función e se puede calcular con la fórmula e 1
x x
....
1! 2! 3! n!
Llamemos NUM = Numerador, DEN = Denominador, TER = término = N/D.
Detener el proceso cuando el término TER sea menor o igual a 0.00005
16.- Cargar un vector de N elementos con valores introducidos al azar, luego
buscar el valor mayor y su ubicación e imprimir la información encontrada
17.- Construir la matriz identidad de N x N
18.- Se dispone de 9 bolas de billar, todas iguales menos una que tiene peso
diferente. En 3 pesadas debemos determinar cual es la diferente además
de saber si es más pesada o más liviana que las demás
19.- Dado un número, determinar si el mismo es par o impar
20.- Dado un número, determinar si el mismo es primo o no es primo
21.- Hallar la suma de los N primeros números pares
Leer M
I=0
I=I+1
Leer N(I)
No
I=
M? Si
I=M
I=I-1
J=0
J=J+1
SiAUX=N(J)
N(J)>N(J+ No N(J)=N(J+1)
1) N(J+1)=AUX
Si
No J=I
?
Si
No
I=
1 Si
I=0
I=I+1
Escribir N(I)
No
I=
M? Si
Fin
A
Fin Si Fin B
?
No
A No Ejecutar DIVE>2 Si
? ?
Si No
Leer N K=K+1
A P(K) = J
I
J Mod I = 0 ? No
Si A
DIVE = DIVE + 1
25.- Invertir los dígitos de un número N entero, positivo de dos cifras o más
A
Fin Si Fin
?
No
A No Invertir ?
Si
Leer N
No Desplegar A
A>0 N1
?
Si
DIG = A Mod 10
N1 = N1*10 + DIG
A = A \ 10
Inicio
A
Fin Si Fin
? No
A Ejecutar
No ?
Si
Leer N A
J = 1, N
H = H + A(I, K)
V = V + A(K, I)
Leer C
I
A(I, J) = C
S = H + V – A(K, K)
J
I Imprimir H, V,
S
S = 0, K = N \ 2 + 1
A
campo 3
Figura 2.3. Esquema lógico de un archivo.
2.3 Clasificación de los Archivos Según su Uso.- Los archivos se clasifican
según la utilización que se hace de ellos en tres grupos:
- Secuencial
- Directa o aleatoria
- Indexada
- Archivos de texto
- Archivos binarios
Acceso secuencial
Posiciones 01 02 03 04 05 06 07
Área de índices
Área de datos o primaria
Área de excedentes (Overflow)
Área de índices 01 AC 04 FA 07 GK
Área de datos AA -- AB -- AC -- BC -- CH -- FA -- GF -- GJ -
GK -
01 02 03 04 05 06 07 08
Área excedentes FM -- AN -- BM -- GA
Empleado
Estudios Experiencia
Empleado
Logros Familia
AUTOCAR CONDUCTOR
CIUDAD
PASAJERO
AGENCIA
105 JULIÁN PÉREZ LA PAZ ELÍAS PEINADO
TOURISA
105 JULIÁN PÉREZ COCHABAMBA ANA MARTORELL
PRISA
105 PEDRO ROSALES SANTA CRUZ MARTA SÁNCHEZ
TOURISA
107 JULIÁN PÉREZ SUCRE JULIO CARRANZA
TOURIZA
2.6.3 Seguridad Contra Fallos del Sistema o del Soporte.- Es preciso proteger
no sólo los datos, sino también las operaciones de actualización que se realizan
con ellos, de tal manera que si en un momento dado se produce una caída del
sistema o la rotura del soporte, se pueda recuperar la información según estaba
antes del fallo.
Objeto.Propiedad = Valor
donde Objeto es el nombre del objeto cuya propiedad se desea establecer,
Propiedad es la característica que deseamos modificar y Valor es el nuevo valor
asignado a dicha propiedad. Por ejemplo:
Label1.Caption = ”Ingrese código de acceso”
podría utilizarse en el código de programa para asignar a la propiedad Caption del
objeto Label1 el valor “Ingrese código de acceso”.
3.2.2 Métodos .- Un método es una sentencia especial que realiza una acción o
un servicio para un objeto en concreto dentro del programa. La sintaxis para
utilizar un método es:
Objeto.Método = Valor
donde Objeto es el nombre del objeto que deseamos modificar, Método es la
orden que queremos utilizar para modificar el objeto y Valor es un argumento
opcional que utilizará el método. Por ejemplo, la sentencia
List1.Addltem = “Petrolera”
Utiliza el método Addltem para colocar la palabra ‘Petrolera’ en el cuadro de lista
List1.
3.4.1 Controles.- Los controles son objetos que se “dibujan” sobre un formulario,
tales como etiquetas, cuadros de texto, botones de comando, marcos, listas,
temporizadores, etc.
1.- Situar el puntero del mouse sobre el botón Inicio y hacer clic
2.- Situar el puntero del mouse sobre la opción programas
3.- Situar el puntero del mouse en el grupo de programas Visual Studio 6.0
Al hacer clic en el icono de Visual Basic 6.0, aparece el cuadro de diálogo Nuevo
proyecto. Este cuadro de diálogo solicita seleccionar el tipo de proyecto de
programación que se desea crear. Hacer clic en el botón Abrir para aceptar el
nuevo proyecto propuesto por defecto, una aplicación estándar de 32 bits para
Visual Basic. En el entorno de programación de visual Basic se abrirá un proyecto
nuevo, junto con algunas de las ventanas y herramientas que se muestran en la
siguiente ilustración:
Ventana de Propiedades
3.5.1 La barra de menús.- Muestra una lista con todos los menús (Archivo,
Edición, Ver, Proyecto, Formato, Depuración, Ejecutar, Consulta, Diagrama,
Herramientas, Complementos, Ventana y Ayuda) que permitirán acceder a la
mayoría de los comandos que controlan el entorno de programación. Los menús y
los comandos funcionan según una serie de reglas estándar utilizadas en todos
los programas basados en Windows y se podrá acceder a ellos utilizando el
Ventana de Propiedades
Cortar Explorador de proyectos
Copiar Terminar
Pegar Interrumpir
Buscar Iniciar
Deshacer Rehacer
Puntero PictureBox
Label
TextBox
Frame CommandButton
CheckBox OptioButton
ComboBox ListBox
HScrollBar VScrollBar
Timer DriveListBox
DirListBox FileListBox
Shape Line
Image Data
ActiveX
Lista de propiedades
Para cambiar el tamaño del formulario, sitúe el puntero del mouse sobre uno de
los cuadraditos que aparecen en medio de los lados o en una de las esquinas del
formulario, y cuando el puntero cambie a una flecha doble, arrastre en el sentido
adecuado hasta que el formulario adquiera el tamaño deseado.
Hacer clic en este botón y en el cuadro de diálogo que aparece, seleccionar una imagen
3.6.1.13 ShowlnTaskBar.- Permite determinar si en la barra de tarea de
Suceso Comentario
Activate Este suceso ocurre cuando el formulario se convierte en la ventana activa.
Click Este suceso ocurre cuando el usuario hace clic sobre el formulario.
Deactivate Este suceso ocurre cuando el formulario deja de ser la ventana activa.
DblClick Este suceso ocurre cuando el usuario hace doble clic sobre el formulario.
MouseDown Este suceso ocurre cuando el usuario presiona un botón del mouse
con el
MouseUp Este suceso ocurre cuando el usuario suelta el botón del mouse sobre el
Método Comentario
Hide Oculta el formulario
Refresh Actualiza el contenido del formulario.
SetFocus Le entrega el enfoque al formulario.
Show Hace visible el formulario.
3.7 Creación de una aplicación.- En general, para construir una aplicación con
Visual Basic, se siguen estos tres pasos fundamentales:
1. Diseñar la interfaz de usuario (medio de comunicación entre el usuario y la
aplicación) utilizando los controles del cuadro de herramientas.
2. Establecer las propiedades de los elementos (formularios y controles) de la
interfaz de usuario.
3. Escribir el código de programa para cada uno de los elementos de la interfaz
de usuario.
Desarrollar la primera aplicación. Esta tendrá un formulario, un cuadro de
texto y dos botones de comando. En esta aplicación, cuando el usuario haga clic
en el botón ‘Saludo’, en el cuadro de texto debe aparecer el mensaje “Estoy
aprendiendo Visual Basic” y cuando haga clic en el botón ‘Salir’, la aplicación debe
finalizar. Seguir estos pasos:
Abrir el menú Archivo y... ...hacer clic en el comando Nuevo proyecto
Observar que alrededor del control aparecen ocho cuadraditos. Estos cuadraditos
se llaman puntos de control y permiten modificar el tamaño del objeto con sólo
arrastrarlos en la dirección adecuada.
2. Modificar el tamaño del objeto. Para ello, situar el puntero del mouse sobre uno
Hacer clic sobre la propiedad Height, introducir un nuevo valor para establecer la altura del objeto y
presionar Enter. Lo mismo se puede hacer con la propiedad Width
Se puede cambiar la posición de un objeto si éste tiene una posición inadecuada.
Para ello, situar el puntero del mouse sobre el objeto y arrastrar el objeto hacia
una nueva posición. También se puede cambiar la posición de un objeto
ingresando nuevos valores en las propiedades Left (izquierda) y Top (superior), en
la ventana Propiedades. Left permite establecer la distancia entre el borde
izquierdeo interno del formulario y el objeto seleccionado. Top permite establecer
la distancia entre el borde superior interno del formulario y el objeto seleccionado.
Utilizar este cuadro de diálogo para modificar algunas propiedades del texto
que aparecerá en el control Mensaje. Por ejemplo, seleccionar la fuente Arial de
tipo Normal y tamaño 12. Finalmente, hacer clic en Aceptar.
Modificar las propiedades del botón de comando Command1:
1. En el formulario, seleccionar el botón Command1.
2. En la ventana Propiedades, ingresar el texto ‘Saludo’ en la propiedad (Nombre).
3. En la propiedad Caption, ingresar el título “Saludo”.
Modificar las propiedades del botón de comando Command2:
1. En el formulario, seleccionar el botón Command2.
2. En la ventana Propiedades, ingresar el texto ‘Salir’ en la propiedad (Nombre).
3. En la propiedad Caption, ingresar el título “Salir”.
Luego de haber establecido las propiedades de los elementos del formulario,
éste tendrá un aspecto similar a la siguiente ilustración:
EndSub
El cuerpo principal de un procedimiento siempre debe encontrarse situado
entre estas dos sentencias. El nombre del procedimiento, Saludo_Click indica que
el procedimiento está conectado con el botón de comando Saludo y que será
ejecutado cuando se produzca el suceso Click.
3.9 Ejecución del programa.- Para ejecutar el programa hacer clic en el botón
Iniciar de la barra de herramientas estándar. El programa se ejecutará y aparecerá
la interfaz de usuario tal y como fue diseñada.
Hacer clic en el botón Saludo y en el cuadro de texto aparecerá el mensaje
“Hola. Estoy aprendiendo Visual Basic”.
Para ejecutar una aplicación también se puede hacer clic en la opción Iniciar
del menú Ejecutar o presionar la tecla F5.
Para finalizar la ejecución del programa, hacer clic en el botón “Salir”.
4.1 El control Label (Etiqueta).- Este control se utiliza para colocar títulos en el
formulario y mensajes junto a los cuadros de texto para que los usuarios sepan
qué introducir en ellos.
Las etiquetas se utilizan para mostrar mensajes que indican a los usuarios qué es lo que deben
hacer.
El control TextBox también se utiliza para introducir datos que serán procesados por un
procedimiento asociado a este u otro control.
Cuando el usuario seleccione una opción, aparecerá un check dentro de la casilla y la propiedad
Value adoptará el valor 1.
Utilizar el control OptionButton cuando se quiera presentar varias opciones de las cuales el usuario
solo puede elegir una.
4.7 El control ListBox (Cuadro de lista).- Este control pone a disposición del
usuario un conjunto de elementos, de los cuales puede elegir uno. Si el número de
elementos supera el número de los que pueden ser visualizados simultáneamente
en la lista, aparecerá automáticamente una barra de desplazamiento vertical para
que el usuario pueda desplazar los elementos de la lista hacia arriba o hacia
abajo. Generalmente, una lista es apropiada cuando se quiere limitar la entrada
de una serie de elementos determinados.
Por defecto los elementos de la lista se visualizan en una sola columna,
aunque es posible establecer múltiples columnas. Si el ancho total de las
columnas supera el ancho de la lista, aparecerá automáticamente una barra de
desplazamiento horizontal para que el usuario pueda desplazar las columnas
hacia la izquierda o hacia la derecha.
Propiedad Descripción
Enabled True/False. Devuelve o establece un valor que determina si el control está
habilitado para responder a eventos realizados por el usuario.
Columns Devuelve o establece un valor que determina si un control ListBox se
desplaza verticalmente en una única columna (valor 0) u horizontalmente
en columnas periódicas (valores mayores que 0).
List Un arreglo que contiene los elementos de la lista, comienza con índice 0.
ListCount Número total de elementos de la lista.
Listlndex Contiene el índice del elemento seleccionado, que es un número entre 0
4.7.2 Métodos
Método Descripción
AddItem Permite añadir nuevos elementos a la lista. La sintaxis de este
método es:
Listl.AddItem elemento (, índice)
elemento es una cadena que se va añadir a la lista, y el índice es su
orden. El argumento índice es opcional; si se omite, la cadena se
añade al final de la lista. Si está puesta como True la propiedad
Sorted del control, la entrada se inserta en el lugar adecuado de la lista,
sin tener en cuenta el valor del argumento indice
RemoveItem Permite eliminar elementos de una lista. Para borrar un elemento de una
lista, primero debemos averiguar su posición (índice) dentro de la lista, y
pasársela al método RemoveItem. La sintaxis de este método es:
Listl.RemoveItem índice
El parámetro índice es el lugar que ocupa la entrada que se quiere borrar y
esta vez no es opcional.
Clear Borra todos los elementos de la lista. Su sintaxis es: List1.Clear
4.7.3 Sucesos
Suceso Descripción
Click Ocurre cuando el usuario hace clic sobre el control.
La siguiente aplicación permite añadir, eliminar y seleccionar elementos en
una lista. La interfaz debe ser similar a la siguiente ilustración:
En el cuadro de lista, hacer clic en el nombre del país que desea eliminar y
seguidamente, hacer clic en el botón ‘Eliminar elemento’.
4.8.2 Sucesos
Suceso Descripción
Click Con cualquiera de las listas, ocurre cuando el usuario selecciona un ítem
6.8.3 Métodos
Método Descripción
AddItem Permite añadir nuevos elementos a la lista.
RemoveItem Permite eliminar elementos de una lista.
Clear Borra todos los elementos de la lista.
La siguiente aplicación es similar a la aplicación anterior pero esta vez se
utiliza el control ComboBox. La interfaz debe tener el siguiente aspecto:
SmallChange SmallChange
LargeChange LargeChange
Min Value Max
4.10.1 Propiedades
Propiedad Val p/defecto Descripción
LargeChange 1(1-32655) Cuando el usuario haga clic en el área que hay entre el
cuadro de desplazamiento y las flechas, éste se
desplazará hacia la derecha o hacia la izquierda y la
propiedad Value se incrementará o decrementará una
4.10.2 Sucesos
Suceso Comentario
Change Este suceso ocurre cada vez que el usuario cambia la posición del cuadro
de desplazamiento ya sea haciendo clic en SmallChange o LargeChange o
bien desplazando con el mouse el cuadro de desplazamiento, en este
último caso el suceso Change se activa solo cuando se suelta el botón del
mouse.
Scroll Ocurre continuamente mientras el cuadro de desplazamiento es arrastrado
de una posición a otra con el mouse.
Desarrollar una aplicación que muestre el manejo del control HScrollBar. El
programa debe combinar los tres colores básicos: rojo, verde y azul.
La interfaz debe ser similar a la siguiente ilustración:
5.1.1 Comentarios.- Son todo lo que está a la derecha del carácter (‘) en una
línea cualquiera de programa y no ejecuta acción alguna. Por ejemplo:
‘Suma de los números pares
SumaPares = 0 ‘Se inicializa la variable SumaPares al valor 0
Los comentarios son de mucha utilidad para poder entender el código del
programa utilizado. En programas con pocas líneas de código puede no parecer
importante, pero cuando se trata de proyectos realmente complejos, o
desarrollados por varios programadores su importancia se hace evidente. En el
caso de que el código no esté comentado, el trabajo de actualización y revisión
puede ser una tarea difícil.
5.1.3 Las Variables.- Utilizadas para almacenar valores durante la ejecución del
programa. Por ejemplo,
Ventas = 5500
Asigna el valor 5500 a la variable Ventas. Observar que el signo igual del ejemplo
es un operador de asignación, no es un operador de igualdad; el valor 5500 se
asigna a la variable Ventas. El valor de una variable puede modificarse a lo largo
de la ejecución del programa.
Las variables tienen nombre, tipo de dato y un ámbito. El nombre se utiliza
para identificar a la variable en el programa, debe ser corto y fácil de recordar. El
nombre de una variable debe comenzar con una letra, no puede incluir un punto,
no debe exceder de los 255 caracteres de longitud y debe ser único en el mismo
alcance, que es el intervalo desde el que se puede hacer referencia a la variable:
un procedimiento, formulario, etc. Los caracteres de una variable pueden ser
letras, dígitos, el carácter de subrayado (_) y los caracteres de declaración del tipo
de la variable (%, &, ¡, #, @, y $). El nombre de una variable no puede ser una
palabra reservada del lenguaje (For, If, Loop, Next, Val, Hide, Caption,...).
5.3 Tipos de Datos.- Visual Basic dispone de varios tipos de datos, aplicables
tanto para constantes como para variables. La siguiente tabla muestra los tipos de
datos disponibles en Visual Basic.
Carácter de declaración
Tipo Descripción del tipo Rango
Boolean Binario True o False
Byte Entero corto 0 a 255
Integer Entero (2 bytes) % -32768 a 32767
Long Entero largo (4 bytes) & -2.147.483.648 a 2.147.483.647
Single Real simple precisión (4 bytes) ¡ -3.40E+38 a 3.40E+38
Double Real doble precisión (8 bytes) # -1 .79D+308 a 1.79D+308
Currency Número con punto decimal fijo @ -9.22E+14 a 9.22E+14
(8 bytes)
String Cadena de caracteres (4 bytes $ 0 a 65500 caracteres
+ 1 byte/car. hasta 64k)
Date Fecha 1 de enero del 100 a 31 de dic
de
9999. Indica también la hora,
desde 00:00:00 a 23:59:59.
Variant Fecha/ hora; números (ninguno) F/h: como Date: números:
mismo
enteros, reales, o caracteres rango del tipo de valor
almacenado
(16 bytes + 1 byte/car, en cadena
de caracteres.)
Otra forma de declarar una variable es utilizando los caracteres de
declaración de tipo. Por ejemplo:
Edad% Variable de tipo Integer.
Longitud# Variable de tipo real de precisión doble
Dirección$ Variable de tipo carácter.
TipoInterés@ Variable fraccionaria
Si una variable no es declarada, se asume que es de tipo Variant. Por
5.4 Ambito de las Variables.- Se entiende par ámbito de una variable al espacio
de la aplicación donde la variable es reconocida y por lo tanto se puede utilizar.
5.4.2 Variables Estáticas.- Una variable local se re-inicializa cada vez que se
entra en el procedimiento o función en el que se crea y al terminar se destruye.
En otras palabras, una variable local no conserva su valor entre una llamada al
procedimiento y la siguiente. Para hacer que una variable conserve su valor entre
una llamada a otra, hay que declararla estática utilizando la palabra reservada
Static. Visual Basic re-inicializa una variable estática solamente la primera vez que
se llama al procedimiento. Por ejemplo, en el código
Static Edad As Integer
5.4.3 Variables a Nivel del Formulario.- Una variable declarada a nivel del
formulario puede ser compartida por todos los procedimientos de ese formulario.
Para declarar una variable a nivel del formulario, hacer doble clic sobre uno de los
objetos contenidos en el formulario y en la ventana de código, seleccionar
(General) del cuadro de lista Nombres y seleccionar (Declaraciones) del cuadro de
lista de sucesos.
El punto de inserción aparece en la sección de declaraciones del formulario.
Es en esta sección donde la variable debe ser declarada como se puede apreciar
en las gráficas siguientes:.
5.4.4 Variables a Nivel del Módulo.- Para compartir una variable entre todos los
formularios y procedimientos contenidos en un proyecto, se necesita declararla en
un módulo de dicho proyecto. Para crear un nuevo módulo, hacer clic en el
comando Agregar módulo del menú Proyecto. Seleccionar el botón Abrir y Visual
Basic añadirá un nuevo módulo estándar denominado Module 1 en el proyecto:
Los cuadros de lista Nombre y Suceso indican que se encuentra abierta la
sección de declaraciones generales del módulo estándar. Las variables que se
Nombre de objeto del módulo (nombre que tendrá el módulo en el programa). Nombre de archivo del
módulo.
Como los módulos no incluyen otros objetos, su única propiedad es Name.
En ésta digitar el nuevo nombre de objeto para el módulo. De esta manera, se
podrá distinguir un módulo de otros si se decide utilizar más de uno en los
programas.
Type Registro
RazónSocial As String*50
Direccion As String*40
Teléfono As String*10
RUC As Long
End Type
Luego de definir el nuevo tipo de dato, podemos declarar variables globales, a
nivel del módulo. Por ejemplo
Global Clientes As Registro
Declara a la variable Clientes de tipo Registro. Para referirse a un determinado
5.6 Funciones Matemáticas.- Visual Basic incluye varias de estas funciones que
nos permiten realizar operaciones matemáticas complejas. La siguiente tabla
muestra cada una de estas funciones junto con una breve descripción de su
contenido.
Función Descripción
Abs() Devuelve el valor absoluto de un número.
Sintaxis:
Abs(número)
Donde, el argumento número puede ser cualquier expresión numérica válida. El
valor absoluto de un número es su magnitud sin signo. Por ejemplo:
ABS(-5) y ABS(5) devuelven 5.
Cos() Devuelve el coseno de un ángulo en radianes.
Sintaxis:
Cos(número)
Donde el argumento número es un número tipo Double o cualquier expresión
numérica válida que expresa un ángulo en radianes. La función Cos toma el
ángulo y devuelve la razón de dos lados de un triangulo rectángulo. La razón es
la longitud del lado adyacente al ángulo dividido por la longitud de la hipotenusa.
Para convertir grados en radianes, se multiplica los grados por PI/180. Para
convertir radianes en grados, se multiplica los radianes por 180/PI.
Exp() Devuelve e (la base de los logaritmos naturales) elevado a una potencia.
Sintaxis:
Exp(número)
Donde, el argumento número es un número tipo Double o cualquier expresión
numérica válida. El valor de la constante e es 2.718282 aproximadamente.
Int, Fix Devuelve un valor del mismo tipo que el que se paso como parámetro y que
contiene la parte entera de un número.
Sintaxis:
Int(número)
Fix(número)
Donde número puede ser cualquier expresión numérica válida. Las funciones Int
y Fix eliminan la fracción de un número y devuelven el valor entero resultante.
La diferencia entre Int y Fix es que si el número es negativo, Int devuelve el
primer entero negativo menor o igual a número, mientras que Fix devuelve el
primer ente negativo mayor o igual a número. Por ejemplo, Int convierte -8.4 en -
Seleccionar el tipo.
Definir el alcance del procedimiento.
Hacer clic en Aceptar y Visual Basic abrirá el procedimiento LlenarLista:
Public Sub LlenarLista()
End Sub
Entre Public Sub LLenarLista y End Sub digitar el siguiente código:
Dim numreg, i As Integer
numreg = LOF(1) \ Len(ObrasLit)
‘Las siguientes instrucciones llenan la lista con los códigos de los registros
If numreg <> 0 Then
Codigo.Clear
For i = 1 To LOF(1) \ Len(ObrasLit)
Get #1, i, ObrasLit
If ObrasLit.Sw = "1" Then Codigo.AddItem ObrasLit.Codigo
Next i
Else
Exit Sub
End If
Cuando se ejecute el programa, el control ListBox mostrará los códigos de
los registros:
Asociar un procedimiento al control ListBox accionado por el suceso Click.
Cada vez que el usuario haga clic sobre uno de los códigos que muestra este
control, los datos relacionados con el código deben aparecer en los cuadros de
texto
Hacer clic en las flechitas que muestra el control Data para moverse entre los registros de la
tabla.
7.1 El Control Image (Imagen).- Este control se utiliza para presentar imágenes
gráficas (mapa de bits, ícono, metarchivo, metarchivo mejorado o archivos JPEG o
GIF) en una aplicación. El control Image responde al evento Clic lo que permite
usarlo como un sustituto de los botones de comando, como elementos de una
barra de herramientas o para crear animaciones sencillas.
7.1.1 Carga de una Imagen en el Control Image.- Se puede cargar una imagen
gráfica en este control de dos maneras: durante el diseño de la aplicación o
durante la ejecución. Para cargar una imagen en tiempo de diseño, seguir estos
pasos:
1. En el formulario, hacer clic sobre el control Image con el botón derecho del
mouse y en el menú contextual que aparece, seleccionar Propiedades.
2. En la ventana Propiedades, hacer clic en el botón...de la propiedad Picture.
Visual Basic visualiza el cuadro de diálogo Cargar imagen.
3. En la ventana Cargar imagen, elegir una imagen y hacer clic en Abrir. El control
Image ahora muestra la imagen seleccionada:
Cuando se carga una imagen en un control Image, el control cambia su
tamaño automáticamente para ajustarse al de la imagen, independientemente del
tamaño del control dentro del formulario.
Stretch=False Stretch=True
Para eliminar una imagen, poner de nuevo la propiedad Picture a valor “”
(Ninguno). Para ello, hacer clic en el control Image, elegir la propiedad Picture en
la ventana Propiedades, hacer doble clic en la palabra visualizada en la caja de
valores y pulsar la tecla Delete (Supr).
10. Agregar nueve controles Image al formulario. La interfaz debe ser similar a la
ilustración proxima:
N K S NS KS SS NB KB SB
11. Asignar los nombres que muestra la ilustración a cada uno de los nueve
controles Image.
12. Establecer a False la propiedad Visible de cada uno de los 9 controles Image
recientemente nombrados.
13. Proceder a insertar los siguientes íconos en cada uno de los controles Image.
Negrita Cursiva Subrayado NegritaSob CursivaSob SubrayadoSob NegritaBaj CursivaBaj
SubrayadoBaj
N K S NS KS SS NB KB
SB
En el formulario, seleccionar el control N y en la ventana Propiedades hacer
clic en el botón ... de la propiedad Picture. En el cuadro de diálogo Cargar imagen,
hacer doble clic en el archivo de imagen Negrita. Esto hará que el icono Negrita
quede insertado en el control N.
Proceder de manera similar con los controles Image restantes:
Al control K insertar el icono Cursiva.
Al control S insertar el icono Subrayado.
Al control NS insertar el icono NegritaSob.
Botón F FS FB
Observar que el nombre Botón del control Image situado en la parte inferior
izquierda del formulario es igual a los nombres de los controles Image situados en
la parte superior izquierda del formulario. Estos cuatro controles forman una matriz
de controles y la propiedad index de cada uno de estos controles son 0, 1, 2 y 3
respectivamente.
15. Establecer la propiedad Visible de los controles F, FS y FB a False
16. Insertar en los controles F, FS y FB las imágenes de salir mostradas a
continuación:
Salir SalirSob SalirBaj
F FS FB
En el formulario, seleccionar el control F y en la ventana Propiedades hacer
clic en el botón ... de la propiedad Picture. En el cuadro de diálogo Cargar imagen
hacer doble clic en el archivo de imagen Salir. Esto hará que la imagen Salir
quede insertada en el control F. Proceder de manera similar con los dos controles
Image restantes.
Finalmente la interfaz de usuario debe tener el siguiente aspecto:
7.3 Los Métodos Gráficos.- Visual Basic tiene los siguientes métodos gráficos:
7.3.3 El Método Line.- Permite dibujar una línea entre dos puntos. La sintaxis de
este método es:
[objeto.]Line[(X1, Y1)] - (X2, Y2)[, color]
Si al método Line se le añade la opción B, las coordenadas (Xl ,Y1) y (X2,Y2)
harán referencia a la esquina superior izquierda o inferior derecha de un
rectángulo.
[objeto.]Line(X1, Y1) - (X2, Y2)[, [color], B[F]]
Si se especifica la opción BF, se obtiene una rectángulo coloreado. Si objeto
no se especifica, la figura se dibuja sobre el formulario actual.
Desarrollar una aplicación que muestre líneas verticales, horizontales y
diagonales en un control PintureBox. Seguir estos pasos:
1 Hacer clic en el comando Nuevo proyecto del menú Archivo para crear una
nueva aplicación.
2 Colocar tres controles Label, dos controles TextBox, dos controles UpDown,
cinco controles CommandButton y un control PictureBox en el formulario.
Asignar las siguientes propiedades a los controles:
Control Propiedad Valor
Form Caption Trazado de Líneas
Label Caption Introduzca los datos requeridos
Label Caption Horizontales
Label Caption Verticales
TextBox Name Horiz
MaxLength 4
Text ““
7.3.4 El Método Circle.- Permite dibujar un círculo, una elipse o parte de estas
figuras con centro (X, Y). La sintaxis de este método es:
[objeto.]Circle(X, Y), radio, [color], [principio], [fin], [aspecto]
X e Y son las coordenadas del centro del círculo y el argumento radio es el
radio del círculo. Los argumentos principio y fin son ángulos, en radianes, de
valores comprendidos en el rango –2*PI a 2*PI, que especifican los ángulos de
principio y fin para el trazado del arco. Si se omiten, se traza una curva completa.
El argumento aspecto es la proporción entre el radio vertical y horizontal de la
elipse. Si aspecto < 1, la elipse se extiende horizontalmente y se comprime en
dirección vertical.
Desarrollar una aplicación que dibuje un número de circunferencias requerido
con centro en el centro del PictureBox. Es fácil hacerlo utilizando el método Circle.
Seguir estos pasos:
1. Hacer clic en el comando Nuevo proyecto del menú Archivo para crear una
nueva aplicación.
2. Colocar dos controles Label, dos controles TextBox, un control UpDown, tres
controles CommandButton y un control PictureBox en el formulario.
3. Asignar las siguientes propiedades a los controles:
Control Propiedad Valor
Form Caption Circunferencias
Label Caption Circulos
Label Caption Aspecto
TextBox Name Círculos
7.4 Los Controles Line y Shape.- Estos controles permiten crear figuras
geométricas de diferentes formas, tamaños y colores en un formulario o en un
marco.
Utilizar el control Line para dibujar líneas rectas. La siguiente tabla muestra
algunas propiedades de este control:
Propiedad Descripción
BorderStyle Permite establecer el estilo del borde. Presenta las siguientes
opciones:
Valor Descripción
0-Transparent Transparente.
1-Solid Sólido.
2-Dash De rayas.
8.2.1 Propiedades
Propiedad Descripción
CancelError Asignar el valor True a esta propiedad y cuando el usuario haga clic en el
botón ‘cancelar’ del cuadro de diálogo, se generará un error que indica a
la aplicación que se quiere detener la operación actual. Todos los
cuadros de diálogo comunes generan el mismo error, el 32755 (la
constante Cancel). Proporcionar un gestor de errores que examine el
8.2.2 Indicadores.- Abierto el cuadro de diálogo, éste actuará de una u otra forma
dependiendo de una serie de indicadores, que el programador facilitará utilizando
la propiedad Flags. Para activar varios indicadores en la propiedad Flags, se debe
combinar sus valores mediante el operador lógico Or.
Constante Descripción
cdIOFNReadOnly Activa la opción “Abrir como sólo lectura” ubicada en la parte
Luego de que el usuario haya elegido la impresora y haya hecho clic sobre el
botón Aceptar, el control CommonDialog devuelve al programa el nombre de la
impresora y los atributos de impresión a través de las siguientes propiedades:
Propiedad Descripción
Copies (Copias) Especifica el número de copias que se van a imprimir.
FromPage (Desde la página) Especifica la página en la que comenzará la impresión
ToPage (Hasta la página) Especifica la página en la que se detendrá la impresión
HDC Específica el contexto del dispositivo de la impresora
seleccionada
PrinterDefault Asignar el valor True a esta propiedad y la nueva
impresora seleccionada por el usuario pasará a ser la
impresora por defecto
Dependiendo de los indicadores que se activen en la propiedad Flags, el
cuadro de diálogo Print actuará de una forma u otra.
8.4.1 Indicadores
Constante Descripción
cdIPDAIIPages Devuelve o establece el estado de la opción Todo.
cdIPDPageNums Devuelve o establece el estado de la opción Páginas.
8.5 El Cuadro de Diálogo Color.- Este cuadro de diálogo permite que el usuario
seleccione un color de una paleta o definir un color personalizado a partir de los
componentes rojo, verde y azul.
El cuadro de diálogo Color sólo tiene una propiedad: Color. Mediante esta
propiedad se podrá obtener el color seleccionado en tiempo de ejecución. Asignar
un color a la propiedad Color y asignar la constante CCRGBInit en la propiedad
Flags para que cuando se abra el cuadro de diálogo, aparezca seleccionado un
color inicial.
El cuadro de diálogo Color muestra sólo algunos colores, pero el usuario
puede definir un nuevo color haciendo clic en el botón Definir colores
personalizados.
8.5.1 Indicadores
Constante Descripción
9.2 Propiedades
Propiedad Descripción
AllowUserResizing Esta propiedad permite redimensionar el ancho de las columnas o la
altura de las filas. Para ello, en la columna o fila fija, situar el puntero
del Mouse sobre la línea divisoria de las celdas y arrastrar hasta
obtener el tamaño adecuado. La propiedad AllowUserResizing
presenta estas opciones:
0-flexResizeNone El usuario no puede cambiar el tamaño de las
celdas.
1-flexResizeColumns El usuario sólo puede cambiar el ancho de las
columnas.
2-flexResizeRows El usuario sólo puede cambiar la altura de las
filas.
3-flexResizeBoth El usuario puede cambiar el tamaño de filas y
columnas.
Cols Determina el número total de columnas que tendrá el control
MSFlexGrid.
Rows Determina el número total de filas que tendrá el control MSFlexGrid.
FixedCols Define el número total de columnas fijas no desplazables que tendrá
el control.
FixedRows Determina el número total de filas fijas no desplazables que tendrá el
control.
FormatString Permite establecer en tiempo de diseño el ancho de las columnas, las
alineaciones y el texto de las filas y columnas fijas del control
MSFlexGrid. La propiedad FormatString está compuesta por dos
segmentos separados por barras verticales (|). El texto entre dos
9.4 Introducir datos en una celda.- La intersección de una fila y una columna
conforman una celda. Para introducir un valor en una celda se utiliza la propiedad
9.5 Despliegue de información en las celdas.- Para ver con detalle la manera
de utilizar el control MSFlexGrid, se desarrollará una aplicación que calcule la
1. Hacer clic en el comando ‘Nuevo proyecto’ del menú Archivo para crear una
nueva aplicación.
2. Guardar el formulario con nombre Plandepagos.frm y la aplicación con nombre
Plandepagos.vbp.
3. Hacer clic en el comando Componentes del menú Proyecto. Pulsar sobre la
ficha Controles del cuadro de diálogo Componentes
4. Introducir una marca de verificación en el elemento Microsoft FlexGríd Control
6.0 y hacer clic en Aceptar.
5. Añadir un control MSFlexGrid al formulario y ajustar el tamaño del control
MSFlexGrid.
6. Con el control MSFlexGrid seleccionado asignar las siguientes propiedades:
Propiedad Valor
Name Rejilla
AllowUserResizing 1- FlexResizeColumns
Cols 7
FormatString " | > Capital|>Interes| >Amortización|>Cuotas| |"
Rows 20