Академический Документы
Профессиональный Документы
Культура Документы
: Verónica Almirón
Año: 3° A y B
INTRODUCCIÓN A LA PROGRAMACIÓN
El ordenador es una máquina no inteligente, es decir, no puede pensar por sí sola. Ha sido creada por el Hombre y no
es capaz de realizar ninguna tarea, por fácil que sea, que previamente no haya sido diseñada por él.
En general, un ordenador tan sólo puede realizar unas pocas Operaciones Básicas.
Todo lo demás hay que indicárselo, por tanto, para cada problema concreto (Por ejemplo sumar los 5 primeros
números pares) será necesario diseñar una solución. Es decir, tendremos que diseñar un PROGRAMA en un
LENGUAJE que sea comprensible por el ordenador.
PROGRAMA: Es una serie de instrucciones (ordenes o comandos) puestas en un determinado orden de forma que
indican al ordenador, PASO a PASO , qué procesos y tareas deben realizar. Los programas actuales están escritos en un
Lenguaje parecido al del ser humano, aunque en Inglés.
LENGUAJE DE PROGRAMACIÓN: Son el conjunto concreto de ordenes, comandos , instrucciones y vocablos que
permiten desarrollar un programa y que son comprensibles tanto por el ordenador como por el hombre. Ejemplo:
Basic, Cobol, Pascal, C, Delphi, Visual Basic, ...
TIPOS DE LENGUAJES
Todavía no existía ni los ratones, ni Windows, ni las ventanas, ni los botones, ni los colores, .. eran todo en modo texto y
usando el teclado, casi, casi como una calculadora, pero más grande y más potente. (Al estilo MS-DOS)
Estos lenguajes se escribían paso por paso y línea a línea. Veamos un Ejemplo en PASCAL:
10 BEGIN
20 CLEAR
30 WRITE “INTRODUCE UN NÚMERO POR EL TECLADO”
40 READ (NUM)
50 IF NUM < 0 THEN WRITE “EL Nº ES NEGATIVO”
60 ELSE IF NUM > 0 WRITE “EL Nº ES POSITIVO”
70 ELSE WRITE “EL Nº ES CERO”
80 END IF
90 END
La llegada del ratón, las pantallas gráficas y sobretodo de los sistemas operativos de entorno
visual (Mac, Windows....) hizo que cambiara la forma de entender la programación, más orientada a objetos
gráficos que interactuaban entre sí (una ventana, un botón, un cuadro de texto, etc..) . Igualmente surgió la
Pag. 2
Programación Orientada a Objeto que estaba formada por una serie de Objetos, cada uno de los cuales tenía
unas Propiedades y estaba sujeto a una serie de Eventos externos. Dentro de este tipo de lenguajes tenemos:
C++, Visual C, Delphi y Visual Basic, todos ellos incluían estos 2 últimos avances.
En realidad los Lenguajes visuales no son más que un entorno Visual que en el fondo trabaja con el código
de un lenguaje tradicional, por ejemplo: Visual C, trabaja internamente con código C. Visual Basic trabaja
internamente con código BASIC y Delphi trabaja internamente con PASCAL.
Dentro de Visual Basic , como P.O.O. podemos encontrar los siguientes elementos.
OBJETOS: Es una entidad que tiene asociada una serie de Propiedades, Métodos y Eventos y que
puede interactuar con otros objetos. Dentro de Visual Basic tenemos gran cantidad de objetos:
Formulario, Botón, Cuadro de texto, Etiqueta, Casilla de verificación, ...etc..
Vamos a suponer 3 objetos ficticios: Objeto Globo , Objeto Alfiler y Objeto Botón
PROPIEDADES: Son las características que poseen cada uno de los objetos. Estas características
pueden establecerse al principio del programa o a lo largo de la ejecución de éste. Por ejemplo el objeto
Etiqueta tiene algunas propiedades como color, alto, ancho, tipo de letra ...
En nuestro supuesto:
MÉTODO: Son funciones internas de un determinado objeto, que pueden ser activadas en cualquier
momento del programa. Por ejemplo un Cuadro de texto posee el método SetFocus, que hace que el
enfoque se centre en él y se active el cursor para escribir.
Otra forma de explicarlo sería: Un Método engloba bajo un nombre único, una sucesión de pasos que
deben realizarse (siempre en un determinado orden) para que se produzca una acción concreta.
En nuestro ejemplo:
EVENTOS: Son acciones o sucesos que tienen lugar a lo largo del programa (un click o dblclick del
ratón, pulsar una tecla, etc...) y a los cuales asociamos un código que produce unos cambios en el
programa ( cambia una propiedad, se acciona un método, se realiza una función, etc...)
De esta forma podemos asociar al evento Click del Botón un código que active los métodos
Pinchar del objeto Alfiler y los métodos Desinflar y HacerBang del objeto Globo. Estos métodos
cambiarán de forma automática las propiedades de posición, diámetro, etc.. para simular el pinchazo del
globo.
Pag. 3
De igual forma podríamos hacer que al pasar el ratón por encima del globo (evento MouseMove) éste
cambie de color, es decir, que la propiedad Color cambie de un color a otro. También podríamos
disponer que a pasar el ratón por encima del Alfiler la posición de éste siga a la del cursor.
Barra de Menús Barra de Herramientas Botón Ver Código Botón Ver Formulario
Estándar
Cuadro de Herramientas
Pointer(Puntero)
Picture Box (Cuadro de Dibujo)
Label (Etiqueta)
TextBox (Cuadro de Texto)
Frame (Marco)
Command Button (Botón )
Timer (Reloj)
DriveListBox (Cuadro Lista Unidades)
Pag. 4
DirListBox(C. Lista Carpetas) FileListBox (Cuadro de Lista Archivos)
Image(Imagen) Data
(Datos)
OLE
- Move {left, top, width, Height} ---------- > Ej: label1.move 100, 100 shape1.move 200
- Setfocus ---------- > Ej: Text1.Setfocus Button1.setfocus
EVENTOS:
- Click
- DblClick
Pag. 5
- MouseDown
- MouseUp
- MouseMove
- GotFocus Aparecen en la Ventana de Código
- LostFocus
- Change
- Keypress
- Keydown
- KeyUp
1.- Diseñar un programa cuya ventana principal sea de color celeste claro, sólo contenga el botón de cerrar en la barra de
título y que se ejecute por defecto maximizado. El form contendrá un cuadro de texto y un botón (MOSTRAR). Se
introducirá un texto en el cuadro y al pulsar el botón aparecerá una etiqueta (que originalmente estaba no visible) y cuyo
texto será el mismo que el cuadro. La etiqueta tendrá el texto en negrita y tamaño 16 en color Rojo y el fondo en color
amarillo claro. El tamaño de la etiqueta se ajustará al texto que la contenga.
Un segundo botón “LIMPIAR”, hará “desaparecer” de nuevo la etiqueta, limpiará el cuadro de texto y situará el enfoque
sobre él.
2.- Diseñar un programa cuya ventana principal tenga unas dimensiones de 4500 de alto por 5000 de ancho. Será de tamaño
ampliable en tiempo de ejecución y tendrá deshabitado el botón de maximizar. Debe aparecer en la parte superior derecha de
la pantalla. El Form contendrá un Etiqueta con el texto “Frase de Prueba”. Y 9 botones con las siguientes funciones:
1.- N Pone el texto de la etiqueta en Negrita 6.- Botón de color Rojo Pone el texto en color Rojo (vbred)
2.- C Pone el texto de la etiqueta en Cursiva 7.- Botón de color Azul Pone el texto en color Azul (vbblue)
3.- S Pone el texto de la etiqueta en Subrayado 8.- Botón de color Verde Pone el texto en color Verde (vbgreen)
4.- Grande Pone el texto de la etiqueta en Tamaño 20 9.- LIMPIAR Lo deja todo exactamente como al principio.
5.- Pequeña Pone el texto de la etiqueta en Tamaño 12
3.- Diseñar un programa que muestre una etiqueta “Introduzca 2 números:”. Contendrá 2 cuadros de texto donde se
introducirán los 2 números. Luego habrá 4 botones de +, - , * y /, que mostrarán en un tercer cuadro de texto el
resultado correspondiente. Un 5º botón de LIMPIAR limpiará los 3 Textbox y llevará el enfoque al primero de ellos.
NOTA1: En principio no se puede operar con cadenas de textos, así pues habrá que convertir el texto en números, esto lo
podemos hacer con la función VAL Ejemplo: Val (Text1.text) convierte el texto del Text1 en número
NOTA2: En principio un nº decimal aparece en formato Científico, por ejemplo: 0,03 aparecerá como 3,00506 E-02
Si queremos que se muestre en el formato deseado se lo tendríamos que indicar con la función Format$:
Format$( val(text1.text), “0.00”) 0,03
4.- Con 4 cuadros de texto y 2 botones diseña un Conversor de Pesetas a Euros y de Euros a Pesetas. Añade un botón para
LIMPIAR los textbox. Añade las etiquetas que sean necesarias para que se entienda el programa.
NOTA: Ten en cuenta el cambio del texto a Nº y el formato final de los decimales del Euro.
5.- Diseña un programa que me permita introducir varias líneas de texto hasta un total de 100 caracteres. El texto debe estar
en Comic Sans MS, Negrita , tamaño 12. Debe mostrarse sólo las 2 primeras líneas , a partir de la 3º línea se activará una
barra de desplazamiento vertical. También debe existir un Botón y una Etiqueta que, originalmente estará invisible.
- El programa me debe permitir texto hasta llegar a 100 caracteres. Después, al pulsar el botón se hará visible la etiqueta
donde debe aparecer el mismo texto del cuadro, pero con el siguiente formato: Arial, Sin Negrita, Con Cursiva, tamaño 10 y
color Azul.
6.- Diseña un programa cuyo formulario tenga unas dimensiones de 8000 de alto por 10000 de ancho y se ejecute siempre
maximizado. En el incluye una Figura (Shape) con forma de circulo. Con Borde y relleno Negros. A la figura la llamaremos
Bola1 y originalmente se situara aproximadamente en el centro del formulario. En la parte superior del formulario diseña el
Marco “Controles de Movimiento”, que contendrá:
- 4 botones dispuestos en cruz. Los cuatro serán de estilo gráfico y contendrán cada uno de ellos, una imagen o icono de
una flecha Izquierda, Derecha, Arriba y Abajo, respectivamente. Además, los botones deberán mostrar una flecha diferente
Pag. 6
al pulsar sobre ellos. Cada Botón tendrá la función de aumentar la posición de la bola 200 puntos a la IZQ, DER, ARR o
ABAJO, según sea el botón. También al pasar por encima de cada botón aparecerá un texto con la dirección.
- Se añadirán 2 cuadros de texto y un botón, que permitirán escribir la posición a donde queremos situar la bola y al pulsar el
botón llevar la bola hasta ese punto. ( Para ello puedes utilizar el método MOVE de la figura).
- Tanto los botones de dirección como el de SITUAR, deben hacer que cambie el valor de 2 etiquetas ( valor de left y de Top)
A la derecha añade otro marco con los siguientes controles: 2 botones de “Grande” y “Normal” que cambien el tamaño de la
bola, Un botón rojo que al pulsar cambie la bola a color rojo y al soltar deje el color en negro, y otro botón que al pulsar
ponga el borde de color verde y lo devuelva a negro al soltar.
Configura el primero de los TextBox para que si pulsas una “i” desaparezca la bola y si pulsas un “v” vuelva a aparecer.
Necesitarás el Código Ascii de la i = 105 , y el de la v = 118
7.- Diseñar una aplicación cuya ventana se ejecuta minimizada y al activarla se muestre en la parte inferior
derecha del escritorio, sin posibilidades de ser movida ni maximizada. Debe tener una etiqueta con fondo
amarillo claro y el texto, en verde-azulado, debe ser “>>>” en negrita y tamaño 24. Introduce 2 botones
pequeños con el texto - y + , El botón + hará que el marco de la etiqueta aumente su tamaño un 25 %,
mientras que el botón de - , lo reducirá un 25 %. Al presionar el botón del ratón sobre la etiqueta el texto cambiará
a Rojo y al soltar el ratón el texto volverá a su color original. Si hacemos doble click sobre la etiqueta, ésta se
moverá 500 puntos a la derecha.
8.- Diseña una ventana de 8000 x 2500, de fondo naranja claro, que se ejecute centrada respecto a la pantalla,
siendo posible tan solo cerrarla y sin posibilidad de ser ampliable su tamaño. Sitúa en ella 4 cuadros de texto, 1
botón “Mover” y una figura de tipo rectángulo redondeado de fondo naranja y rayitas verdes en diagonal, con
borde negro tamaño 2. Posiciona 4 etiquetas transparentes con textos respectivos : “Izquierda”, “Arriba”,
”Ancho” y “Alto” encima de cada uno de los cuadros de texto. El programa debe tomar los datos en los cuadros
de texto y, al presionar el botón, aplicarse sobre la figura pero utilizando para ello el método MOVE.
9.- Desarrollar una aplicación en una ventana con la posición original por defecto. Tendrá únicamente un etiqueta
con el texto “Texto de Colores”, en fuente grande y negrita. El texto está centrado respecto al marco de la
etiqueta. Al no haber botones el mismo formulario debe responder a los siguientes eventos del teclado:
- Tecla A(97) Texto en color azul - Tecla M (109) Texto en color Amarillo
- Tecla R (114) Texto en color Rojo - Tecla V (118) Texto en color Verde
Tecla “pulsada” sobre B (vbkeyB) Fondo color Blanco Tecla “soltando” B (vbkeyB) Fondo color original
10.- Desarrolla una aplicación que tenga una etiqueta “- Introduzca Clave secreta”, un cuadro de texto que admita
4 caracteres como máximo y un botón de OK. Se escribirá un clave y al pulsar el botón desaparecerán estos 3
controles “ y aparecerán debajo otros 3 controles similares que originalmente estaban ocultos. La etiqueta tendrá
el texto “Vuelva a introducir Clave secreta:” y delante llevará otra etiqueta en donde se mostrará
automáticamente la fecha (date). Se introducirá de nuevo una clave en el cuadro de texto (solo debe admitir 4) .
Al pulsar el botón de OK el programa debe comparar esta clave con la que se introdujo en la configuración. Si
es igual, aparecerá debajo una nueva etiqueta, con texto negrita y rojo, que ponga “ Clave correcta, continúe” y en
el botón de Ok desaparecerá el texto OK y aparecerá en su lugar la imagen “happy.bmp” del directorio abajo
Pag. 7
indicado. Por el contrario, si la clave no es igual a la original entonces se deshabilitará el cuadro de texto y el
botón (al que también se le debe quitar el texto OK). En este caso la etiqueta de abajo mostrará el texto “Clave
Incorrecta. Sistema Bloqueado”. Dicho botón tendrá establecida, desde un principio, como imagen para caso de
deshabilitado, la imagen Key.bmp del directorio de abajo, de manera que al deshabitarse el botón la imagen
aparecerá automáticamente.
NOTA1: El botón debe tener, desde un principio estilo gráfico.
NOTA2: Para poner la imagen por código:
Btn2.Picture = LoadPicture("C:\Archivos de programa\Microsoft Visual Studio \Common\ Graphics\ Bitmaps\
Assorted\happy.bmp")
La mayoría de estos nuevos objetos comparten muchas de las propiedades, métodos y eventos ya
vistos en los objetos anteriores, por lo que aquí sólo veremos los realmente específicos de cada uno de
ellos.
CHECK BOX OPTIONBUTTON COMBO BOX LIST BOX TIMER
(Caeilla de Verificación) (Botón de Opción) (Cuadro Combinado) (Cuadro de Lista) (Reloj)
Pag. 8
NOTAS:
- Tanto las Casillas de Verificación o Cuadros de Chequeo (CheckBox) como los Botones de Opción (OptionButton) se
suelen encajar dentro de un objeto Frame, es decir, dentro de un marco. La diferencia es que los CheckBox pueden estar
seleccionados independientemente, mientras que los OptionButton, sólo uno a la vez.
- Los ComboBox y los List Box son casi iguales, la única diferencia es que mientras el Combo permite desplegarse y
escribir a mano además de seleccionar de la lista, el ListBox no permite ni desplegar ni escribir, tan sólo seleccionar de
la lista. (Por eso el ListBox no tiene propiedad Text)
Combo1.text = Zaragoza
Text
0
Combo1.listindex = 1 el índice del que está seleccionado en el Ej.
1
Combo1.list(1) = Zaragoza
2
Combo1.list(combo1.listindex) = Combo1.list(1)=Zaragoza
Pag. 9
- 1 ListBox de tipo Estándar, de selección única, inicialmente sin ningún elemento y a la derecha del
anterior. Al pulsar el botón “>>” el elemento que previamente hayamos seleccionado del ListBox de la
izquierda pasará como nuevo elemento al ListBox de la derecha.
- 1 Botón Limpiar todo, que dejará los dos ListBox vacíos. (Clear)
Ejemplo 1 :
Ejemplo 3:
Ejemplo 4:
- Ejercicio2: Vamos a diseñar un formulario de entrada de datos. Tenemos por un lado 3 cuadros de texto para
Nombre, Apellidos y Localidad. Un List Box contendrá intervalos de edades ( 18-25, 26-30, 31-40, 41-60, 60-x)
Existirá 2 Combos para CC.AA. y Provincia que funcionarán de la siguiente manera, En CC.AA habrá desde un
principio los elementos ( Cataluña y País Vasco). Si se selecciona uno de ellos en el siguiente Combo se
introducirán en la lista sus provincias respectivas, apareciendo por defecto la primera de ellas.
Por otro lado tenemos un grupo de casillas de verificación con 6 productos deportivos diferentes
(Zapatillas, Sudadera, Reloj-Crono, Raqueta Paddle, Pelota Basket y Gafas Footing). Luego tenemos un grupo de
2 Opciones (SI o NO) . Cuando es SI se habilita un 3º combo (que originalmente esta inactivo) con 2 elementos
en la lista original (9% y 16 %). Completamos el formulario con los datos deseados y después tendremos 2
botones y dos cuadros de texto con múltiples líneas. El botón de ACEPTAR enviará la información general al
primero de los cuadros y enviará la información de la compra al segundo de los cuadros, teniendo en cuenta que:
- Se enviará el caption cada checkBox seleccionado junto con el Precio de cada uno (inventarse cada precio)
- Además de mostrarlo en el cuadro se irá aumentando una variable TOTAL = TOTAL + PrecioProd.
- Finalmente se mostrará el Total del Coste de los productos seleccionados.
- También se mostrará el Total con el IVA que será del 9% o del 16% según el combo correspondiente.
El segundo botón (LIMPIAR) limpiará todos los controles dejando el programa como al comienzo de la
ejecución, para ello, si no se quiere limpiar control por control, se puede utilizar las instrucciones:
Unload Form1 y Form1.Show, una debajo de la otra.
- Ejercicio3: En este Formulario pondremos, por un lado un grupo de 3 opciones “Grosor”( Fina, Normal o
Super) y 2 checkBox (Picante y A la Leña). Por otro lado tendremos un ComboBox con 10 ingredientes
introducidos desde el principio en modo diseño. La elección de un elemento lo copia a la ListBox que habrá a la
derecha. Si en vez de seleccionarlo lo escribimos el la “presión” de la Tecla INTRO hará pasar el elemento a la
Lista. En cualquier caso al intentar seleccionar más de 5 ingredientes el programa me indicará que no es posible
y me dirá que debo eliminar uno de ellos. Para esto existirá un botón de eliminar que quitará el elemento de la
List que tengamos seleccionado. Finalmente, cuando pulsamos un botón ACEPTAR toda la información pasa a
un cuadro de texto invisible y de ahí a un ventana de mensaje (MsgBOX).
NOTA: Para mandar el total de elementos de la lista al cuadro de texto utiliza el siguiente código.
For i = 0 to List1.listcount
Text1.seltext = list1.list( i ) & vbcrlf
Next i
Pag. 12
- Ejercicio4: Viendo el ejecutable, esta aplicación no necesita demasiada explicación. Un semáforo irá cambiado
Rojo-Ámbar-Verde automáticamente cada 3 segundos. Por otro lado un cochecito transita por una calle de manera
que cuando el semáforo esté en ámbar reducirá la velocidad y al ponerse en Rojo se parará. Continuará la marcha
a velocidad normal al ponerse de nuevo en verde. Al llegar al final del trayecto se pararán los “relojes” y se
mostrarán una etiqueta “Fin del Viajecito - ¡Otra Vueltecita?” y 2 botones SI y NO. El NO saldrá del programa
(Unload Form1) y el SI hará desaparecer los botones y la etiqueta , colocará el coche al principio de la calle y
hará reactivarse a los relojes.
NOTA: POSIBLE MEJORA Un 2º coche transcurre delante del anterior pero mucho más despacio. Al llegar
a su altura el 1º Coche debe adelantar al 2º, respetando siempre los semáforos.
El código fuente es el conjunto de instrucciones u órdenes que indican de forma precisa a la aplicación lo
que debe hacer y cómo debe hacerlo. Es decir permite resolver un problema y obtener resultados.
VARIABLES
A veces necesitamos almacenar un valor o varios valores para utilizarlos posteriormente. Una Variable es una
zona o celda de memoria que es capaz de guardar un valor. Hay que darle un NOMBRE a esa variable para
distinguirla de otras. Igualmente habrá que indicar de qué TIPO es dicha variable. Una variable definida, por
ejemplo, como Byte no admitirá nunca letras.
• Para DECLARAR VARIABLES nos vamos al código y dentro de este seleccionamos el objeto “General” y
el procedimiento “declaraciones” y empiezo siempre por la palabra clave Dim
Veamos un ejemplo de declaración de Variables para tomar los datos de nuestros Empleados:
• Una vez declaradas o definidas, se puede realizar cualquier operación con variables.
Pag. 13
Ejemplos:
-A= B + 2 - Velocidad = Espacio / Tiempo
- CONT = CONT + 1 - cuadrado = A^2
- Total = Ingresos – Gastos - Cliente = Nombre & Apellidos
En realidad Visual Basic nos permite utilizar variables sin declararlas primero, pero esto no es conveniente
cuando se está empezando a programar. Así pues, utilizaremos Siempre el comando Option Explicit, que nos
obliga a declarar todas las variables que utilicemos(Herramientas/Opciones/Editor/Requerir declaración variables)
Es parecido a una variable pero no cambia de valor en ningún momento del programa. Tiene un valor fijo.
Se declararan también en la zona “Declaraciones” del objeto “General”, pero con la palabra “CONST”
Ejemplos: Const Pi = 3.1415 Const Euro = 166.386
MATRICES
Una matriz es una variable pero en forma de TABLA pudiendo almacenar un valor distinto en cada una de sus
celdas. Para definir una matriz debemos indicar cuantas celdas va a tener de ancho (columnas) y cuantas celdas va
a tener de alto (Filas) del siguiente modo:
150000 901,52
SalarioPE(1, 1) = 150000 Salario(1, 2) = 901,52 165000 991,67
SalarioPE(2, 1) = 165000 Salario(2, 2) = 991,67 185000 1111,87
SalarioPE(3, 1) = 185000 Salario(3, 2) = 1111,87
Esta estructura comprueba una condición y , si es verdadera, ejecuta las sentencias que la siguen.
Tienes varias formas:
• La más simple: If condición Then Sentencia
• También podemos asociar una serie de sentencias que realizará si la condición es verdadera y otra serie de
sentencias si es falsa.
Pag. 14
If condición Then Ej: If A>=0 Then
Bloque de Sentencias 1 Label1.Caption = “El nº es cero o positivo”
Else Else
Bloque de Sentencias 2 Label1.Caption = “El nº es negativo”
End If End If
Compara la misma expresión con diferentes valores, es parecido a un If con varias condiciones:
Esta estructura ejecuta una y otra vez un bloque de sentencias MIENTRAS se esté cumpliendo una condición o
HASTA que se cumpla una condición. Existen 2 variantes:
1) Lo primero que hace es analizar la condición y , si no se cumple, ni tan siquiera entra en el bucle.
2) Existe una variante , tanto de While como de Until, por la cual el bucle se ejecuta, AL MENOS UNA
VEZ, tendría la siguiente forma:
Do Do
Pag. 15
Bloque de Sentencias Bloque de Sentencias
Loop While Condición Loop Until Condición
El bucle Para (For) se utiliza cuando sabemos previamente el nº exacto de veces que queremos repetir el bucle.
Este bucle usa una variable, llamada Contador del Bucle, que se incrementará o decrementará en cada repetición
del bucle.
Ej:
For contador = principio to final [step incremento] For i = 1 to 10
Sentencias Label1.Caption = “Esta frase se repetirá 10 veces”
Next [contador] next i
• Esta sentencia es especialmente útil para el tratamiento de matrices, veamos un ejemplo donde se va a
rellenar una matriz vacía. ( Para ello , en este ejemplo, utilizaremos la función InputBox, que permite pedir
por pantalla un dato y almacenarlo directamente en una variable). Ej:
Dim i as byte
Dim MatrizAlum ( 1 to 15 ) as String
.....
.....
For i = 1 to 15
MatrizAlum( i ) = InputBox( “Introduzca nombre de Alumno “ & i & “:”)
Next i
• Igualmente nos puede servir para extraer y mostrar los distintos elementos de una matriz, ya sea en un
textbox, en un listbox o cualquier otro medio ( Por ejemplo con la función MsgBox, que muestra un texto en
un ventana)
For i = 1 to 15
MsgBox “Datos Alumno” & i & “:” & MatrizAlum( i )
Next i
• Existe una sentencia llamada EXIT SUB que te permite salir del bucle For u otro bucle en cualquier
momento.
Ej:
For i = 1 to 100
Matriz (i) = inputbox ( “introduzca datos”)
If matriz(i) = “x” then Exit Sub
Next i
Hay que tener en cuenta que cuando estamos en cualquier tipo de bucle ( While, Until, For, ...) el ordenador no
permite ningún evento externo, lo cual hace que no responda a ningún clic de ratón, cambiar de ventana,
pulsación de tecla, ..a nada. Si queremos evitar esto y que el ordenador si este “receptivo” a los eventos
utilizamos la sentencia DoEvents , en cualquier línea dentro del Bucle y esto hará que al terminar cada ciclo del
Bucle y antes de comenzar el siguiente , le ceda el control al Programa y al sistema operativo para ver si se ha
producido cualquier evento dentro del programa o del Sistema. Justo después devuelve el control al Bucle
comenzando el siguiente ciclo.
Pag. 16
FUNCIONES IMPUTBOX Y MSGBOX
Variable = InputBox ( “Texto para introducción de datos” [ & variable & “mas texto” ] )
La respuestas posibles del MsgBox son -> VbOk, VbCancel, VbAbort, VbYes, VbNo, ...
Ejercicio1
1-A- Diseña una aplicación que pida una Nota numérica (admitiendo decimales), a través de un cuadro de texto y
devuelva como resultado, a través de un Msgbox, la NOTA en forma de INS, SUF, BIEN, NOT o SOB según sea
la nota introducida.
1-B- Añade un Combo o un List al Formulario con la Lista de meses del año (Ene, Feb, .... Dic). Al hacer click
en un mes concreto debe aparecer en pantalla la Estación del año correspondiente (Primavera, Verano, ...).
NOTA1: Toma los meses completos haciendo una aproximación (no tengas en cuantas las fechas concretas)
NOTA2: Utiliza 2 variables: Mes y Est.
1-C- Diseña una aplicación que me pida 3 Números enteros por teclado (a través de InputBox) y los almacene en
3 variables A, B, y C. Posteriormente la aplicación debe calcular cuál es el mayor de los 3 y mostrarlo en pantalla.
1-D- Toma 3 números por inputbox asignándolos a 3 variables X, Y y Z. Muéstralos en un List en dicho orden.
Ahora diseña un proceso por el cual X, Y y Z cambien su valor cíclicamente, es decir:
YX
Z Y Una vez conseguido muestra de nuevo X, Y y Z en otro List para comprobarlo.
X Z NOTA: Necesitarás una variable Auxiliar.
1-E- Toma 3 números por inputbox asignándolos a 3 variables N1, N2 y N3. La aplicación debe determinar si la
suma de dos de los números es igual al tercero. Según sea el resultado se mostrará un mensaje de “Si se cumple”
o “No se cumple”.
1-F- Define las variables P y R como enteras. Haz que se pida por teclado el valor de P. Si introduzco en P el
valor 5 ¿Cuánto valdrá P y R después de estás operaciones? Piénsalo y después compruébalo.
RP+6
PP+1
RP–5
RR+7
Pag. 17
Ejercicio2
2-A.- Analicemos la tabla de precios de una Teatro:
Según esta tabla y teniendo en cuenta que si el Cliente es (en Ptas) Niño Joven Adulto
socio al precio final se le hace un 20% de descuento. Paraíso 500 1000 1500
Diseña una aplicación que permita seleccionar el tipo de Butaca 700 1500 2000
cliente y generar el precio del ticket en Ptas y en Euros Palco 1000 2000 3000
Palco V.I.P. 4000 4000 4000
2-B.- Vamos a calcular el salario de los trabajadores de una empresa según el número de horas de trabajo
semanales. Introducimos por teclado tanto el Salario por Hora trabajada (SH) como el Nº de horas de trabajo a la
semana (H). A partir de ahí hay que tener en cuenta diferentes consideraciones:
- Si el nº de horas semanales no supera las 35 se cobran a SH normal. En caso de que la superen cada hora
trabajada por encima de 35 se pagará a 1,5 veces el SH normal (Al considerarse Horas Extras).
- De aquí extraemos el Salario Bruto Semanal (SB). Ahora debemos tener en cuenta los impuestos para el Salario
Neto Semanal (SN). Para ello:
- Si el Bruto no supera las 60.000 no se aplica impuesto alguno. El siguiente caso es que no supere las 100.000 en
cuyo caso se aplicará un 15% de Impuesto y en caso de que supere las 100.000 entonces la Tasa será de un 25%.
Muestra el SB y SN semanal y además calcula el SN mensual y los Impuestos Mensuales (Aprox 1 Mes4 Sem)
Ejercicio3
3-A.- Coloca 2 botones en el formulario. El primero debe calcularme la suma de los números del 1 al 10 y el
segundo debe calcular la suma de los números pares del 1 al 10.
3-B.- Haz que el programa te pida 5 nº por teclado y de cómo resultado la SUMA y la MEDIA.
3-C.- Coloca 1 bola azul , un botón de activar, 1 Text y una Etiqueta. Este ejercicio se hará sin utilizar TIMER.
Se escribirá en el Text cuántos viajes queremos que dé la bola. Al activar la bola circule hasta llegar a cierto punto
( si se desea márquese con una línea) y superado este punto y automáticamente, la bola retornará hasta situarse de
nuevo en su posición inicial. Esto tantas veces como se especifique en el Text. En la etiqueta aparecerá el nº de
viajes que la bola lleva dados.
3-D.- Coloca 1 imagen con una mariposa o insecto (En C:\Archivos...\Plus!\Themes..) y 2 botones (Iniciar y
Parar) . Sin utilizar ningún Timer vamos a hacer al Iniciar la Mariposa comience a moverse de arriba abajo y de
izquierda a derecha mientras no se pulse el botón parar. Busca en los apuntes lo referente a la orden DoEevents
NOTA: Es posible que necesites una variable a modo de Interruptor.
Ejercicio4
4-A.- Diseña un programa que, al activar un botón de “Entrada de Datos” me pida 5 nombres a través de
InputBox y los vaya almacenando en una Matriz. Posteriormente, Al activar un botón de “Mostrar Datos” me
pasará cada uno de los elementos de la matriz a un ListBox. Por otro lado en una label inferior apareceran los
siguientes mensajes para ir explicando el proceso. Justo después de introducir los 5 elementos aparecerá el
mensaje: "Ahora los 5 elementos están en Mem. RAM en forma de Matriz" y justo después de mostrar la Lista
aparecerá: "Ahora los 5 elementos siguen en Mem. RAM y además se están mostrando"
4-B.- Aprovecha la Matriz definida en el apartado anterior y añade otra más también de 5 elementos pero de tipo
Long, que va a contener los Salarios de los 5 nombres de antes. Un botón “Entrada” comenzará a pedirme parejas
Pag. 18
de Nombre y Salario hasta 5 veces. Cada dato debe almacenarse en su Matriz correspondiente. Posteriormente
una Botón “El Mayor” calculará cúal de los elementos de la Matriz de Salarios es el Mayor y me lo mostrará
junto con el nombre que le corresponda de la otra Matriz.
4-C.- Define una Matriz “Tabla” que tenga 5 Filas x 3 Columnas y admita números enteros. Coloca 3 ListBox ,
una para cada columna. Al pulsar un botón de “Tomar Datos” el programa debe pedirme los datos de las 2
primeras columnas, pero me las pedirá fila a fila, es decir: (1,1) (1,2) (2,1) (2,2)..etc.. Al mismo tiempo que se va
tomando los datos y rellenando internamente la matriz externamente se irá añadiendo elementos a los 2 primeros
ListBox también Fila a Fila. Al pulsar otro Botón de “Obtener 3ª Columna” el programa generará y rellenará la
3ª columna de la Matriz como multiplicación de las 2 primeras, es decir: (1,3) = (1,1) * (1,2) . Igualmente
además de almacenarlo en la Matriz lo irá mostrando en el 3º ListBox.
Una vez hecho esto, y como extensión de la aplicación introduce un nuevo ListBox y un nuevo botón de
“Listar Todos”. Este botón debe pasar a este último List todos los elementos de la Matriz Tabla ordenados de
izquierda a derecha y de arriba abajo, es decir: (1,1) (1,2) (1,3) (2,1) (2,2) ........ (5, 3)
4-D.- Coloca 2 TextBox y Un botón de Calcular. Se escribirá un nº en cada Cuadro de texto. Al presionar el botón
la aplicación debe mostrar en una etiqueta la suma de todos los números comprendidos entre el primero y el
segundo ambos inclusive. Para evitar errores el programa debe controlar que el primer número sea siempre menor
que el segundo y mostrar un mensaje de error cuando esto no se cumpla.
Nota:
Las actividades prácticas serán realizadas durante la cursada, en caso de no poseer el programa VB 6.0
Debe mandar las practicas a veronica.almiron@vaneduc.educ.ar y cualquier tipo de consulta.
Tarea:
Realizar un resumen explicativo sobre cada uno de los temas tratados que será evaluado en forma oral al
retorno de las vacaciones y debe explicar los ejemplos basándose en los conceptos trabajados en clase
durante los años anteriores donde no será calificado el resultado sino el procedimiento lógico para llegar
al resultado.
Pag. 19