Sie sind auf Seite 1von 21

FUNCIONES Y PROCEDIMIENTOS

Las funciones intrnsecas son proporcionadas directamente por el lenguaje de


programacin. Las funciones ms comunes son las de conversin de tipos de
datos y matemticas, de cadena y de fecha que ya se han visto en prcticas
anteriores.
Los lenguajes de programacin permiten que adems de estas funciones
intrnsecas que ellos traen por defecto, el programador pueda crear sus propias
funciones.
El uso de funciones definidas por el programador permite dividir un programa
grande en un cierto nmero de componentes ms pequeas, cada una con un
propsito nico e identificable. A esto se le conoce como desarrollo modular de un
programa.

Ventajas del uso de funciones y procedimientos


La divisin de un programa en unidades ms pequeas o funciones presenta las
siguientes ventajas:
1. Modularizacin. Cada funcin tiene una misin muy concreta, de modo que
nunca tiene un nmero de lneas excesivo y siempre se mantiene dentro de un
tamao manejable. Adems, una misma funcin (por ejemplo, un producto de
matrices, una resolucin de un sistema de ecuaciones lineales, etc.) puede ser
llamada muchas veces en un mismo programa, e incluso puede ser reutilizada por
otros programas. Cada funcin puede ser desarrollada y comprobada por
separado.
2. Ahorro de memoria y tiempo de desarrollo. En la medida en que una misma
funcin es utilizada muchas veces, el nmero total de lneas de cdigo del
programa disminuye, y tambin lo hace la probabilidad de introducir errores en el
programa.

3. Independencia de datos y ocultamiento de informacin. Una de las fuentes ms


comunes de errores en los programas son los efectos colaterales que se pueden
producir entre distintas partes del programa. Es muy frecuente que al hacer una
modificacin para aadir una funcionalidad o corregir un error, se introduzcan
nuevos errores en partes del programa que antes funcionaban correctamente. Una
funcin es capaz de mantener una gran independencia con el resto del programa,
manteniendo sus propios datos y definiendo muy claramente la interfaz o
comunicacin con la funcin que la ha llamado y con las funciones a las que llama,
y no teniendo ninguna posibilidad de acceso a la informacin que no le compete.

Tipos de procedimientos
Existen tres tipos de procedimientos en Microsoft VB.NET:
a) procedimientos Sub: realizan acciones pero no devuelven un valor al
procedimiento que origina la llamada. Los controladores de eventos son
procedimientos Sub que se ejecutan en respuesta a un evento.
b) procedimientos Function pueden devolver un valor al procedimiento que
origina la llamada.
c) Los procedimientos Property devuelven y asignan valores de propiedades
de clases, estructuras o mdulos.

Uso de procedimientos
Un procedimiento puede ser invocado, o llamado, desde otro procedimiento.
Cuando un procedimiento llama a otro procedimiento, se transfiere el control al
segundo procedimiento. Luego, al finaliza la ejecucin del cdigo del segundo
procedimiento, ste devuelve el control al procedimiento que lo invoc.
Debido a esta funcionalidad, los procedimientos resultan tiles para realizar tareas
repetidas o compartidas. En lugar de escribir el mismo cdigo ms de una vez,
podemos escribir un procedimiento e invocarlo desde varios puntos de nuestra
aplicacin o desde otras aplicaciones.

Accesibilidad del procedimiento


Utilizamos un modificador de acceso para definir la accesibilidad de los
procedimientos que escribimos (es decir, el permiso para que otro cdigo invoque
al procedimiento). Si no especificamos un modificador de acceso, los
procedimientos son declarados Public de forma predeterminada.
La siguiente tabla muestra las opciones de accesibilidad para declarar un
procedimiento dentro de un mdulo:

Creacin de Procedimientos
Como crear procedimientos tipo Sub
Un procedimiento Sub es una serie de instrucciones de Visual Basic delimitadas
por las instrucciones Sub y End Sub. Los procedimientos Sub realizan acciones
pero no devuelven un valor al procedimiento que origina la llamada. Sintaxis:
[Friend] [Private] Sub nombredelprocedimiento [(argumentos)]
Sentencias o instrucciones
[Exit Sub]
End Sub
[Friend] [Private] indica la accesibilidad de la funcin, este parmetro es opcional,
sino se especifica, VB.NET asume que es Public.
nombre es el nombre del procedimiento
argumentos son datos de entrada que son pasados cuando se llama al
procedimiento

Exit Sub permite salir de un procedimiento antes de que ste finalice y devolver
as el control del programa a la sentencia inmediatamente a continuacin de la que
efectu la llamada al procedimiento
End Sub marca el final del cdigo de la funcin y, al igual que la Exit Sub,
devuelve el control del programa a la sentencia siguiente a la que efectu la
llamada, pero lgicamente una vez finalizado el procedimiento.
El siguiente cdigo crea un procedimiento Sub (Sub acercaDe) que utiliza un
cuadro de mensaje para mostrar un nombre de producto y un nmero de versin:

Como crear procedimientos tipo Function


Un procedimiento Function es una serie de instrucciones Visual Basic delimitadas
por las instrucciones Function y End Function. Los procedimientos Function son
similares a los procedimientos Sub, pero las funciones pueden devolver un valor al
programa que origina la llamada. Sintaxis:
[Friend] [Private] Function nombre ([argumentos]) As tipo_ de_datos
Sentencias o instrucciones
[Exit Function]
End Function

Dnde:
[Friend] [Private] indica la accesibilidad de la funcin, este parmetro es opcional,
sino se especifica, VB.NET asume que es Public.
nombre es el nombre de la funcin
argumentos son datos de entrada que son pasados cuando se llama a la funcin.
As Tipo especifica el tipo de datos del valor que devuelve la funcin

Exit Function permite salir de una funcin antes de que sta finalice y devolver
as el control del programa a la sentencia inmediatamente a continuacin de la que
efectu la llamada a la funcin.
End Function marca el final del cdigo de la funcin y, al igual que la Exit
Function, devuelve el control del programa a la sentencia siguiente a la que
efectu la llamada, pero lgicamente una vez finalizada la funcin.
El siguiente cdigo crea una funcin denominada FtoC que convierte una
temperatura

en

Fahrenheit

una

temperatura

en

Celsius

El valor que devuelve un procedimiento Function al programa que origina la


llamada se denomina valor de retorno.

Cmo declarar argumentos en procedimientos?


Un procedimiento que realiza tareas repetidas o compartidas utiliza distinta
informacin en cada llamada. Esta informacin puede estar formada por variables,
constantes y expresiones que se pasan al procedimiento por el procedimiento que
origina la llamada. Cada valor que se pasa a un procedimiento se denomina
Argumento.

Cuando definimos un procedimiento en Visual Basic .NET, describimos los datos y


los tipos de datos para los que el procedimiento est diseado para aceptar desde
un procedimiento de llamada. Los elementos definidos en el procedimiento se
denominan parmetros.

Cuando invocamos o llamamos el procedimiento, sustituimos un valor actual de


cada parmetro. Los valores que asignamos en lugar de los parmetros se
denominan argumentos.
Cuando definimos un procedimiento, definimos el modo en el que otros
procedimientos pueden pasar argumentos al procedimiento. Podemos escoger
pasar argumentos por referencia (ByRef) o por valor (ByVal).
ByRef: El procedimiento puede cambiar el valor de la va
En Visual Basic .NET, el mecanismo predeterminado de paso de parmetros
es por valor.

Uso de procedimientos SUB


Para utilizar un procedimiento Sub, lo invocamos desde otro procedimiento. Cada
vez que se invoca un procedimiento Sub, se ejecutan sus instrucciones,
empezando por la primera instruccin ejecutable despus de la instruccin Sub y
finalizando con la primera instruccin End Sub, Exit Sub o Return encontrada.
Despus de que el procedimiento Sub ejecute nuestro cdigo, devuelve la
ejecucin del programa a la lnea de cdigo que sigue a la lnea que invoc el
procedimiento Sub.
La sintaxis para invocar o llamar a un procedimiento Sub es la siguiente:
Call NombreProcedimiento [(Lista de Argumentos)]

Call acercaDe ()

Uso de procedimientos FUNCTION


Un procedimiento Function se diferencia de un procedimiento Sub en que el
primero puede devolver un valor al procedimiento de llamada.
Para llamar o invocar un procedimiento Function debemos incluir su nombre y sus
argumentos en el lado derecho de una instruccin de asignacin a una variable
x=nombre_funcion(argumentos)
Tenga en cuenta que la variable al que le vamos a asignar el valor devuelto
por la funcin deben ser del mismo tipo de datos

Llamamos a la funcion de la siguiente manera

AHORA VAMOS A HACER UNOS CUANTOS EJERCICIOS PARA VER COMO


OPERAN LOS PROCEDIMIENTOS SUB Y FUNCTION
EJERCICIO 1
Cree una nueva aplicacin en vb.net, asgnele el nombre EjemploSub
Haga doble click sobre el formulario para que ingrese al editor de cdigo, y
seleccione la ubicacin (Declarations) del formulario, y digite lo siguiente

Luego en el evento click del formulario digite lo siguiente


Call acercaDe ()
Guarde y ejecute la aplicacin
EJERCICIO 2
Cree una nueva aplicacin en vb.net, asgnele el nombre EjemploFunction
En el formulario, utilice los controles mostrados en el diseo de pantalla de la
figura

Luego alterar las propiedades de los controles segn valores de la tabla


Control
Label1
Label2
TextBox1
TextBox2
Button1

Propiedades
Name
LblFarenheit
LblCelsius
TxtFarenheit
TxtCelsius
BtnConvertir

Text
Escriba aqu la temperatura en Farenheit
Equivale a

ReadOnly

True

