0% encontró este documento útil (0 votos)
17 vistas26 páginas

Algiritmos

El documento aborda la Unidad 6 sobre funciones en algoritmos y lenguajes de programación, centrándose en la definición y uso de funciones y subrutinas. Se describen elementos clave como la declaración de subrutinas, funciones estándar para el tratamiento de cadenas y números, y la diferencia entre funciones y procedimientos. Además, se incluyen ejemplos prácticos de cómo implementar estas funciones en programación.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
17 vistas26 páginas

Algiritmos

El documento aborda la Unidad 6 sobre funciones en algoritmos y lenguajes de programación, centrándose en la definición y uso de funciones y subrutinas. Se describen elementos clave como la declaración de subrutinas, funciones estándar para el tratamiento de cadenas y números, y la diferencia entre funciones y procedimientos. Además, se incluyen ejemplos prácticos de cómo implementar estas funciones en programación.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

lOMoARcPSD|31225297

Algoritmo.- Unidad 6 Funciones

Algoritmos Y Lenguajes De Programación (Instituto Tecnológico de Culiacán)

Scan to open on Studocu

Studocu is not sponsored or endorsed by any college or university


Downloaded by Omar Eduardo Cano Hernández (omareduardocanohernandez7@[Link])
lOMoARcPSD|31225297

Funciones 19171195 Leonardo Rodríguez

TECNOLÓGICO NACIONAL DE MÉXICO


Instituto Tecnológico De Culiacán

Algoritmo y lenguaje de programación.


UNIDAD 6

Funciones.

Investigación de la unidad 6. “Funciones”

Rodríguez González Leonardo Noé


19171195
Ing. Industrial

Algoritmo y Lenguaje de Programación: (15:00-16:00)


Johana Paulina Ibarra García.

Downloaded by Omar Eduardo Cano Hernández (omareduardocanohernandez7@[Link])


lOMoARcPSD|31225297

Funciones 19171195 Leonardo Rodríguez

Índice
6.1 Introducción. ............................................................................................................................. 3
Sub - algoritmo. .......................................................................................................................... 3
Función. ...................................................................................................................................... 3
Elementos de la declaración de una subrutina. ........................................................................... 3
6.2 Funciones estándar. ................................................................................................................... 5
• Funciones para el tratamiento de cadenas ............................................................................ 6
Función Lcase y Ucase ........................................................................................................... 6
Función Trim, LTrim y RTrim ................................................................................................ 7
Función Len ............................................................................................................................ 7
Función Asc y Chr .................................................................................................................. 8
Función InsTr .......................................................................................................................... 9
Función Left, Right y Mid .................................................................................................... 10
Función Str y Val ...................................................................................................................11
Funciones para el tratamiento de números............................................................................ 12
Funciones de formato ............................................................................................................ 12
6.3 Entrada y salida de datos......................................................................................................... 16
MsgBox ..................................................................................................................................... 17
Salida de datos .......................................................................................................................... 17
6.4 Funciones definidas por el usuario. ........................................................................................ 19
Ventajas de las funciones definidas por el usuario.................................................................... 19
Componentes de una función definida por el usuario. .............................................................. 19
6.5 Pase por valor. ......................................................................................................................... 21
6.6 Pase por referencia. ................................................................................................................. 23

Downloaded by Omar Eduardo Cano Hernández (omareduardocanohernandez7@[Link])


lOMoARcPSD|31225297

Funciones 19171195 Leonardo Rodríguez

Unidad 6. Funciones
6.1 Introducción.

Sub - algoritmo.
Se le llama así a cada una de las partes de un algoritmo más general que resuelve cada una
de las tareas particulares necesarias para que dicho algoritmo general alcance el objetivo para el
que fue diseñado, es decir resolver un problema.
Las variables locales: se declaran dentro de un módulo o Sub - algoritmo y sólo tienen
utilidad dentro de ese módulo, no se podrá acceder a ellas desde otros módulos. Pueden existir
variables locales con el mismo nombre siempre que estén en módulos diferentes.
Las variables globales: son declaradas de forma que puedan ser utilizadas (consultada y/o
modificada) desde cualquiera de los módulos que forman el programa. En este caso, no puede
haber dos variables globales con el mismo nombre, ya que esto produciría una ambigüedad que el
compilador no podría resolver.

Función.

