Está en la página 1de 11

UNIVERSIDAD DON BOSCO

FACULTAD DE ESTUDIOS TECNOLGICOS


ESCUELA DE COMPUTACION
GUIA DE LABORATORIO #05
CICLO:
02/ 2014

Nombre de la Practica:

CREACION DE PROCEDIMIENTOS (Parte 2)

Lugar de Ejecucin:

Centro de Computo

Tiempo Estimado:

2 horas y 30 minutos

Materia:

Lenguajes de Programacin 1
I. OBJETIVOS

Que el estudiante sea capaz de:


Disear apropiadamente el encabezado y cuerpo de un procedimiento Sub.
Seleccionar los argumentos apropiados (incluyendo arreglos) dentro del procedimientos integrar en una
aplicacin.
Invocar apropiadamente procedimientos de manera coordinada en un programa.
II. INTRODUCCION TEORICA

CREACION DE PROCEDIMIENTOS Y FUNCIONES PROPIAS


Los Procedimientos pueden simplificar las tareas de programacin si divide los programas en componentes
lgicos ms pequeos (sub-programas). Estos componentes, llamados procedimientos, pueden convertirse en
bloques bsicos que le permiten mejorar y ampliar Visual Basic. Para declarar un procedimiento, se sigue la
sintaxis indicada en la Figura 5.1.
SINTAXIS DE PROCEDIMIENTOS SUB
Indicamos el mbito ya
sea con public o private

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

Lista de variables que


recibir ya sea por
parmetro o por valor

se
al

Figura 5.1: Sintaxis para creacin de procedimientos tipo Sub.

Gua #05: Creacion de Procedimientos (Parte 2)


Los procedimientos resultan muy tiles para condensar las tareas repetitivas o compartidas, como clculos
utilizados frecuentemente, manipulacin de texto y controles, y operaciones con bases de datos.
En Visual Basic se utilizan varios tipos de procedimientos nosotros trabajaremos con los siguientes:

Procedimientos Sub que no devuelven un valor.

Procedimientos Function que devuelven un valor (normalmente conocidos como funciones).


LLAMADA A UN PROCEDIMIENTOS

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

Nombre del Procedimiento

Nombre del Procedimiento

Parmetros/argumentos

Parmetros/argumentos

Gua #05: Creacion de Procedimientos (Parte 2)


Observe que cuando utiliza la sintaxis Call, debe poner los argumentos entre parntesis. Si omite la palabra
clave Call, deber puede omitir los parntesis alrededor de los argumentos y Visual Basic se los agregara
automticamente.
PASAR PARMETROS POR VALOR Y POR REFERENCIA ( BYVAL Y BYREF )
Los parmetros en las funciones y procedimientos, se pueden enviar de dos maneras: por Valor y por Referencia.
Si estn declarados como ByVal, los mismos sern por valor, si se declaran como ByRef sern por referencia.
La diferencia entre uno y otro mtodo de paso de parmetros, es que en ByVal se enva una copia de la variable, y
de esta manera si se efecta un cambio en el procedimiento, solo tendr efecto dentro del procedimiento o
funcin, una vez que termine y finalice el mismo, la variable original pasar a valer el dato que tena, es decir no
se modifica.
En los parmetros enviados por Referencia, lo que se hace es enviar un puntero de la variable original. Entonces, si
en la funcin o procedimiento se cambia el valor de la variable, el cambio seguir mantenindose una vez que
finalice la ejecucin del procedimiento o funcin.

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.

Gua #05: Creacion de Procedimientos (Parte 2)

TRANSFIRIENDO ARREGLOS COMO ARGUMENTOS DE SUBRITINAS


Nos hemos dado cuenta que podemos transferir datos contenidos en variable entre procedimientos y
funciones; pero tambin podemos enviar y recibir Arreglos esto lo hacemos de la siguiente manera:

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

Gua #05: Creacion de Procedimientos (Parte 2)


III. MATERIALES Y EQUIPO
Para la realizacin de la gua de prctica se requerir lo siguiente:
No.

Requerimiento

Cantidad

Gua de Laboratorio #Error! No se encuentra el origen de la referencia.5 de


LP1

PC con Microsoft Visual Studio 2012 .NET instalado

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

Gua #05: Creacion de Procedimientos (Parte 2)


2.

Ingrese al editor de cdigo, y comience a digitar cada una de los procedimientos a continuacin:

Gua #05: Creacion de Procedimientos (Parte 2)

Gua #05: Creacion de Procedimientos (Parte 2)

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.

Seleccione en el editor de cdigo al control cmbOperaciones y a su evento SelectedIndexChanged. Ah


digitara el cdigo siguiente:

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).

EJERCICIO 2: Uso de Mdulos variables y Arreglos de Parmetros (ParamArray)


8.

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.

Gua #05: Creacion de Procedimientos (Parte 2)


9.

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:

Gua #05: Creacion de Procedimientos (Parte 2)

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

Gua #05: Creacion de Procedimientos (Parte 2)


V. DISCUSION DE RESULTADOS
Para los siguientes ejercicios, realizar un solo proyecto de Aplicacin Windows, con la resolucin de los
problemas solicitado en Forms distintos, no puede usar variables globales.
1.

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

También podría gustarte