Anda di halaman 1dari 37

Materia:

Algoritmos y lenguajes de programación.

Tema unidad 6:

Funciones

Catedrático:

Ing. Guillermo barragán Jiménez

Elaboro:

luz fernanda martinez cruz

fecha:

24/ENE./19

Vo.Bo.
Temario:

6 FUNCIONES.

6.1 Introducción.

6.2 Funciones Estándar.

6.3 Entrada y salida de datos.

6.4 Funciones definidas por el usuario.

6.5 Pase por valor.

6.6 Pase por referencia.

6.7 Elaboración de programas.


6.1 INTRODUCCION.

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 Subalgoritmo
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 Subalgoritmo 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ón recurrente).

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

6.2.- FUNCIONES ESTANDAR.

También conocido como una subrutina o subprograma, como idea general,


se presenta como un Subalgoritmo 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:
Label1.caption = Total 502, 1478

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 las 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)

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)

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)

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.
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é ubicda 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 último con la propiedad Multiline en True. También colocar
dos CommandButtonCommand1 y Command2
Colocar el siguiente código fuente en el formulario:

Option Explicit
Private m_Pos As Integer
Sub buscar_cadena(ByVal Posicion As Integer)
Dim p As Integer, Frase As String
Frase = txt_Buscar
p = InStr(Posicion, Text1, Frase)
If p > 0 Then
m_Pos = p
With Text1
.SelStart = m_Pos - 1
.SelLength = Len(Frase)
.SetFocus
End With
Else
MsgBox "No se encontró la frase", vbInformation
Text1.SetFocus
End If
End Sub
Private Sub Command1_Click()
'Busca a pratir de la primera pocición
Call buscar_cadena(1)
End Sub
Private Sub Command2_Click()
'Busca a partir del valor que tenga m_Pos
Call buscar_cadena(m_Pos + 1)
End Sub
Private Sub Form_Load()
Command1.Caption = "Buscar"
Command2.Caption = "Buscar siguiente"
Me.Caption = "Ejemplo de InStr "
End Sub

Nota: también hay una función similar a Instr llamada InstrRev , y lo que
hace es devolver la posición de la primera concurrencia de una cadena
dentro de otra cadena, pero comenzando por el extremo derecho de la
misma.
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:
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
Ejemplos:

Dim nombre As String


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

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

Este Otro ejemplo usa la función Mid para realizar un simple efecto tipo
máquina de escribir.
Colocar en un formulario un CommandButton y el siguiente código
fuente en el form.

Option Explicit

Sub Pausa(Segundos As Double)

Dim inicio As Double

' Devuelve la cantidad de segundos desde que inicio windows


inicio = Timer

Do While (Timer - inicio) < Segundos


' pausa
DoEvents
Loop
End Sub

Private Sub Command1_Click()

Dim texto As String

texto = "... Hola mundo --->>> "

Call MostrarTexto(texto, 0.1, Me)

End Sub
Private Sub MostrarTexto(Frase As String, _
Segundos As Double, _
Destino As Object)

Dim LenFrase As Integer


Dim i As Integer
Dim Caracter As String
Dim texto As String

LenFrase = Len(Frase)

Do While i <= LenFrase


Destino.Cls
DoEvents
i=i+1
' Obtiene el siguiente caracter
Caracter = Mid(Frase, i, 1)
' texto actual
texto = texto & Caracter
Destino.Print texto ' Imprimi e/ dibuja el texto
' pausa o delay
Pausa Segundos
DoEvents
Loop
End Sub

Private Sub Form_Load()


Me.FontSize = 12
Me.Font.Bold = True
Me.ForeColor = vbRed
Command1.Caption = " Efecto de texto con mid "
End Sub

Private Sub Form_Unload(Cancel As Integer)


End
End Sub

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.
Ejemplos:

cadena = "123456"
cadena = Val(cadena)

'Ahora cadena vale 123456

cadena2 = 123456
cadena2 = Str(cadena2)

'Ahora cadena2 vale "123456"


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%" .
 FormatDateTime: Esta función trabaja con fechas y horas.
 FormatNumber: Formatea expresiones números

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.