También conocido como una subrutina o subprograma, como idea general, se presenta
como un Sub - algoritmo que forma parte del algoritmo principal, el cual permite resolver una
tarea específica. Algunos lenguajes de programación, como Visual Basic .NET o Fortran, utilizan
el nombre función para referirse a subrutinas que devuelven un valor.
Una subrutina al ser llamada dentro de un programa hace que el código principal se detenga y se
dirija a ejecutar el código de la subrutina, en cambio cuando se llama a una macro, el compilador
toma el código de la macro y lo implanta donde fue llamado, aumentando así el código fuente y
por consiguiente el objeto.
Una función puede llamarse múltiples veces e incluso llamarse a sí misma (funciónrecurrente).

Elementos de la declaración de una subrutina.

Las declaraciones de subrutinas generalmente son especificadas por:

• Un nombre único en el ámbito: nombre de la función con el que se identifica y se


distingue de otras.

Downloaded by Omar Eduardo Cano Hernández (omareduardocanohernandez7@[Link])


lOMoARcPSD|31225297

Funciones 19171195 Leonardo Rodríguez

• Un tipo de dato de retorno: tipo de dato del valor que la subrutina devolverá al
terminar su ejecución.

• Una lista de parámetros: especificación del conjunto de argumentos (pueden ser


cero, uno o más) que la función debe recibir para realizar su tarea.

• El código u órdenes de procesamiento: conjunto de órdenes y sentencias que debe


ejecutar la subrutina la subrutina.

• Las funciones en programación generalmente son las que realizan los cálculos para
retornar el valor correspondiente a una función matemática.

Por ejemplo, un seudocódigo puede ser:


• Private Sub cmdregre_Click () (programa principal)
• Unload Me
• End Sub
• Sub Sumar (ByRef Valor As Long)
• Valor = Valor + 100
• End Sub
• Private Sub cmdByRef_Click ()
• Dim Un_Valor As Long
• Un_Valor = 100
• Call Sumar (Un_Valor)
• MsgBox Un_Valor, vbInformation, "Modifica la variable"
• End Sub (fin del programa)

Donde se puede ver claramente donde inicia la función del programa y donde termina.

Downloaded by Omar Eduardo Cano Hernández (omareduardocanohernandez7@[Link])


lOMoARcPSD|31225297

Funciones 19171195 Leonardo Rodríguez

6.2 Funciones estándar.


También conocido como una subrutina o subprograma, como idea general, se presenta como
un Sub - algoritmo que forma parte del algoritmo principal, el cual permite resolver una tarea
específica. Algunos lenguajes de programación, como Visual Basic .NET o Fortran, utilizan el
nombre función para referirse a subrutinas que devuelven un valor.
Una subrutina al ser llamada dentro de un programa hace que el código principal se detenga y
se dirija a ejecutar el código de la subrutina, en cambio cuando se llama a una macro, el compilador
toma el código de la macro y lo implanta donde fue llamado, aumentando así el código fuente y
por consiguiente el objeto.
Las funciones son casi exactamente iguales que los procedimientos con respecto a la forma en
que se los llama y se los crea o declara en el código, en cómo se le pasa los parámetros etc...
La diferencia fundamental con respecto a los procedimientos o subrutinas es que estos, luego
de ejecutar el código que tengan en su interior, al final retornan un valor, y este valor luego lo
podemos utilizar para una determinada tarea. En cambio, los procedimientos, solo ejecutan el
código que contienen y luego mueren por decirlo de alguna manera.

Para declarar o crear una función podríamos escribir lo siguiente:

Private Function Total (Valor1 As Integer, Valor2 As Integer) As Long

Total = Valor1 + Valor2

End Function

Seguramente notaste que declaramos la función llamada Total, y al final de los parámetros
dice As Long , esto es por que como dijimos las funciones retornan o devuelven un valor, o sea
que en este caso la función es de tipo Long, o mejor dicho devolverá un valor de tipo Long., y
luego ese valor devuelto lo podemos utilizar en otra parte del programa.
Las Funciones pueden retornar casi cualquier tipo de datos, como números, cadenas,
fechas, arreglos y vectores .
Para llamar a la función anterior podríamos hacerlo de la siguiente manera:

[Link] = Total 502, 1478

Downloaded by Omar Eduardo Cano Hernández (omareduardocanohernandez7@[Link])


lOMoARcPSD|31225297

Funciones 19171195 Leonardo Rodríguez