Haga doble click sobre el formulario para que ingrese al editor de cdigo, y
seleccione la ubicacin (Declarations) del formulario, luego digite

Luego en el evento click del botn escriba lo siguiente

Guarde y ejecute la aplicacin paso a paso para que vea el orden en que se
ejecutan las instrucciones

EJERCICIO 3
Cree una nueva aplicacin en vb.net, asgnele el nombre EjemploByRef-ByValor

En el formulario, utilice los controles mostrados en el diseo de pantalla de la


figura

Haga doble click sobre el formulario para que ingrese al editor de cdigo, y
seleccione la ubicacin (Declarations) del formulario, luego digite los siguientes
procedimientos:

En el botn por referencia digite lo siguiente

En el botn por valor digite lo siguiente

Ejecute y pruebe la aplicacin

EJERCICIO 4
Elabore un programa que permita generar la tabla de multiplicar y de potencias
para un numero N dado por usuario. El numero N solo puede variar entre 2.0 y 6.9
* Nota: No puede usar operador matemtico potencia (^) ni funciones de
math
Solucin
Cree una nueva aplicacin en vb.net, asgnele el nombre EjemploSub/Function1
En el formulario, utilice los controles mostrados en el diseo de pantalla de la
figura tenga cuidado de colocar primero al GroupBox y luego ubicar sobre este a
los 2 listbox, con el fin que estos ltimos se integren al control contenedor.

Luego alterar las propiedades de los controles segn valores de la tabla

Haga doble click sobre el formulario para que ingrese al editor de cdigo, y
seleccione la ubicacin (Declarations) del formulario, luego digite los siguientes
procedimientos:

Seleccione al formulario y a su evento Load. Digite ah este cdigo

De igual manera, ahora ubique al procedimiento de evento Click del botn


btnCalculo. Ah digite lo siguiente:

Finalmente, escriba el siguiente cdigo en el procedimiento evento Click del botn


btnSalir:

EJERCICIO 5
Elaborar una aplicacin en la cual se calculen las 4 operaciones matemticas
bsicas

(suma,

resta,

multiplicacin,

divisin)

la

potencia,

usando

procedimientos.
Solucion
Cree una nueva aplicacin en vb.net, asgnele el nombre EjemploSub/Function2
En el formulario, utilice los controles mostrados en el diseo de pantalla de la
figura

Luego alterar las propiedades de los controles segn valores de la tabla

Haga doble click sobre el formulario para que ingrese al editor de cdigo, y
seleccione la ubicacin (Declarations) del formulario, luego digite las siguientes
procedimientos:

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 an 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.
Ahora se har la invocacin del primer procedimiento de tipo subrutina, llamada
InicializarControles().
Para ello, seleccionara al evento Load del objeto Form y ah digitara el cdigo de
invocacin siguiente:

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()
Ahora har lo necesario para invocar al siguiente procedimiento que digito,
llamado HacerOperaciones().
Como su Encabezado lo indica, requiere un parmetro llamado numOperac, que le
dice Cual operacin matemtica especifica debe realizar (dado por un valor entre
1 a 5)?
Seleccione en el editor de cdigo al control cmbOperaciones y a su evento
SelectedIndexChanged. Ah digitara el cdigo siguiente:

Ejecute su programa nuevamente. Ingrese 2 nmeros 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).
Ahora analice y deduzca Cmo se suman los 2 nmeros dados por usuario?
Para ello evale el Select Case dentro del procedimiento HacerOperacion() en el
momento que una llamada a la misma reciba como parmetro recibido vale 1. Se
llama a otra subrutina llamada SumarEstosNumeros(). Esta subrutina no requiere
parmetros, por lo que en su interior, toma los datos directamente de los controles
nudN1 y nudN2, para sumarlos apropiadamente. PERO NO MUESTRA
DIRECTAMENTE ESA RESPUESTA porque su trabajo es solamente sumar 2
nmeros. Para imprimir resultado, se apoya en otro procedimiento llamado
MostrarResultado()

Evale al encabezado del procedimiento Function llamado MostrarResultado().


Vera que utiliza 3 argumentos pasados por valor, pero el ltimo (llamado hayError)

usa el modificador Optional y adems se le asigna un valor predeterminado. Este


ltimo parmetro es opcional, lo que significa que es prescindible, no necesario.
Al invocar funcin puede ser o no utilizado Cmo funciona entonces este tipo de
parmetros?
Para responder, analice y reflexione a estas preguntas Habr algn tipo de error
al sumar 2 nmeros cuales quiera?, y luego Habr error cundo se divide esos
mismos 2 nmeros?
Confirme

sus

respuestas,

localizando

en

el

cdigo

las

diferentes

invocaciones/llamadas realizadas a la funcin MostrarResultado(). Vera que no se


asigna obligatoriamente un valor/argumento al ltimo parmetro opcional en todas
las llamadas realizadas En qu momento se utiliza y por qu se hace as?

Das könnte Ihnen auch gefallen