vbGeneralDate, vbLongDate, vbShortDate, vbLongTime y 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.
Código en el formulario:

Private Sub Form_Load()

Option1.Caption = " vbGeneralDate "


Option2.Caption = " vbLongDate "
Option3.Caption = " vbShortDate "
Option4.Caption = " vbLongTime "
Option5.Caption = " vbShortTime "

End Sub
Private Sub Option1_Click()
Me.Caption = FormatDateTime(Now, vbGeneralDate)
End Sub

Private Sub Option2_Click()


Me.Caption = FormatDateTime(Now, vbLongDate)
End Sub

Private Sub Option3_Click()


Me.Caption = FormatDateTime(Now, vbShortDate)
End Sub

Private Sub Option4_Click()


Me.Caption = FormatDateTime(Now, vbLongTime)
End Sub

Private Sub Option5_Click()


Me.Caption = FormatDateTime(Now, vbShortTime)
End Sub
Función Format:

La función Format es más completa que las anteriores funciones, porque


puede manejar más 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 la 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.

6.3.- entrada y salida 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 las señ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 ésta. Las 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 mas 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

MsgBox

La función MsgBox, que ya se vio 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 mas 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

objeto.Print lista_de_expresiones

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"

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.
Las ventajas de utilizar las funciones definidas por el usuario en SQL
Server son:
• 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.
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

En el siguiente ejemplo se muestra una función Transact-SQL simple


definida por el usuario y se identifican los principales componentes de la
función. La función evalúa una fecha proporcionada y devuelve un valor
que designa la posición de esa fecha en una semana.
En Visual Basic 6.0, para mostrar una fecha en formato corto o largo,
utiliza el especificador de formato "ddddd" o "dddddd". Los
especificadores DayOfWeek ("w") y WeekOfYear ("ww") muestran el
primer día de la semana y la primera semana del año, respectivamente. El
carácter en minúscula "m" muestra el mes con un número sin cero a la
izquierda. El especificador Quarter ("q") muestra el trimestre del año
con un número del 1 al 4.
Para mostrar los minutos como un número con o sin ceros iniciales,
utiliza el especificador de formato "Nn" o "N". Los caracteres "Hh"
muestran la hora como un número con ceros iniciales, y "ttttt" muestra
la hora completa. Para mostrar las letras "A" o "P" en mayúscula o
minúscula con una hora anterior o posterior al mediodía, utiliza
"AM/PM", "am/pm", "A/P", "a/p" o "AMPM.".
El especificador de fecha y hora abreviado ("c") muestra una fecha y
hora en el formato "ddddd ttttt".
En Visual Basic 6.0, la función Format convierte las cadenas en números,
si es necesario, antes de asignarles un formato. Format muestra un
separador decimal final si no hay parte fraccionaria.
Visual Basic 6.0 admite cuatro secciones en la cadena de formato. Estas
secciones están separadas mediante puntos y coma (;) y especifican el
formato de los valores positivos, negativos, cero y nulos,
respectivamente. Los números negativos con una sección negativa vacía
en la cadena de formato muestran una cadena vacía.
El formato de notación científica permite que se incluyan los
marcadores de posición de dígitos "0" y "#" después del exponente.
En Visual Basic 6.0, puede crear expresiones para las cadenas de
formato definidas por el usuario con los especificadores @, &, <, > y !.
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:

Private Sub Command1_Click()


Dim Un_Valor As Long
Un_Valor = 100
'Se envía la variable por Valor ( ByVal )
Call Sumar(Un_Valor)
'Muestra el valor que es 100, ( no se modificó en la función Sumar )
MsgBox Un_Valor
End Sub
Sub Sumar(ByVal Valor As Long)
'Modifica la variable
Valor = Valor + 100
End Sub
Ejemplo pase por valor:

Código:
Private Sub cmdregre_Click()
Unload Me
End Sub
Sub sumar(ByVal Valor As Long)
Valor = Valor + 100
End Sub
Private Sub cmdByVal_Click()
Dim Un_Valor As Long
Un_Valor = 100
Call sumar(Un_Valor)
MsgBox Un_Valor
End Sub
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:

Private Sub Command1_Click()


Dim Un_Valor As Long
Un_Valor = 100
'Se envía la variable por Referencia ( ByRef ) con el valor 100
Call Sumar(Un_Valor)
'Muestra el valor que ahora es 200, ( ya que se modificó en la Sub Sumar)
MsgBox Un_Valor
End Sub
Sub Sumar(ByRef Valor As Long)
'Modifica la variable
Valor = Valor + 100

End Sub
Ejemplo pase por referencia:

Código:
Private Sub cmdregre_Click()
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

6.7.- ELABORACION DE PROGRAMAS.


La programación es el proceso de diseñar, escribir, depurar y mantener el
código fuente de programas computacionales. El código fuente es
escrito en un lenguaje de programación. El propósito de la programación
es crear programas que exhiban un comportamiento deseado. El proceso
de escribir código requiere frecuentemente conocimientos en varias
áreas distintas, además del dominio del lenguaje a utilizar, algoritmos
especializados y lógica
formal. Programar no involucra necesariamente otras tareas tales como
el análisis y diseño de la aplicación (pero sí el diseño del código), aunque
sí suelen estar fusionadas en el desarrollo de pequeñas
aplicaciones.Para crear un programa, y que la computadora interprete y
ejecute las instrucciones escritas en él, debe usarse un Lenguaje de
programación.

En sus inicios las computadoras interpretaban sólo instrucciones en un


lenguaje específico, del más bajo nivel, conocido como código máquina,
siendo éste excesivamente complicado para programar. De hecho sólo
consiste en cadenas de números 1 y 0 (Sistema binario).

Para facilitar el trabajo de programación, los primeros científicos que


trabajaban en el área decidieron reemplazar las instrucciones,
secuencias de unos y ceros, por palabras o letras provenientes del
inglés; codificándolas así y creando un lenguaje de mayor nivel, que se
conoce como Assembly o lenguaje ensamblador. Por ejemplo, para sumar
se usa la letra A de la palabra inglesa add (sumar). En realidad escribir en
lenguaje ensamblador es básicamente lo mismo que hacerlo en lenguaje
máquina, pero las letras y palabras son bastante más fáciles de recordar
y entender que secuencias de números binarios.

A medida que la complejidad de las tareas que realizaban las


computadoras aumentaba, se hizo necesario disponer de un método
sencillo para programar.

Entonces, se crearon los lenguajes de alto nivel. Mientras que una tarea
tan trivial como multiplicar dos números puede necesitar un conjunto de
instrucciones en lenguaje ensamblador, en un lenguaje de alto nivel
bastará con solo una.

Una vez que se termina de escribir un programa, sea en ensamblador o en


un lenguaje de alto nivel, es necesario compilarlo, es decir, traducirlo a
lenguaje máquina.
Léxico y programación

La programación se rige por reglas y un conjunto más o menos reducido


de
órdenes, expresiones, instrucciones y comandos que tienden a asemejarse
a
una lengua natural acotada (en inglés); y que además tienen la
particularidad
de una reducida ambigüedad. Cuanto menos ambiguo es un lenguaje de
programación, se dice, es más potente. Bajo esta premisa, y en el extremo,
el lenguaje más potente existente es el binario, con ambigüedad nula (lo
cual
lleva a pensar así del lenguaje ensamblador).

En los lenguajes de programación de alto nivel se distinguen diversos


elementos entre los que se incluyen el léxico propio del lenguaje y las
reglas
semánticas y sintácticas.

Programas y algoritmos

Un algoritmo es una secuencia no ambigua, finita y ordenada de


instrucciones
que han de seguirse para resolver un problema. Un programa
normalmente
implementa (traduce a un lenguaje de programación concreto) uno o más
algoritmos.

Un algoritmo puede expresarse de distintas maneras: En forma gráfica,


como un diagrama de flujo, en forma de código como en pseudocódigo o
un lenguaje de programación, en forma explicativa, etc.

Los programas suelen subdividirse en partes menores, llamadas módulos,