En este caso el control Label1 llamaría a la función Total , la función realizaría la suma de
los valores pasados como parámetros y por último el valor final de la suma se lo asignaría al control
label1.

• Funciones para el tratamiento de cadenas. - Las funciones de cadena,


como su nombre lo indica, se utilizan para trabajar y tratar las cadenas de caracteres.

A continuación, la más importantes de ellas:

Función Lcase y Ucase


Estas dos funciones se utilizan para convertir cadenas de texto a minúscula y mayúscula.
La función Lcase cambia o convierte una cadena de texto a minúscula y un ejemplo de como
utilizarla sería así:

Lcase (cadena que queremos convertir a minúsculas)

Ejemplo:
Dim cadena As String

cadena = "HOLA MUNDO"

'Convertimos
cadena = LCase(cadena)

'La variable cadena ahora vale "hola mundo"

La función Ucase funciona de la misma manera que Lcase pero convierte el contenido de una
cadena a mayúsculas.

Por ejemplo
Si tenemos un control Label1 que contiene un texto que dice: "Porcentaje de sueldos",
escribiendo la siguiente línea:

Label1 = Ucase (Label1)

Downloaded by Omar Eduardo Cano Hernández (omareduardocanohernandez7@[Link])


lOMoARcPSD|31225297

Funciones 19171195 Leonardo Rodríguez

El control Label1 pasaría a mostrar o mejor dicho contener en su propiedad


caption:"PORCENTAJE DE SUELDOS".

Función Trim, LTrim y RTrim


Estas tres funciones se utilizan para eliminar los espacios vacíos de una cadena.
LTrim elimina los espacios vacíos de la parte izquierda de la cadena, RTrim de la parte
derecha y Trim de ambas partes.

Ejemplos:
Tenemos una variable llamada ciudad con el valor " Barcelona". Para eliminar los espacios
vacíos de la izquierda haríamos lo siguiente:

ciudad = LTrim(ciudad)

Si en un TextBox quisieramos borrar todos los espacios vacíos de la parte derecha de la


cadena:

MiText = RTrim(MiText)

La Función Trim elimina todos los espacios vacíos de ambos lados de la cadena.

Ejemplo:
Pais = " Argentina "
País = Trim(Pais)

Ahora el valor de País es igual a: "Argentina".

Función Len
La función Len nos permite conocer la cantidad de caracteres que tiene una determinada
cadena. O sea que esta función nos devuelve un número.
Ejemplo:
Len (Aquí va la cadena que queremos averiguar su tamaño)

Downloaded by Omar Eduardo Cano Hernández (omareduardocanohernandez7@[Link])


lOMoARcPSD|31225297

Funciones 19171195 Leonardo Rodríguez

Como la función Len devuelve un número debemos asignar ese número devuelto en una
variable de tipo numérica.

Ejemplo:
Dim TamanoCadena As Long

Dim MiCadena As String

MiCadena = "Me Llamo Eustaquio"

TamanoCadena = Len(MiCadena)

El valor de la variable TamanoCadena pasaría a valer 18.


Hay que tener en cuenta que la función Len también toma en cuenta los espacios vacíos.

Función Asc y Chr


La función Asc nos permite obtener el código ASCII de un de terminado caracter.

Ejempos:
Si queremos obtener el código ASCII del caracter "a", que es el número 97 podríamos
hacer lo siguiente:

Dim num As Integer

num = Asc("a")

En definitiva la función Asc lleva un solo parámetro de tipo String del cual queremos
obtener dicho número.
La Función Chr actúa a la inversa de la función Asc, esto quiere decir, que a partir de un
determinado número nos devolverá el caracter ASCII.
Obviamente que en vez de pasarle a la función un parámetro String es decir la letra,
debemos pasarle un número ASCII y nos devolverá el carácter asociado.

Ejemplo:
Dim letra As String

letra = Chr(97)

Downloaded by Omar Eduardo Cano Hernández (omareduardocanohernandez7@[Link])


lOMoARcPSD|31225297

Funciones 19171195 Leonardo Rodríguez

La variable pasa a valer en este caso el caracter "a"

Función InsTr

La función InStr se utiliza para buscar una cadena o parte de una cadena dentro de otra
cadena.
Si la función encuentra la cadena a buscar devuelve un número que representa la posición
donde encontró la cadena, si no la encuentra devuelve un 0.

Los parámetros que lleva esta función son:

InStr (comienzo, Cadena donde buscar, La Cadena a buscar)

Como esta función devuelve un número debemos almacenarla en una variable de tipo
numérica para utilizarla.
Ejemplo:
Dim posicion As Integer

posicion = InStr("Estoy tomando mate", "mate")

En este ejemplo la función encontró la cadena "mate" en la posición 15, o sea que la
variable posición pasa a valer 15.

Si observamos bien, la función en el primer parámetro, denominado comienzo, nos pide


que le digamos desde que posición comenzar a buscar. En nuestro ejemplo, este parámetro lo
obviamos, esto quiere decir que comenzará desde la posición 0 de la cadena a buscar. Pero
podríamos especificar una posición en particular, por ejemplo desde la 5 , 10 etc..., según lo que
necesitemos hacer

Downloaded by Omar Eduardo Cano Hernández (omareduardocanohernandez7@[Link])


lOMoARcPSD|31225297

Funciones 19171195 Leonardo Rodríguez

Otro ejemplo de InsTr :


Este ejemplo, muestra como buscar dentro de un control TextBox, el cual tiene dos
opciones, un botón para buscar la primera frase, y otro que sigue buscando a partir de donde esté
ubicada la selección.
Para armar el ejemplo colocar un Textbox llamado Text_Buscar que es donde se ingresará
la frase y otro TextBox llamado Text1 que tendrá el texto. Este ultimo con la propiedad Multiline
en True. También colocar dos CommandButtonCommand1 y Command2.

Función Left, Right y Mid


Estas funciones son utilizadas para extraer partes de una cadena.

La función Left:
Tiene 2 parámetros: El primero es la cadena de la cual se extraerán caracteres, y el segundo
un número desde el cual comenzar a extraer caracteres desde la parte izquierda.

Ejemplo
Dim Cadena As String

Cadena = Left("Ya es la madrugada", 9)

'Cadena, que es un string, sería igual a: "Ya es la"

Función Right:
Es igual que la función Left pero comienza a extraer caracteres desde el lado derecho de la cadena.

La función Mid:
Tiene la misma función que las anteriores pero posee tres parámetros. Su sintaxis es:

10

Downloaded by Omar Eduardo Cano Hernández (omareduardocanohernandez7@[Link])


lOMoARcPSD|31225297

Funciones 19171195 Leonardo Rodríguez

Mid (cadena, inicio, longitud)

El parámetro cadena es la cadena a extraer caracteres. El parámetro Inicio es donde


comenzar y el parámetro longitud, es la cantidad de caracteres a extraer de la cadena de caracteres.

Dim nombre As String

nombre = Mid("River perdió la copa", 7, 6)

'La variable nombre sería igual a: "perdió"

Función Str y Val


La función Val convierte una cadena en un número yla función Str un número en una cadena

Ejemplo
cadena = "123456"
cadena = Val(cadena)

'Ahora cadena vale 123456

cadena2 = 123456
cadena2 = Str(cadena2)

'Ahora cadena2 vale "123456"

11

Downloaded by Omar Eduardo Cano Hernández (omareduardocanohernandez7@[Link])


lOMoARcPSD|31225297

Funciones 19171195 Leonardo Rodríguez

Funciones para el tratamiento de números


Visual Basic posee muchas funciones para tratar números. A continuación las principales
funciones.

Función Round.
La función Round se utiliza para redondear un número decimal, devolviendo un número entero.
Ejemplo:
Dim Mimumero As Long

Minumero = Round(245.8) '(La función devuelve 246)


Minumero = Round(245.3) '(La función devuelve 245)
Minumero = Round(245.5) '(La función devuelve 245)

Round posee un parámetro opcional por si queremos incluir los dígitos decimales.
Rnd y Randomize - Números aleatorios
Para generar números aleatorios, Visual Basic incluye 2 funciones: Rnd y Randomize.
La función Rnd devuelve un número aleatorio, y esta posee un solo parámetro.
Ejemplo:
Rnd (número)

Pero para poder generar dichos números aleatorios, debemos utilizar previamente la función
Randomize con la siguiente fórmula:

Dim LimiteInferior As Integer


Dim LimiteSuperior As Integer
LimiteInferior = 20
LimiteSuperior = 40
MsgBox Int((LimiteInferior - LimiteSuperior + 1) * Rnd + LimiteInferior)

