Download - Sesion 01 funciones y_procedimientos
FUNCIONES Y PROCEDIMIENTOS
Funciones Son el código estructurado que realizan un proceso y luego este, como resultado, retornan un solo y único valor de algún tipo en particular correspondiente al de una variable u objeto.
Creación:
<Acceso>Function NombreFunc(Arg1 As Tipo1,
Arg2 As Tip2, …) As TipoRetorno
‘ Declaración de Variables locales
‘ Proceso
Return ValorRetorno
End Function
• TipoRetorno
Es el tipo de dato o Clase que retornará la función y es importante que coincida con el ValorRetorno que se devuelva en la función.
• <Acceso>
Es si es Public, Private u otro acceso. Además los argumentos pueden ser de cero a más argumentos indicando que tipo de dato es cada uno para delimitarlos en las llamadas a la función.
Llamada a una función
Cuando se requiere llamar a la función o método, debemos referirlo por su nombre con sus respectivos argumentos entre paréntesis y recibir el retorno en una variable o como argumento para otro método.
Dim Variable AS TipoRetorno
Variable = NombreFunc(Arg1, Arg2, …)
MetodoOtro(NombreFunc(Arg1, Arg2, …)
Otra forma de devolver el valor único es:
<Acceso>Function NombreFunc(Arg1, As Tipo1,
Arg2 As Tip2, …) As TipoRetorno
‘ Declaración de Variables locales
‘ Proceso
NombreFunc=ValorRetorno
End Function
En los casos anteriores se asume que la función (método) se esta invocando desde dentro de la misma o en su defecto de un módulo.
Considerar:
• Cuando un método es llamado dentro de la misma clase, no se requiere anteponerle el nombre del objeto
• Cuando es llamado desde una instancia de objeto, si requiere anteponerle el nombre del objeto.
Ejemplo:
Class MiClase
Public Prop AS Integer
Public Function Func1(ByVal Arg1 As Single)
As Single
Dim R A Single
R = Arg1 * 2
Return R
End Function
End Class
Class OtraClase
Dim Obj As New MiClase
Dim Y, Z As Single
Y = Obj.Func1()
Z = Obj.Func1(Y)
End Class
Aplicación Crear una aplicación empleando métodos con valores de retorno
Public Class Actividad2
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
Dim x, r As Single
x = InputBox("ingresar Número:")
r = raiz1(x)
MsgBox("La raíz cuadrada es " & r, , "Método 1")
r = Raiz2(x)
MsgBox("La raiz cuadrada es " & r, , "Método 2")
End Sub
Aplicación
Private Function Raiz1(ByVal x As Single) As Single
Dim rz As Single
rz = Math.Sqrt(x)
Raiz1 = rz
End Function
Private Function Raiz2(ByVal x As Single) As Single
Dim rz As Single
rz = Math.Sqrt(X)
Return rz
End Function
End Class
Procedimientos Son el código estructurado que realizan un proceso y no hay un retorno de valores luego de este.
Creación:
<Acceso>Sub NombreProc(Arg1, As Tipo1,
Arg2 As Tip2, …)
‘ Declaración de Variables locales
‘ Proceso
End Sub
• <Acceso>
Es si es Public, Private u otro acceso. Además los argumentos pueden ser de cero a más argumentos indicando que tipo de dato es cada uno para delimitarlos en las llamadas al procedimiento.
Llamada a un Procedimiento
Cuando se requiere llamar a un procedimiento, debemos referirlo por su nombre con sus respectivos argumentos entre paréntesis.
NombreProc(Arg1, Arg2, …
Y si son referenciados desde un método de una instancia de un objeto.
Obj.NombreProc(Arg1, Arg2, …)
Aplicación
Crear una aplicación empleando métodos sin valores de retorno
Public Class Actividad3
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
If Me.TextBox1.Text.Trim.Length > 0 Then
Letras(Me.TextBox1.Text)
Else
Letras("Escribe algo")
Me.TextBox1.Focus()
End If
Me.TextBox1.Clear()
End Sub
Aplicación
Private Sub Letras(ByVal T As String)
Dim Titulo As String
Titulo = Me.Text
Me.Text = "## " & T & " ##" & Me.ProductName
MsgBox(T, , "Mensaje")
Me.Text = Titulo
End Sub
End Class
PARÁMETROS POR VALOR Y POR REFERENCIA
Parámetros por Valor (ByVal) Public Class Form1 Private sub Button1_Click(ByVal sender As System.Object, ByVal e AS System.EventArgs) Handles Button1_Click Dim X As Integer ‘1 X=120 ‘2 Proc(X) ‘3 MsgBox(X) ‘6 End Sub Private Sub Proc(ByVal A As Integer) ‘3 MsgBox(A) ‘4 A=200 ‘5 End Sub End Class
Parámetros por Referencia (ByRef) Public Class Form1 Private sub Button1_Click(ByVal sender As System.Object, ByVal e AS System.EventArgs) Handles Button1_Click Dim X As Integer ‘1 X=120 ‘2 Proc(X) ‘3 MsgBox(X) ‘6 End Sub Private Sub Proc(ByRef A As Integer) ‘3 MsgBox(A) ‘4 A=200 ‘5 End Sub End Class
Aplicación Crear una aplicación empleando métodos por Referencia
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button1.Click
Dim X As Integer
X = InputBox("Ingresar un Número")
Cuadrado(X)
MsgBox(X, , "El Cuadrado es:")
End Sub
Private Sub Cuadrado(ByRef N As Integer)
N = N ^ 2
End Sub
End Class
Crear una aplicación empleando parámetros que permita, calcular la sumatoria de un número ingresado.
Crear una aplicación empleando parámetros que permita, calcular el factorial de un número ingresado.
Práctica