La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

1 Procedimientos Es un conjunto de sentencias incluidas entre las declaraciones Sub o Function y End Sub/Function VB utiliza varios tipos de procedimientos:

Presentaciones similares


Presentación del tema: "1 Procedimientos Es un conjunto de sentencias incluidas entre las declaraciones Sub o Function y End Sub/Function VB utiliza varios tipos de procedimientos:"— Transcripción de la presentación:

1 1 Procedimientos Es un conjunto de sentencias incluidas entre las declaraciones Sub o Function y End Sub/Function VB utiliza varios tipos de procedimientos: –Sub. Ejecuta acciones pero no devuelve un resultado al código que los invocó –Conducidos por eventos. Se ejecutan como respuesta a un suceso ocurrido en un programa –Function. Ejecuta acciones y devuelve un resultado al código que los invoca –Definen propiedades. Permiten devolver o asignar valores a propiedades definidas en un módulo o clase –Sobrecargan operadores. Definen la conducta de un operador estándar en un contexto diferente para el que está definido Es un conjunto de sentencias incluidas entre las declaraciones Sub o Function y End Sub/Function VB utiliza varios tipos de procedimientos: –Sub. Ejecuta acciones pero no devuelve un resultado al código que los invocó –Conducidos por eventos. Se ejecutan como respuesta a un suceso ocurrido en un programa –Function. Ejecuta acciones y devuelve un resultado al código que los invoca –Definen propiedades. Permiten devolver o asignar valores a propiedades definidas en un módulo o clase –Sobrecargan operadores. Definen la conducta de un operador estándar en un contexto diferente para el que está definido

2 2 Un procedimiento será invocado desde algún otro lugar en el código. Esto es conocido como llamada a un procedimiento Cuando el procedimiento invocado finaliza su ejecución, el control es devuelto al código que lo invocó Cuando un procedimiento es llamado para su ejecución, VB busca ese procedimiento en el módulo donde nos encontramos. Si no lo encuentra, entonces continúa la búsqueda en el resto de los módulos de la aplicación Un procedimiento será invocado desde algún otro lugar en el código. Esto es conocido como llamada a un procedimiento Cuando el procedimiento invocado finaliza su ejecución, el control es devuelto al código que lo invocó Cuando un procedimiento es llamado para su ejecución, VB busca ese procedimiento en el módulo donde nos encontramos. Si no lo encuentra, entonces continúa la búsqueda en el resto de los módulos de la aplicación

3 3 Definición de un procedimiento [nivel de acceso] Sub nombre[(parámetros)] [Sentencias] [Exit Sub] [Sentencias] [Return] [Sentencias] End Sub [nivel de acceso] Function nombre[(parámetros)] [As Tipo] [Sentencias] [Exit Function] [Sentencias] [Return [(]expresión[)]] [Sentencias] End Function Definición de un procedimiento [nivel de acceso] Sub nombre[(parámetros)] [Sentencias] [Exit Sub] [Sentencias] [Return] [Sentencias] End Sub [nivel de acceso] Function nombre[(parámetros)] [As Tipo] [Sentencias] [Exit Function] [Sentencias] [Return [(]expresión[)]] [Sentencias] End Function