Funciones de formato
Visual Basic posee varias funciones para darle formato a distintos tipos de datos e
información. A continuación se ve algunos ejemplos de las principales funciones:
• FormatCurrency: Esta función se utiliza para trabajar con números con formato en
dinero.
Ejemplo: si tenemos un número 3 y utilizamos la función nos devolvería "$3".
• FormatPercent: Esta función es utilizada para trabajar con porcentajes.
Ejemplo: si tendríamos un número 321, nos devolvería: "32,1%" .

12

Downloaded by Omar Eduardo Cano Hernández (omareduardocanohernandez7@[Link])


lOMoARcPSD|31225297

Funciones 19171195 Leonardo Rodríguez

• FormatDateTime: Esta función trabaja con fechas y horas.


• FormatNumber:

Resultado = FormatPercent(321) 'devuelve: "32.100,00%"


Resultado = FormatCurrency(3) 'devuelve: "$3,00"
Resultado = FormatDateTime("6-8-1978") 'La función devolvería: "06/08/1978"

NumDigitsAfterDecimal: Parámetro de tipo opcional. Este indicará cuantos números decimales


devolverá la función:
Ejemplo.
cadena = FormatCurrency(325, 3) 'Devuelve: "$325,000"

Ejemplo de la función FormatDateTime


Esta función, en el primer parámetro se le debe pasar la fecha u hora a formatear, y el segundo
parámetro es el tipo de formato, pueden ser 5 tipos.
1. vbGeneralDate
2. vbLongDate
3. vbShortDate
4. vbLongTime
5. vbShortTime.
Este parámetro es de tipo opcional. al colocar la coma dentro de la función , visual basic despliega
la lista de constanetas mencionadas, como muestra el gráfico:

Un ejemplo para ver estos formatos utilizando FormatDateTime: Colocar cinco option Button,
cada botón de opción mostrará los diferentes formatos en el caption del formulario, es decir en la
barra de título.

13

Downloaded by Omar Eduardo Cano Hernández (omareduardocanohernandez7@[Link])


lOMoARcPSD|31225297

Funciones 19171195 Leonardo Rodríguez

Código en el formulario:
Private Sub Form_Load()

[Link] = " vbGeneralDate "


[Link] = " vbLongDate "
[Link] = " vbShortDate "
[Link] = " vbLongTime "
[Link] = " vbShortTime "

End Sub
Private Sub Option1_Click()

[Link] = FormatDateTime(Now, vbGeneralDate)


End Sub

Private Sub Option2_Click()


[Link] = FormatDateTime(Now, vbLongDate)
End Sub

Private Sub Option3_Click()


[Link] = FormatDateTime(Now, vbShortDate)
End Sub

Private Sub Option4_Click()


[Link] = FormatDateTime(Now, vbLongTime)
End Sub

Private Sub Option5_Click()


[Link] = FormatDateTime(Now, vbShortTime)
End Sub

14

Downloaded by Omar Eduardo Cano Hernández (omareduardocanohernandez7@[Link])


lOMoARcPSD|31225297

Funciones 19171195 Leonardo Rodríguez

Función Format:

La función Format es mas completa que las anteriores funciones, porque puede manejar mas tipos
de datos, y no devuelve solo cadenas, esta también puede devolver números y fechas.
La función Format posee dos parámetros:

Format (Expresión, formato)

En el primero debemos colocar cualquier expresión válida. El segundo es opcional y a


continuación veremos una descripción de los formatos de VB:

• GeneralNumber: Devuelve el número sin formato.


• Currency: Devuelve el número en formato moneda, con el símbolo "$" y 2 decimales a las
derecha.
• Fixed: Devuelve como mínimo un dígito a la izquierda y 2 ala derecha del decimal.
• Standar: Similar a Fixed pero incluye un separador de miles.
• Percent: Multiplica el número por cien y le agrega el símbolo "%"
• True/False: Devuelve Verdadero para un valor distinto de 0,y Falso para 0.
• On/OFF: Devuelve "Activado" para un valor distinto de 0, y "Desactivado" para 0.
La forma de pasar el parámetro es entre comillas.
Ejemplo:
cadena = Format(75, "Currency") ' Devolvería: "$75,00"

Nota: Si ingresamos un número decimal, debemos utilizar el "." y no la


coma "," ya que la coma determina el comienzo de otro parámetro dentro
de la función y Visual basic daría error de sintaxis.

15