de
modo que la complejidad algorítmica de cada una de las partes sea menor
que
la del programa completo, lo cual ayuda al desarrollo del programa.
Esta es
una práctica muy utilizada y se conoce como "refino progresivo".

Según Niklaus Wirth, un programa está formado por los algoritmos y la


estructura de datos.

Se han propuesto diversas técnicas de programación cuyo objetivo es


mejorar
tanto el proceso de creación de software como su mantenimiento. Entre
ellas,
se pueden mencionar las siguientes:

ß programación estructurada

ß programación modular

ß programación orientada a objetos (POO)

ß programación declarativa

Compilación

El programa escrito en un lenguaje de programación (fácilmente


comprensible
por el programador) es llamado programa fuente y no se puede ejecutar
directamente en una computadora. La opción más común es compilar el
programa obteniendo un módulo objeto, aunque también puede ejecutarse
en forma más directa a través de un intérprete informático.

El código fuente del programa se debe someter a un proceso de


traducción para convertirlo en lenguaje máquina, código éste
directamente ejecutable por el procesador. A este proceso se le llama
compilación.

Normalmente la creación de un programa ejecutable (un típico.exe para


Microsoft Windows o DOS) conlleva dos pasos. El primer paso se llama
compilación (propiamente dicho) y traduce el código fuente escrito en un
lenguaje de programación almacenado en un archivo a código en bajo
nivel (normalmente en código objeto, no directamente a lenguaje
máquina). El
segundo paso se llama enlazado en el cual se enlaza el código de bajo
nivel generado de todos los ficheros y subprogramas que se han mandado
compilar y se añade el código de las funciones que hay en las bibliotecas
del compilador para que el ejecutable pueda comunicarse directamente
con el sistema operativo, traduciendo así finalmente el código objeto a
código máquina, y generando un módulo ejecutable.

Estos dos pasos se pueden hacer por separado, almacenando el


resultado de la fase de compilación en archivos objetos (un típico.obj
para Microsoft Windows, DOS o para Unix); para enlazarlos en fases
posteriores, o crear
directamente el ejecutable; con lo que la fase de compilación se
almacena sólo
temporalmente.
Un programa podría tener partes escritas en varios lenguajes
(por ejemplo C, C++ yensamblador), que se podrían compilar de forma
independiente y luego enlazar juntas para formar un único módulo
ejecutable.

Programación e ingeniería del software

Existe una tendencia a identificar el proceso de creación de un programa


informático con la programación, que es cierta cuando se trata de
programas
pequeños para uso personal, y que dista de la realidad cuando se trata de
grandes proyectos.

El proceso de creación de software, desde el punto de vista de la


ingeniería,
incluye los siguientes pasos:

1. Reconocer la necesidad de un programa para solucionar un problema


o
identificar la posibilidad de automatización de una tarea.

2. Recoger los requisitos del programa. Debe quedar claro qué es lo que
debe hacer el programa y para qué se necesita.

3. Realizar el análisis de los requisitos del programa. Debe quedar claro


cómo debe realizar el programa las cosas que debe hacer. Las pruebas que
comprueben la validez del programa se pueden especificar en esta fase.

4. Diseñar la arquitectura del programa. Se debe descomponer el


programa en partes de complejidad abordable.

5. Implementar el programa. Consiste en realizar un diseño detallado,


especificando completamente todo el funcionamiento del programa, tras
lo cual la codificación debería resultar inmediata.

6. Implantar (instalar) el programa. Consiste en poner el programa en


funcionamiento junto con los componentes que pueda necesitar (bases de
datos, redes de comunicaciones, etc.).

La ingeniería del software se centra en los pasos de planificación y diseño