4 4 Nivel de acceso. Puede ser Public, Protected, Friend, ProtectedFriend o Private. Por omisión es Public Nombre. Es el nombre del procedimiento. Cuando se trate de un procedimiento Function, el tipo del valor retornado se especifica mediante la cláusula As Parámetros. Son una lista de variables separadas por comas que se corresponden con los argumentos que son pasados cuando es invocado el procedimiento. Cuando se ejecuta la llamada, VB asigna el valor de cada argumento en la llamada al parámetro que ocupa su misma posición en la lista de parámetros del procedimiento Expresión. Define el valor devuelto Exit Sub/Function. Permite la salida del procedimiento. El control será devuelto al código que efectuó la llamada. Esta sentencia puede ser o no la última y puede aparecer más de una vez en el cuerpo del procedimiento End Sub/Function. Devuelve el control al código que efectuó la llamada, continuando de esta forma la ejecución del programa Return. Permite salir del procedimiento y en el caso de una Function, especificar el valor que se desea retornar. Esta sentencia puede ser o no la última y puede aparecer más de una vez en el cuerpo del procedimiento Nivel de acceso. Puede ser Public, Protected, Friend, ProtectedFriend o Private. Por omisión es Public Nombre. Es el nombre del procedimiento. Cuando se trate de un procedimiento Function, el tipo del valor retornado se especifica mediante la cláusula As Parámetros. Son una lista de variables separadas por comas que se corresponden con los argumentos que son pasados cuando es invocado el procedimiento. Cuando se ejecuta la llamada, VB asigna el valor de cada argumento en la llamada al parámetro que ocupa su misma posición en la lista de parámetros del procedimiento Expresión. Define el valor devuelto Exit Sub/Function. Permite la salida del procedimiento. El control será devuelto al código que efectuó la llamada. Esta sentencia puede ser o no la última y puede aparecer más de una vez en el cuerpo del procedimiento End Sub/Function. Devuelve el control al código que efectuó la llamada, continuando de esta forma la ejecución del programa Return. Permite salir del procedimiento y en el caso de una Function, especificar el valor que se desea retornar. Esta sentencia puede ser o no la última y puede aparecer más de una vez en el cuerpo del procedimiento

5 5 Ejemplo Sub: Public Sub Factorial(ByVal n As Integer, ByRef f As Long) If n=0 Then f=1 Else f=1 While (n>0) f=n*f n=n-1 End While End If End Sub La llamada a este procedimiento puede ser: Dim r As Long Factorial(10, r) Ejemplo Sub: Public Sub Factorial(ByVal n As Integer, ByRef f As Long) If n=0 Then f=1 Else f=1 While (n>0) f=n*f n=n-1 End While End If End Sub La llamada a este procedimiento puede ser: Dim r As Long Factorial(10, r)

6 6 Ejemplo Function: Public Function Factorial(ByVal n As Integer) As Long Dim f As Integer = 1 If n=0 Then Return 1 Else While (n>0) f=n*f n=n-1 End While Return f End If End Sub La llamada a este procedimiento puede ser: Dim r As Long r = Factorial(10) Ejemplo Function: Public Function Factorial(ByVal n As Integer) As Long Dim f As Integer = 1 If n=0 Then Return 1 Else While (n>0) f=n*f n=n-1 End While Return f End If End Sub La llamada a este procedimiento puede ser: Dim r As Long r = Factorial(10)

7 7 Argumentos por valor y por referencia Cuando un argumento se pasa por valor, lo que se pasa una copia del mismo, por lo cual, el procedimiento no puede modificar el valor del argumento en la llamada. Se debe anteponer la palabra ByVal Cuando se pasa por referencia, lo que se pasa es la posición en la memoria de dicho valor, con lo que el procedimiento tiene acceso directo al argumento especificado en la llamada para modificar su valor. Se debe anteponer la palabra ByRef Por omisión se supone ByVal Cuando un argumento se pasa por valor, lo que se pasa una copia del mismo, por lo cual, el procedimiento no puede modificar el valor del argumento en la llamada. Se debe anteponer la palabra ByVal Cuando se pasa por referencia, lo que se pasa es la posición en la memoria de dicho valor, con lo que el procedimiento tiene acceso directo al argumento especificado en la llamada para modificar su valor. Se debe anteponer la palabra ByRef Por omisión se supone ByVal

8 8 Argumentos que son matrices. Las matrices son siempre pasadas por referencia. Ejemplo: Public Sub Mult2(matrizX() As Integer) Dim i As Integer For i=0 To matrizX.Length -1 matrizX(i) *= 2 Next End Sub La llamada puede ser: Dim a() As Integer = {10, 20, 30, 40} Mult2(a) Argumentos que son matrices. Las matrices son siempre pasadas por referencia. Ejemplo: Public Sub Mult2(matrizX() As Integer) Dim i As Integer For i=0 To matrizX.Length -1 matrizX(i) *= 2 Next End Sub La llamada puede ser: Dim a() As Integer = {10, 20, 30, 40} Mult2(a)