Downloaded by Omar Eduardo Cano Hernández (omareduardocanohernandez7@[Link])


lOMoARcPSD|31225297

Funciones 19171195 Leonardo Rodríguez

6.3 Entrada y salida de datos.


Entrada/salida, también abreviado E/S o I/O (del original en inglés input/output), es la colección
de interfaces que usan las distintas unidades funcionales (subsistemas) de un sistema de
procesamiento de información para comunicarse unas con otras, o lasseñales (información)
enviadas a través de esas interfaces.
Las entradas son las señales recibidas por la unidad, mientras que las salidas son las señales
enviadas por é[Link] cajas de dialogo son ventanas con controles que podemos visualizar en el
instante que necesitemos hacer una entrada o salida de datos. Visual Basic tiene cajas de dialogo
predefinidas que nos permiten realizar opciones de E/S con muy poco esfuerzo. Por ejemplo, la
función inputbox visualiza una caja de dialogo presentando información o resultados.
Entrada de datos
InputBox
InputBox presenta un mensaje al usuario, permitiéndole ingresar un valor en una caja de texto:

Como se dijo la función InputBox presenta un cuadro de diálogo donde el usuario puede ingresar
un texto y luego aceptar o cancelar dicho cuadro de diálogo.
Los parámetros principales de esta función son:
InputBox (Promt,Title, Default)
• El parámetro Prompt específica la leyenda que mostrará la caja de mensajes.
• El parámetro Title especifica el título que llevará el cuadro de diálogo.
• El parámetro Default es el texto que mostrará la caja de texto.
El aspecto más importante de InputBox es que nos devuelve una cadena con lo que haya ingresado
el usuario en la caja de texto. Luego podemos realizar una tarea específica dependiendo del valor
devuelto.
Ejemplo
Dim retorno As String

retorno = InputBox("Ingrese algo en la caja de texto", "Ejemplo")

MsgBox "Usted ingresó:" & retorno

16

Downloaded by Omar Eduardo Cano Hernández (omareduardocanohernandez7@[Link])


lOMoARcPSD|31225297

Funciones 19171195 Leonardo Rodríguez

MsgBox
La función MsgBox, que ya se vió varias veces en distintos ejemplos, es muy fácil de usar y se
utiliza para mostrar distintos tipos de mensajes.
Ejemplos de mensajes o cajas de texto con la función MsgBox que podemos mostrar:

Como se ve en los gráficos anteriores, con MsgBox podemos tener variedad a la hora de
mostrar un determinado mensaje, utilizando para ello las diferentes constantes que incorpora la
función.

• Los parámetros más importantes son:


• Title: Es la leyenda que aparecerá en el título del mensaje.
• Texto: Es el Texto que mostrará el mensaje.
• Botones: En este parámetro se colocan las constantes que determinarán si la caja tiene uno
o varios botones y el tipo de mensaje: informativo, de exclamación de alerta etc... Cuando
escribimos la coma dentro de la función en el parámetro botones, Visual Basic despliega
una lista con las opciones o constantes que podemos utilizar.

Salida de datos
Según hemos visto, el método Print visualiza datos en un formulario (objeto Form). Así mismo,
permite visualizar datos en la ventana inmediato (a través del objeto Debug), en una caja de imagen
(Control PictureBox) o en una impresora (utilizando el objeto Printer). Su sintaxis es:

[Link] lista_de_expresiones

17

Downloaded by Omar Eduardo Cano Hernández (omareduardocanohernandez7@[Link])


lOMoARcPSD|31225297

Funciones 19171195 Leonardo Rodríguez

Donde objeto, que es opcional, especifica uno de los objetos mencionados anteriormente, y lista
de expresiones es un conjunto de expresiones numéricas y alfanuméricas separadas por comas,
espacios en blanco o puntos y comas. Si se utiliza como separador un espacio en blanco, Visual
Basic lo sustituye automaticamente por un punto y coma. Las constantes de caracteres (literales)
deben ponerse entre comillas. Cuando un objeto se omite, los datos se omiten sobre el objeto al
que pertenece el procedimiento que invica a Print.
Las siguientes sentencias muestran algunos ejemplos de la utilización del métodoPrint:
• Print a +5, a * b / 2, c$, "Fin"
• Print x; y +5; w
• Print n; m
• Print "LISTADO DE RESULTADOS"
Si se omite la lista de expresiones, se visualiza una línea en blanco. En cambio, si se incluye la
lista de expresiones, se visualizan los valores de las expresiones en el objeto correspondiente. Por
ejemplo:
• a = 1000: b = 2000: c = 500
• Print "El valor de a es"; a
• Print 'línea en blanco
• Print "El valor de "; b; "+"; c; "="; b + c
El resultado que se obtiene al ejecutar las sentencias anteriores es:
• El valor de a es 1000
• El valor de 2000 + 500 = 2500