del
programa, mientras que antiguamente (programación artesanal) la
realización de un programa consistía únicamente en escribir el código.
CONCLUSION:
En conclusión, conocer las funciones nos da la
oportunidad de desarrollar el manejo y la elaboración de
programas porque nos permite subdividir los programas
en funciones y asi de esta forma podemos dividir tareas
grandes de computación en más y más pequeñas, para que
dicho algoritmo alcance el objetivo para el que fue
diseñado, lo cual da como resultado que el programa sea
de mayor facilidad de uso y de entendimiento para poder
manejarlo mas eficientemente para la comodidad del
usuario.
BIBLIOGRAFIA:
http://www.scribd.com/doc/75420482/UNIDAD-6
https://sites.google.com/site/algoritmosgonzalezsama
niego/unidad-6-funciones
https://docs.google.com/viewer?a=v&pid=sites&srcid=
ZGVmYXVsdGRvbWFpbnxwcm9ncmFtYWNpb25lZGdhcnp1
bmlnYXxneDo0MWI4YzQ1NDQyNWU2MWE1
https://sites.google.com/site/algoritmosy/unidad
https://docs.google.com/viewer?a=v&pid=sites&srcid=
ZGVmYXVsdGRvbWFpbnxjYXJsb3NwYWxtZXJpbjIwfGd4Oj
M0NjdhNzg5MDY2YjMwMDU
http://lenguajecmasmas.wordpress.com/2007/10/01/
creacion-de-funciones-definidad-por-el-usuario/
http://www.php.net/manual/es/functions.user-
defined.php
Cuestionario:
¿Qué es una función o subrutina?
Se presenta como un subalgoritmo que forma parte del algoritmo
principal, el cualpermite resolver una tarea específica.
¿Cuáles son los elementos para la declaración de una función o
subrutina?
1.- un nombre único en el ámbito2.- un tipo de dato de retorno3.- una
lista de parámetros4.- el código u órdenes de procesamiento
¿Qué es un subalgoritmo?
Se le llama así a cada una de las partes de un algoritmo más general
que resuelvecada una de las tareas particulares necesarias para
que dicho algoritmo generalalcance el objetivo para el que fue
diseñado.
¿qué es una función estándar?
Como idea general, se presenta como un Subalgoritmo que forma
parte delalgoritmo principal, el cual permite resolver una tarea
específica.
menciona las caracteristicas de las funciones
•Las funciones que forman parte de la biblioteca estándar de C,
funciones
estándar o predefinidas, están divididas en grupos
•Todas las funciones que pertenecen a un
mismo grupo se definen en el mismofichero de cabecera.
•Retornan casi cualquier tipo de datos, como números, cadenas,
fechas, arreglos y vectores
¿cómo se declara una función?
Private function total (valor 1 as integer, valor 2 as integer) as
long
Menciona la definición de un stream.
en c++ es un objeto mediante el cual un programa puede insertar o
extraerdatos utilizando los operadores de inserción << y de
extracción >> o funciones.
¿Qué tipos de datos elementales proporciona c++?
números enteros, reales, caracteres y booleanos o lógicos.
¿para qué sirven los manipuladores?
sirven para modificar el comportamiento de los streams.
¿que son las funciones definidas por usuario?
usuario son rutinas que aceptan parámetros, realizan una acción,
como un cálculocomplejo, y devuelven el resultado de esa acción
como un valor.
¿por qué se deberian usar?
Permiten una programación modularPermiten una ejecución más
rápida.
¿en qué consiste la funcion square?
El encabezado de la función double square(double numero)El
cuerpo de la función
¿Qué significa pase por valor?
Significa que al compilar la función y el código que llama a la
función, esta recibe una copia de valores de los parámetros que se
le pasan como argumentos
¿Qué incluyen los tipos de valor?
Todos los datos numéricos: Boolen ,Char y Date
¿en que consiste el pase por referencia?
consiste en proporcionar a la subrutina a la que se le quiere pasar
el argumento la dirección de memoria del dato.
¿Qué nos indica una referencia?
Indica a la función donde existe la variable en memoria
¿Qué se les hace a los parámetros enviados por referencia?
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.
¿Qué es la programación?
La programación es el proceso de diseñar, escribir, depurar y
mantener el código fuente de programas computacionales.
es escrito en un lenguaje de programación.
El código fuente.
¿Cuál es el propósito de la programación?
El propósito de la programación es crear programas que exhiban un
comportamiento deseado.

Anda mungkin juga menyukai