Transcript
Page 1: Sesion 01 funciones y_procedimientos

FUNCIONES Y PROCEDIMIENTOS

Page 2: Sesion 01 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

Page 3: Sesion 01 funciones y_procedimientos

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

Page 4: Sesion 01 funciones y_procedimientos

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, …)

Page 5: Sesion 01 funciones y_procedimientos

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

Page 6: Sesion 01 funciones y_procedimientos

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.

Page 7: Sesion 01 funciones y_procedimientos

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

Page 8: Sesion 01 funciones y_procedimientos

Class OtraClase

Dim Obj As New MiClase

Dim Y, Z As Single

Y = Obj.Func1()

Z = Obj.Func1(Y)

End Class

Page 9: Sesion 01 funciones y_procedimientos

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

Page 10: Sesion 01 funciones y_procedimientos

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

Page 11: Sesion 01 funciones y_procedimientos

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

Page 12: Sesion 01 funciones y_procedimientos

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

Page 13: Sesion 01 funciones y_procedimientos

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, …)

Page 14: Sesion 01 funciones y_procedimientos

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

Page 15: Sesion 01 funciones y_procedimientos

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

Page 16: Sesion 01 funciones y_procedimientos

PARÁMETROS POR VALOR Y POR REFERENCIA

Page 17: Sesion 01 funciones y_procedimientos

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

Page 18: Sesion 01 funciones y_procedimientos

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

Page 19: Sesion 01 funciones y_procedimientos

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

Page 20: Sesion 01 funciones y_procedimientos

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


Top Related