Lec 17
Funciones
17.1 Crear funciones definidas por el usuario
Para crear una función el usuario defina en Visual Basic 2015, puede utilizar las siguientes sintaxis:
functionName Función Pública (argumento como tipoDatos, ..........) Como tipoDatos
o
Función privada functionName (argumento como tipoDatos, ..........) Como tipoDatos
Ejemplo 17.1: BMI Calculator
Si el IMC es superior a 30, una persona se considera obesa. Se puede hacer referencia a la siguiente gama de valores del IMC para su estado de peso.
= Insuficiente <18,5
El peso normal = 18.5-24.9
Sobrepeso = 25-29.9
La obesidad = índice de masa corporal de 30 o mayor
El código
Public Class Form1
Private Function índice de masa corporal (altura medida individual, peso As Single) As Double
IMC = peso / altura 2 ^
End Function
Private Sub BtnCal_Click (remitente como objeto, e como EventArgs) Maneja BtnCal.Click
Dim h As Single, w Como Individual
h = Val (TextBox1.Text)
w = Val (TextBox2.Text)
LblBMI.Text = índice de masa corporal (h, w)
End Sub
End Class
La salida
vb2013_figure17.1
Figura 17.1
Ejemplo 17.2: Calculadora valor futuro
Tras el cálculo anterior, el valor futuro después de n años será
FV = PV * (1 + i / 100) n
Donde PV representa el valor actual, FV representa el valor futuro, i es la tasa de interés y N es el número de periodos (meses o años Normalmente).
El código
Public Class Form1
Función privada FV (PV Como Individual, i As Single, n As Integer) As Double
FV = PV * (1 + i / 100) ^ n
End Function
Private Sub BtnCal_Click (remitente como objeto, e como EventArgs) Maneja BtnCal.Click
Dim FutureVal Como Individual
Dim PresentVal Como Individual
Como tenue interés individual
oscuro período como número entero
PresentVal = TxtPV.Text
= interés TxtInt.Text
periodo = TxtN.Text
FutureVal = FV (PresentVal, de interés, período)
LblFV.Text = Format (FutureVal, "$ #, ## 0.00")
End Sub
End Class
La salida
vb2013_figure17.2
Figura 17.2
17.2 pasar parámetros por valor y por referencia
Por ejemplo,
FV Función privada (pv ByVal como individual, ByRef I como individual, n As Integer) As Double
El FV función recibe pv por valor, por referencia i y n como referencia. Observe que aunque ByRef no se use para pasar n, de forma predeterminada se pasa por referencia.
Ejemplo 17.2 (a)
En este ejemplo, hemos creado dos funciones que calculan la raíz cuadrada de un número, el primero utiliza la palabra clave ByRef y el segundo utiliza la palabra clave ByVal.
El código
Public Class Form1
Sqroot Private Function (ByRef x As Single) As Double
x = x ^ 0.5
Sqroot = x
End Function
Función privada sqroot1 (ByVal y As Single) As Double
y = y ^ 0.5
sqroot1 = y
End Function
Private Sub Button1_Click (remitente como objeto, e como EventArgs) Maneja Button1.Click
Dim u As Single
u = 9
MsgBox (3 * Sqroot (u), "ByRef")
MsgBox ( "Valor de u es" & T, "ByRef")
End Sub
Private Sub Button2_Click (remitente como objeto, e como EventArgs) Maneja Button2.Click
Dim u As Single
u = 9
MsgBox (3 * sqroot1 (u), "ByVal")
MsgBox ( "Valor de u es" & T, "ByVal")
End Sub
End Class
La salida
Caso 1: Pasando argumento utilizando ByRef
vb2013_figure17.3
Figura 17.3
Observe que el valor de T se ha cambiado a 3
Caso 2: Al pasar el argumento utilizando ByVal
vb2013_figure17.4
Figura 17.4
Observe que el valor de u se mantiene sin cambios.
En esta lección, vamos a aprender a crear una función en Visual Basic 2015. Una función es similar a un procedimiento sub pero hay una diferencia importante, una función devuelve un valor, mientras que un procedimiento sub no lo hace.
En Visual Basic 2015, hay dos tipos de funciones, las funciones incorporadas y las funciones creadas por los programadores. de hecho, hemos aprendido algunas funciones incorporadas que se utilizan para manipular cadenas en la lección 12, que aprenderán más funciones incorporadas en las próximas dos lecciones. Funciones creadas por el programador también se conocen como funciones definidas por el usuario.
17.1 Crear funciones definidas por el usuario
Para crear una función el usuario defina en Visual Basic 2015, puede utilizar las siguientes sintaxis:
functionName Función Pública (argumento como tipoDatos, ..........) Como tipoDatos
o
Función privada functionName (argumento como tipoDatos, ..........) Como tipoDatos
La palabra clave pública indica que la función es aplicable a todo el proyecto y la palabra clave privada indica que la función sólo es aplicable a un módulo o un procedimiento determinado. El argumento es un parámetro que puede pasar un valor nuevo a la function.There hay límite en el número de argumentos que puede poner en.
Ejemplo 17.1: BMI Calculator
Este índice de cálculo es un programa de Visual Basic 2015 que puede calcular el índice de masa corporal de una persona basándose en su peso corporal en kilogramos y la altura del cuerpo en el medidor. El IMC se calcula mediante la fórmula peso / (altura) 2, donde el peso se mide en kg y la altura en metros.
Si el IMC es superior a 30, una persona se considera obesa. Se puede hacer referencia a la siguiente gama de valores del IMC para su estado de peso.
= Insuficiente <18,5
El peso normal = 18.5-24.9
Sobrepeso = 25-29.9
La obesidad = índice de masa corporal de 30 o mayor
El código
Public Class Form1
Private Function índice de masa corporal (altura medida individual, peso As Single) As Double
IMC = peso / altura 2 ^
End Function
Private Sub BtnCal_Click (remitente como objeto, e como EventArgs) Maneja BtnCal.Click
Dim h As Single, w Como Individual
h = Val (TextBox1.Text)
w = Val (TextBox2.Text)
LblBMI.Text = índice de masa corporal (h, w)
End Sub
End Class
La salida
vb2013_figure17.1
Figura 17.1
Ejemplo 17.2: Calculadora valor futuro
El concepto de valor futuro está relacionado con el valor temporal del dinero. Si usted deposita su dinero en un banco como una cuenta de ahorros o una cuenta de depósito a plazo fijo durante un determinado período de tiempo, usted ganará una cierta cantidad de dinero basado en el interés compuesto calculado periódicamente, y esta cantidad se añade al director si seguir manteniendo el dinero en el banco. Interés para el siguiente período se calcula en función de la principal inicial más los intereses, esta cantidad se convierte en el nuevo director. intereses posteriores se calculan de la misma manera.
Por ejemplo, digamos que usted deposita $ 1000 en un banco y el banco le está pagando un 5% de interés compuesto anual. Después del primer año, usted ganará un interés de $ 1000 × 0,05 = $ 50. El nuevo director será de $ 1000 + $ 1000 × = $ 0,05 1000 (1 + 0,05) = $ 1000 (1,05) = $ 1,050. Después del segundo año, el nuevo principal es $ 1000 (1,05) x1.05 = $ 1000 (1,05) 2 = $ 1,102.50. Este nuevo principal se llama el valor futuro.
Tras el cálculo anterior, el valor futuro después de n años será
FV = PV * (1 + i / 100) n
Donde PV representa el valor actual, FV representa el valor futuro, i es la tasa de interés y N es el número de periodos (meses o años Normalmente).
El código
Public Class Form1
Función privada FV (PV Como Individual, i As Single, n As Integer) As Double
FV = PV * (1 + i / 100) ^ n
End Function
Private Sub BtnCal_Click (remitente como objeto, e como EventArgs) Maneja BtnCal.Click
Dim FutureVal Como Individual
Dim PresentVal Como Individual
Como tenue interés individual
oscuro período como número entero
PresentVal = TxtPV.Text
= interés TxtInt.Text
periodo = TxtN.Text
FutureVal = FV (PresentVal, de interés, período)
LblFV.Text = Format (FutureVal, "$ #, ## 0.00")
End Sub
End Class
La salida
vb2013_figure17.2
Figura 17.2
17.2 pasar parámetros por valor y por referencia
Las funciones pueden ser llamadas por valor o llamados por referencia. Por defecto, los argumentos de la función se pasan por referencia. Si los argumentos son pasados por referencia, los datos originales serán modificadas y ya no conservan. Por un lado, si los argumentos son pasados por valor, se conservarán los datos originales. La palabra clave para pasar argumentos por referencia es ByRef y la palabra clave para pasar argumentos por valor es ByVal.
Por ejemplo,
FV Función privada (pv ByVal como individual, ByRef I como individual, n As Integer) As Double
El FV función recibe pv por valor, por referencia i y n como referencia. Observe que aunque ByRef no se use para pasar n, de forma predeterminada se pasa por referencia.
Ejemplo 17.2 (a)
En este ejemplo, hemos creado dos funciones que calculan la raíz cuadrada de un número, el primero utiliza la palabra clave ByRef y el segundo utiliza la palabra clave ByVal.
El código
Public Class Form1
Sqroot Private Function (ByRef x As Single) As Double
x = x ^ 0.5
Sqroot = x
End Function
Función privada sqroot1 (ByVal y As Single) As Double
y = y ^ 0.5
sqroot1 = y
End Function
Private Sub Button1_Click (remitente como objeto, e como EventArgs) Maneja Button1.Click
Dim u As Single
u = 9
MsgBox (3 * Sqroot (u), "ByRef")
MsgBox ( "Valor de u es" & T, "ByRef")
End Sub
Private Sub Button2_Click (remitente como objeto, e como EventArgs) Maneja Button2.Click
Dim u As Single
u = 9
MsgBox (3 * sqroot1 (u), "ByVal")
MsgBox ( "Valor de u es" & T, "ByVal")
End Sub
End Class
La salida
Caso 1: Pasando argumento utilizando ByRef
vb2013_figure17.3
Figura 17.3
Observe que el valor de T se ha cambiado a 3
Caso 2: Al pasar el argumento utilizando ByVal
vb2013_figure17.4
Figura 17.4
Observe que el valor de u se mantiene sin cambios.
Comentarios
Publicar un comentario