La posición de cada elemento a visualizar está determinada por la puntuación utilizada para separar
los elementos en la lista de expresiones. Visual Basic divide la línea en zonas de 14 espacios cada
una, cuando se utiliza como separador una coma. En la lista de expresiones, una coma produce la
visualización de la expresión, inmediatamente después de la última visualizada.

Por ejemplo:

• Print "1 2 3"


• Print "123457890123456789012345678901234"
• a=5
• Print a; aˆ2; a * (-5)
• Print a, aˆ2; a * (-5)
Print "FIN DEL PROCESO"

18

Downloaded by Omar Eduardo Cano Hernández (omareduardocanohernandez7@[Link])


lOMoARcPSD|31225297

Funciones 19171195 Leonardo Rodríguez

6.4 Funciones definidas por el usuario.


Al igual que las funciones en los lenguajes de programación, las funciones definidas por el
usuario de MicrosoftSQL Server son rutinas que aceptan parámetros, realizan una acción, como
un cálculo complejo, y devuelven el resultado de esa acción como un valor. El valor devuelto
puede ser un valor escalar único o un conjunto de resultados.

Ventajas de las funciones definidas por el usuario.


• Permiten una programación modular.

Puede crear la función una vez, almacenarla en la base de datos y llamarla desde
el programa tantas vecescomo desee. Las funciones definidas por el usuario se pueden
modificar, independientemente del código de origen del programa.

• Permiten una ejecución más rápida.


Al igual que los procedimientos almacenados, las funciones definidas por el usuario
Transact-SQL reducen el costo de compilación del código Transact-SQL almacenando
los planes en la caché y reutilizándolos para ejecuciones repetidas. Esto significa que no es
necesario volver a analizar y optimizar la función definida por el usuario con cada uso, lo que
permite obtener tiempos de ejecución mucho más rápidos.
Las funciones CLR ofrecen una ventaja de rendimiento importante sobre las funciones
Transact-SQL para tareas de cálculo, manipulación de cadenas y lógica empresarial. Las
funciones Transact-SQL se adecuan mejor a la lógica intensiva del acceso a datos.

• Pueden reducir el tráfico de red.


Una operación que filtra datos basándose en restricciones complejas que no se puede
expresar en una sola expresión escalar se puede expresar como una función. La función
se puede invocar en la cláusula WHERE para reducir el número de filas que se envían al
cliente.

Componentes de una función definida por el usuario.


Las funciones definidas por el usuario se pueden escribir en Transact-SQL, o en cualquier
lenguaje de programación .NET. Para obtener más información acerca del uso de lenguajes .NET
en funciones, vea Funciones CLR definidas por el usuario.

19

Downloaded by Omar Eduardo Cano Hernández (omareduardocanohernandez7@[Link])


lOMoARcPSD|31225297

Funciones 19171195 Leonardo Rodríguez

Todas las funciones definidas por el usuario tienen la misma estructura de dos partes: un
encabezado y un cuerpo. La función toma cero o más parámetros de entrada y devuelve un valor
escalar o una tabla.

El encabezado define:
• Nombre de función con nombre de propietario o esquema opcional
• Nombre del parámetro de entrada y tipo de datos
• Opciones aplicables al parámetro de entrada
• Tipo de datos de parámetro devueltos y nombre opcional
• Opciones aplicables al parámetro devuelto

El cuerpo define la acción o la lógica que la función va a realizar. Contiene:

• Una o más instrucciones Transact-SQL que ejecutan la lógica de la función


• Una referencia a un ensamblado .NET

20

Downloaded by Omar Eduardo Cano Hernández (omareduardocanohernandez7@[Link])


lOMoARcPSD|31225297

Funciones 19171195 Leonardo Rodríguez

6.5 Pase por valor.


