Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Nombre de la Practica:
Lugar de Ejecucin:
Centro de Computo
Tiempo Estimado:
2 horas y 30 minutos
Materia:
Lenguajes de Programacin 1
I. OBJETIVOS
Le asignamos el nombre
con el cual ser conocido
el procedimiento
Palabra reservada
indica
el
tipo
procedimiento
Instrucciones
que
ejecutaran al llamar
procedimiento.
que
de
se
al
Un procedimiento Sub difiere de un procedimiento Function en que al procedimiento Sub no se le puede llamar
mediante su nombre en una expresin. Es decir que la siguiente llamada es incorrecta:
La llamada a un procedimiento Sub es una instruccin nica. Adems, un procedimiento Sub no devuelve un
valor en su nombre como hace una funcin. Sin embargo, al igual que Function, un procedimiento Sub puede
modificar los valores de las variables que se le pasan.
Hay dos formas de llamar a un procedimiento Sub:
Palabra reservada
Parmetros/argumentos
Parmetros/argumentos
Nota Importante: Un procedimiento Sub puede mandar a llamar otro procedimiento Sub que se encuentre dentro del
mismo contexto (clase)
Para el ejemplo anterior ProcedimientoEjemplo() manda a llamar Procedimiento2() y Procedimiento 3(), esta
tcnica es bastante til a la hora de resolver ejercicios complejos que requieran de ms de una rutina.
Como vern al crear el procedimiento (tambin en funcin). Para realizar un llamado y enviar un vector o
arreglo no necesita indicar el ndice.
La palabra clave ParamArray permite a una funcin aceptar un nmero variable de argumentos.
Un argumento ParamArray debe declararse como un tipo de matriz unidimensional.
Utilice la palabra clave ParamArray para denotar una matriz de parmetros. Se aplican las siguientes reglas:
Un procedimiento slo puede tener una matriz de parmetros, que debe ser el ltimo argumento de la definicin del
procedimiento.
La matriz de parmetros debe pasarse por valor. Es un hbito de programacin recomendado incluir de manera
explcita la palabra clave ByVal en la definicin del procedimiento.
El cdigo del procedimiento debe considerar a la matriz de parmetros una matriz unidimensional; el tipo de
datos de los elementos de la matriz ha de ser el mismo que el tipo de datos de ParamArray.
La matriz de parmetros es opcional de forma automtica. Su valor predeterminado es una matriz
unidimensional vaca del tipo de elemento de la matriz de parmetros.
Todos los argumentos que preceden a la matriz de parmetros deben ser obligatorios. La matriz de parmetros
debe ser el nico argumento opcional.
Cuando uno de los argumentos del procedimiento al que se llame sea una matriz de parmetros, sta podr
tomar cualquiera de estos valores:
Ninguno, es decir, puede omitirse el argumento ParamArray. En este caso, se pasar una matriz vaca al
procedimiento
Una lista con un nmero de argumentos indeterminado, separados por comas. El tipo de los datos de cada
argumento debe poder convertirse implcitamente al tipo de elemento ParamArray.
En el siguiente ejemplo se muestra cmo se puede definir un procedimiento con una matriz de parmetros
Requerimiento
Cantidad
Memoria USB
IV. PROCEDIMIENTO
Cree un nuevo proyecto con el nombre de guia5_VB y en este, creara los siguientes programas.
EJERCICIO N 1: Uso de procedimientos Sub/Function, con o sin Parmetros
Elaborar una aplicacin Windows en la cual se calculen las 4 operaciones matemticas bsicas (suma, resta,
multiplicacin, divisin) y la potencia.
Notas: Observe los siguientes aspectos en la solucin
Cdigo se documenta ya sea lnea x lnea o por bloques, con explicaciones tcnicas comprensibles para otros
programadores
Se redactan primero los procedimientos controlados por evento y luego los siguientes son los que se han
creado para esta aplicacin
Se utilizan procedimientos tipo subrutinas (Sub) y funciones (Function), con o sin argumentos
Algunos argumentos son enviados/pasados por valor (ByVal) o otros por referencia (ByRef)
Observe el diseo de c/procedimiento a continuacin, porque demuestra las diferentes combinaciones a crear
con los elementos anteriores de los procedimientos
1.
Proceda a crear el siguiente diseo de pantalla en el formulario Form1. Luego asigne las propiedades
indicadas en la tabla.
NumericUpDown
ComboBox
Control
Propiedad(Name)
ComboBox1
cmbOperaciones
Label4
lblResul
NumericUpDown1
nudN1
NumericUpDown2
nudN2
5
Ingrese al editor de cdigo, y comience a digitar cada una de los procedimientos a continuacin:
3.
Guarde el proyecto y luego ejecute su aplicacin. Intente hacer algo con los controles del form. Vera que no
hay cambio alguno, debido a que aun no se ha programado ningn tipo de procedimiento de evento. Los
procedimientos redactados hasta ahora son independientes de cualquier evento, lo que implica que cada uno
de ellos debe ser invocado en el momento correcto de ejecucin desde otro procedimiento, de lo contrario
no servirn para nada en la aplicacin.
4. Ahora se har la invocacin del primer procedimiento de tipo subrutina, llamada InicializarControles().
Para ello, seleccionara al evento Load del objeto Form1 y ah digitara el cdigo de invocacin siguiente:
5.
Ejecute nuevamente el programa. Ahora vera que cada control ya tiene parmetros funcionales. Para
probarlo, intente:
Digitar nmeros aleatorios (+ o -) en cada control nudN1 o NudN2. Cada control restringe los nmeros a
recibir en ambos cuadros
Ver y seleccionar opciones dentro del combobox. Estos 3 controles anteriores, recibieron su configuracin al
invocar subrutina InicializarControles()
6.
7.
Ejecute su programa nuevamente. Ingrese 2 nmeros (sean + o -) y luego seleccione en el combo a una
operacin. Vera que se muestra la respuesta a la operacin indicada en el label lblResul. Pero revise
nuevamente al cdigo del procedimiento Sub HacerOperacion, y vera que en ningn momento ah se
intenta sumar, restar, etc. directamente. Para hacer su trabajo se apoya en el resto de procedimientos que
usted ha digitado. Esta subrutina invoca al resto de procedimientos de acuerdo a una toma de decisiones
(select case).
Para continuar, asegrese de ver la ventana del Explorador de soluciones. De clic secundario sobre el
nombre de la solucin y seleccione opcin Agregar>> Modulo Luego asigne al nuevo mdulo el nombre
ModuloProcedimientos.vb.
Luego de agregar este nuevo modulo de variables en el Explorador de Soluciones, de doble clic sobre el
mismo archivo.
10. Ahora digite dentro de los limites (Module ModuloProcedimientos End Module) a las siguientes
subrutinas:
15. Guarde los cambios hasta ahora. Luego, para probar como funcionan estos Arreglos de Argumentos
(ParamArray), Crear un nuevo formulario con un botn en l, para as agregar en su procedimiento de Evento
Click al siguiente cdigo:
16. Realice pruebas de ejecucin diferentes dando clic sobre este botn. Antes de c/prueba, quite comentario () a
una lnea Call diferente en cdigo del paso anterior.
Observe que por cada llamada, su cantidad de argumentos enviados es diferentes (ningn argumento en 1er
llamada de ejemplo, 3 parmetros en la 2da llamada, 5 despus y otra cantidad diferente en la ltima llamada)
10
Programa usando Funcin1: que reciba dos vectores de cuatro posiciones y devuelva un entero que
indicar cuantos valores coinciden en la misma posicin en ambos vectores. Y Funcin2: que reciba dos
vectores de cuatro posiciones y devuelva un entero que indicar cuantos valores coinciden en ambos
vectores pero en posiciones distintas.
2.
Realizar un formulario que permita dar mantenimiento a una matriz 3x3 que tenga los datos edad, nombre
y universidad, todos los mantenimientos deben realizarse por medio de una funcin (insertar, mostrar y
limpiar matriz) y la funcin mostrar deber mostrar los datos desde un datagriedview.
VII. BIBLIOGRAFA
Bill Evjen, Jason Beres y otros (2002), El libro de Visual Basic.NET (1era Ed), Espaa. Editorial Anaya
Ceballos, Francisco Javier (2006), ENCICLOPEDIA DE MICROSOFT VISUAL BASIC (1er Ed), Mexico, Editorial
ALFAOMEGA, ISBN: 9701512189
http://www.recursosvisualbasic.com.ar/htm/tutoriales/tutorial-basico4.htm
11