9 9 Argumentos opcionales Se utiliza la palabra Optional. Cada uno de estos parámetros debe tener asignado el valor que se utilizará cuando éste se omita en la llamada Cuando en la lista de parámetros se especifica uno opcional, todos los parámetros subsiguientes de esa lista deben ser también opcionales Ejemplo: Public Sub Visualizar(ByVal a As Integer, _ Optional ByVal b As Single = 2.5, _ Optional ByVal c As Double = 3.456) Etiqueta.Text = “Parámetro 1 = “ & a & VbCrlf & _ “Parámetro 2 = “ & b & VbCrlf & _ “Parámetro 3 = “ & c End Sub Puede ser llamado de las siguientes formas: Visualizar(2) Visualizar(2, 3.7) Visualizar(2, 3.7, 8.125) Visualizar(2,, 8.125) Se utiliza la palabra Optional. Cada uno de estos parámetros debe tener asignado el valor que se utilizará cuando éste se omita en la llamada Cuando en la lista de parámetros se especifica uno opcional, todos los parámetros subsiguientes de esa lista deben ser también opcionales Ejemplo: Public Sub Visualizar(ByVal a As Integer, _ Optional ByVal b As Single = 2.5, _ Optional ByVal c As Double = 3.456) Etiqueta.Text = “Parámetro 1 = “ & a & VbCrlf & _ “Parámetro 2 = “ & b & VbCrlf & _ “Parámetro 3 = “ & c End Sub Puede ser llamado de las siguientes formas: Visualizar(2) Visualizar(2, 3.7) Visualizar(2, 3.7, 8.125) Visualizar(2,, 8.125)

10 10 Número indefinido de argumentos La palabra ParamArray permite especificar que un procedimiento aceptará un número arbitrario de argumentos Ejemplo: Public Sub Visualizar(ParamArray matriz() As Object) Dim x As Object, i As Integer For Each x In matriz i += 1 Etiqueta.Text &= “Parámetro “ & i & “=“ & x & VbCrlf Next End Sub Puede ser llamado de las siguientes formas: Visualizar(2) Visualizar(2, 3.7) Visualizar(2, 3.7, 8.125) La palabra ParamArray permite especificar que un procedimiento aceptará un número arbitrario de argumentos Ejemplo: Public Sub Visualizar(ParamArray matriz() As Object) Dim x As Object, i As Integer For Each x In matriz i += 1 Etiqueta.Text &= “Parámetro “ & i & “=“ & x & VbCrlf Next End Sub Puede ser llamado de las siguientes formas: Visualizar(2) Visualizar(2, 3.7) Visualizar(2, 3.7, 8.125)

11 11 Argumentos con nombres Es posible pasar argumentos a un procedimiento utilizando el nombre de los mismos, lo que permitirá especificarlos en cualquier orden en la llamada Se debe utilizar la sintaxis: Nombre_parámetro := valor Ejemplo: Sub Visualizar(ByVal nombre As String, _ ByVal sueldo As Long) Etiqueta.Text = nombre & VbCrlf & “Sueldo “ & sueldo End Sub Puede llamarse: Visualizar(sualdo:=300, nombre:=“Juan”) Es posible pasar argumentos a un procedimiento utilizando el nombre de los mismos, lo que permitirá especificarlos en cualquier orden en la llamada Se debe utilizar la sintaxis: Nombre_parámetro := valor Ejemplo: Sub Visualizar(ByVal nombre As String, _ ByVal sueldo As Long) Etiqueta.Text = nombre & VbCrlf & “Sueldo “ & sueldo End Sub Puede llamarse: Visualizar(sualdo:=300, nombre:=“Juan”)

12 12 Procedimientos recursivos Se dice recursivo si se llama a sí mismo Ejemplo: Public Function Factorial(ByVal n As Integer) As Long If n = 0 Then Return 1 Else Return (n * Factorial(n-1)) End If End Function Se dice recursivo si se llama a sí mismo Ejemplo: Public Function Factorial(ByVal n As Integer) As Long If n = 0 Then Return 1 Else Return (n * Factorial(n-1)) End If End Function


Descargar ppt "1 Procedimientos Es un conjunto de sentencias incluidas entre las declaraciones Sub o Function y End Sub/Function VB utiliza varios tipos de procedimientos:"

Presentaciones similares


Anuncios Google