Download - Visual Basic
Funciones (function)
La sintaxis correspondiente a una función es la siguiente:[Static] [Private] Function nombre ([ parámetros]) [As tipo]
[ sentencias][ nombre = expresion][Exit Function][ sentencias][ nombre = expresion]
End Function
La llamada a una función se hace de la siguiente forma:
variable = nombre([argumentos])
donde argumentos son un lista de constantes, variables o expresiones separadas por comas que son pasadas a la función. En principio, el número de argumentos debe ser igual al número de parámetros de la función.
Ejercicio: Implementar una función que devuelva como resultado la raíz cuadrada de un número N
Procedimientos Sub
La sintaxis que define un procedimiento Sub es la siguiente:[Static] [Private] Sub nombre [( parámetros)]
[ sentencias][Exit Sub][ sentencias]
End SubLa llamada a un procedimiento Sub puede ser de alguna de las dos formas siguientes: Call nombre[(argumentos)]o bien, sin pasar los argumentos entre paréntesis, sino poniéndolos a continuación del nombre simplemente separados por comas: nombre [argumentos]
Ejercicio: Implementar un procedimiento Sub que devuelva como resultado la raíz cuadrada de un número N.
Argumentos por referencia y por valor
Pasar un argumento por referencia implica que en realidad se pasa a la función la variable original, de modo que la función puede modificar su valor. Pasar por valor implica crear una nueva variable dentro de la función y pasarle una copia del valor de la variable externa.
Un argumento entre paréntesis en la llamada es un argumentopasado por valor. Por ejemplo,
Raiz ((Num)) ' En el caso de la funciónRaiz (Num), F ' En el caso del procedimiento
Otra forma de especificar que un argumento será siempre pasado por valor es anteponiendo la palabra ByVal a la declaración del parámetro en la cabecera del procedimiento (Sub o Function).Por ejemplo,
Function Raiz (ByVal N As Double)Sub Raiz (ByVal N As Double, F As Double)
Pasar argumentos por valor evita modificaciones accidentales, pero tiene un coste en tiempo y memoria que puede ser significativo cuando se pasan grandes volúmenes de información, comosucede con vectores, matrices y estructuras.
Ejercicios adicionales
4.1 Implementar una función y un procedimiento que permita evaluar la expresión
Dados los argumentos x y n, donde n es el número de términos que se evalúan en la serie
4.2 Implementar una función y un procedimiento que permita evaluar la expresión
Dados los argumentos x y n, donde n es el número de términos que se evalúan en la serie
...3
x2
xxS32
−+−=
...x82·4·6
1·3·5·7x2·4·61·3·5x
2·41·3x
21S 753 +−+−=
·
4.3 Implementar una función y un procedimiento que permitaevaluar la expresión
Dados los argumentos x y n, donde n es el número de términosque se evalúan en la serie.
( )( )
( )( )
( )( )
( )...
x1x
2·4·6·87531
x1x
2·4·6531
x1x
2·431
x1x
21xS 75
3
3
2
1
1
−+
−+−+
++−
−+
−+
+−=
4
4.4 Implementar una función y un procedimiento que calcule las raíces de laecuación:
a·x2 + b·x + c = 0
Teniendo en cuenta los siguientes casos:Si a=0 y b=0, imprimiremos un mensaje diciendo la ecuación es degenerada.Si a=0 y b≠0, existe una raíz única con valor –c / b.En los demás casos utilizaremos la fórmula siguiente:
La expresión d=b2-4ac se denomina discriminante.Si d≥0 entonces hay dos raíces realesSi d<0 entonces hay dos raíces complejas de la forma
x + yi, x - yiIndicar con literales adecuados los datos a introducir, así como losresultados obtenidos.
a2c·a·4bbx
2
i−±−
=