El paso de parámetros por valor consiste en copiar el contenido de la variable que queremos pasar
en otra dentro del ámbito local de la subrutina, consiste pues en copiar el contenido de la memoria
del argumento que se quiere pasar a otra dirección de memoria, correspondiente al argumento
dentro del ámbito de dicha subrutina. Se tendrán dos valores duplicados e independientes, con lo
que la modificación de uno no afecta al otro.
La diferencia entre uno y otro método de paso de parámetros, es que en ByVal se envía una copia
de la variable, y de esta manera si se efectúa un cambio en el procedimiento, solo tendrá efecto
dentro del procedimiento o función, una vez que termine y finalice el mismo, la variable original
pasará a valer el dato que tenía, es decir no se modifica.

Ejemplo de envío de parámetros por Valor ( ByVal )

Código de ejemplo:
1. Private Sub Command1_Click()
2. Dim Un_Valor As Long
3. Un_Valor = 100
4. 'Se envía la variable por Valor ( ByVal )
5. Call Sumar(Un_Valor)
6. 'Muestra el valor que es 100, ( no se modificó en la función Sumar )
7. MsgBox Un_Valor
8. End Sub
9. Sub Sumar(ByVal Valor As Long)
10. 'Modifica la variable
11. Valor = Valor + 100
12. End Sub

21

Downloaded by Omar Eduardo Cano Hernández (omareduardocanohernandez7@[Link])


lOMoARcPSD|31225297

Funciones 19171195 Leonardo Rodríguez

Ejemplo pase por valor:

Código:
1. Private Sub cmdregre_Click()
2. Unload Me
3. End Sub
4. Sub sumar(ByVal Valor As Long)
5. Valor = Valor + 100
6. End Sub
7. Private Sub cmdByVal_Click()
8. Dim Un_Valor As Long
9. Un_Valor = 100
10. Call sumar(Un_Valor)
11. MsgBox Un_Valor
12. End Sub

22

Downloaded by Omar Eduardo Cano Hernández (omareduardocanohernandez7@[Link])


lOMoARcPSD|31225297

Funciones 19171195 Leonardo Rodríguez

6.6 Pase por referencia.


El paso de parámetros por referencia consiste en proporcionar a la subrutina a la que se le
quiere pasar el argumento la dirección de memoria del dato. En este caso se tiene un único valor
referenciado (o apuntado) desde dos puntos diferentes, el programa principal y la subrutina a la
que se le pasa el argumento, por lo que cualquier acción sobre el parámetro se realiza sobre la
misma posición de memoria.
En los parámetros enviados por Referencia, lo que se hace es enviar un puntero de la
variable original. Entonces, si en la función o procedimiento se cambia el valor de la variable, el
cambio seguirá manteniéndose una vez que finalice la ejecución del procedimiento o función.
Ejemplo de envío de parámetros por Referencia (ByRef)

Este ejemplo es igual que el anterior, pero en la Sub sumar, la variable Valor se declara con (ByRef
por Referencia )

Código:
1. Private Sub Command1_Click()
2. Dim Un_Valor As Long
3. Un_Valor = 100
4. 'Se envía la variable por Referencia ( ByRef ) con el valor 100
5. Call Sumar(Un_Valor)
6. 'Muestra el valor que ahora es 200, ( ya que se modificó en la Sub Sumar)
7. MsgBox Un_Valor
8. End Sub
9. Sub Sumar(ByRef Valor As Long)
10. 'Modifica la variable
11. Valor = Valor + 100
12. End Sub

23

Downloaded by Omar Eduardo Cano Hernández (omareduardocanohernandez7@[Link])


lOMoARcPSD|31225297

Funciones 19171195 Leonardo Rodríguez

Ejemplo pase por referencia:

Código:
1. Private Sub cmdregre_Click()
2. Unload Me
3. End Sub
4. Sub Sumar(ByRef Valor As Long)
5. Valor = Valor + 100
6. End Sub
7. Private Sub cmdByRef_Click()
8. Dim Un_Valor As Long
9. Un_Valor = 100
10. Call Sumar(Un_Valor)
11. MsgBox Un_Valor, vbInformation, "Modifica la variable"

24

Downloaded by Omar Eduardo Cano Hernández (omareduardocanohernandez7@[Link])


lOMoARcPSD|31225297

Funciones 19171195 Leonardo Rodríguez

Referencias bibliográficas
• [Link]
• [Link]
Programacion
• [Link]
[Link]

25

Downloaded by Omar Eduardo Cano Hernández (omareduardocanohernandez7@[Link])

También podría gustarte