Investigacin
Unidad VI
1. INTRODUCCION.
Panuco
Funciones
Investigacin de unidad VI, el alumno deber investiga el tema arreglos y archivos.
6. Funciones.
6.1 Introduccin. Docente: Ext. El
Lic. Diana Lizbeth Lara Cruz
6.2 Funciones estndar.
6.3 Entrada y salida de datos. Higo,
Alumno:
6.4 Funciones definidas por el usuario.
6.5 Pase por valor. Ver
Luis Salvador
6.6 Pase por referencia. Hernndez
6.7 Punteros.
Semestre/ grupo:
2. OBJETIVO (COMPETENCIA)
Cuarto 412
Con esta actividad el alumno:
- Investigar y organizara informacin y datos.
- Interpretar, analizara, integrara y evaluara informacin y datos.
- Usar software bsico y aplicado a Ingeniera.
- Se comunicara en forma oral, grfica y escrita.
- Trabajar en equipo.
1
UNIDAD VI. Funciones
INDICE
Unidad V
Funciones
2
UNIDAD VI. Funciones
6.1 Introduccin----------------------------------------------------------
6.7 Punteros.---------------------------------------------------------------
6.1 Introduccin.
Sub-algoritmo.
Se le llama as a cada una de las partes de un algoritmo ms general que resuelve cada una
de las tareas particulares necesarias para que dicho algoritmo general alcance el objetivo
para el que fue diseado, es decir resolver un problema.
3
UNIDAD VI. Funciones
Las variables locales: se declaran dentro de un mdulo o Sub-algoritmo y slo tienen utilidad
dentro de ese mdulo, no se podr acceder a ellas desde otros mdulos. Pueden existir
variables locales con el mismo nombre siempre que estn en mdulos diferentes.
Las variables globales: son declaradas de forma que puedan ser utilizadas (consultada y/o
modificada) desde cualquiera de los mdulos que forman el programa. En este caso, no
puede haber dos variables globales con el mismo nombre, ya que esto producira una
ambigedad que el compilador no podra resolver.
Funcin.
Una lista de parmetros: especificacin del conjunto de argumentos (pueden ser cero, uno o
ms) que la funcin debe recibir para realizar su tarea.
4
UNIDAD VI. Funciones
Donde se puede ver claramente donde inicia la funcin del programa y donde termina.
Tambin 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
especfica. Algunos lenguajes de programacin, como Visual Basic .NET o Fortran, utilizan el
nombre funcin para referirse a subrutinas que devuelven un valor.
Una subrutina al ser llamada dentro de un programa hace que el cdigo principal se detenga y
se dirija a ejecutar el cdigo de la subrutina, en cambio cuando se llama a una macro, el
compilador toma el cdigo de la macro y lo implanta donde fue llamado, aumentando as el
cdigo 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 cdigo, en cmo se le pasa los parmetros
etc...
La diferencia fundamental con respecto a los procedimientos o subrutinas es que estos, luego
de ejecutar el cdigo 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
cdigo que contienen y luego mueren por decirlo de alguna manera.
Total=Valor1+Valor2
End Function
5
UNIDAD VI. Funciones
Seguramente notaste que declaramos la funcin llamada Total, y al final de los parmetros
dice As Long , esto es por que como dijimos las funciones retornan o devuelven un valor, o
sea que en este caso la funcin 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 nmeros, cadenas, fechas,
arreglos y vectores
En este caso el control Label1 llamara a la funcin Total, la funcin realizara la suma de los
valores pasados como parmetros y por ltimo el valor final de la suma se lo asignara al
control label1.
Las funciones de cadena, como su nombre lo indica, se utilizan para trabajar y tratar las
cadenas de caracteres.
Estas dos funciones se utilizan para convertir cadenas de texto a minscula y mayscula.
La funcin Lcase cambia o convierte una cadena de texto a minscula y un ejemplo de cmo
utilizarla sera as:
Ejemplo:
cadena="HOLAMUNDO"
'Convertimos
cadena=LCase(cadena)
6
UNIDAD VI. Funciones
La funcin Ucase funciona de la misma manera que Lcase pero convierte el contenido de una
cadena a maysculas.
Por ejemplo, si tenemos un control Label1 que contiene un texto que dice: "Porcentaje de
sueldos", escribiendo la siguiente lnea:
Estas tres funciones se utilizan para eliminar los espacios vacos de una cadena.
LTrim elimina los espacios vacos 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
vacos de la izquierda haramos lo siguiente:
Ciudad = LTrim(ciudad)
MiText = RTrim(MiText)
La Funcin Trim elimina todos los espacios vacos de ambos lados de la cadena.
Ejemplo:
Funcin Len
La funcin Len nos permite conocer la cantidad de caracteres que tiene una determinada
cadena. O sea que esta funcin nos devuelve un nmero.
Ejemplo:
Como la funcin Len devuelve un nmero debemos asignar ese nmero devuelto en una
variable de tipo numrica.
Ejemplo:
TamanoCadena = Len(MiCadena)
Hay que tener en cuenta que la funcin Len tambin toma en cuenta los espacios vacos.
Ejempos:
Si queremos obtener el cdigo ASCII del caracter "a", que es el nmero 97 podramos hacer
lo siguiente:
num = Asc("a")
En definitiva la funcin Asc lleva un solo parmetro de tipo String del cual queremos obtener
dicho nmero.
8
UNIDAD VI. Funciones
La Funcin Chr acta a la inversa de la funcin Asc, esto quiere decir, que a partir de un
determinado nmero nos devolver el caracter ASCII.
Obviamente que en vez de pasarle a la funcin un parmetro String es decir la letra, debemos
pasarle un nmero ASCII y nos devolver el carcter asociado.
Ejemplo:
letra = Chr(97)
Ejemplos:
estndar.
o La salida de datos hacia la pantalla se puede realizar utilizando los mtodos Write
y WriteLine( ) de la clase Console.
Ejemplos:
Cuadro de Mensaje
Muestra un mensaje en un cuadro de dilogo, espera a que el usuario haga clic en un botn.
Si se emplea como funcin, devuelve un tipo Integer correspondiente al botn elegido por el
usuario.
La sintaxis es:
Visual-Basic tiene una serie de constantes memo-tcnicas que permiten fcilmente recordar
las opciones posibles.
Funcin InputBox
La sintaxis es:
Salida de datos
Adems, una misma puede ser llamada muchas veces en un mismo programa, e incluso
puede ser reutilizada por otros programas. Una funcin es capaz de mantener una gran
independencia con el resto del programa.
Existen cuatro formas de pasar un argumento a una funcin (subrutina) o procedimiento: por
valor, por referencia, por valor-resultado y por nombre.
Las ventajas de utilizar las funciones definidas por el usuario en SQL Server son:
Permiten una programacin modular.
Puede crear la funcin una vez, almacenarla en la base de datos y llamarla desde el
programa tantas veces como desee. Las funciones definidas por el usuario se pueden
modificar, independientemente del cdigo de origen del programa.
Permiten una ejecucin ms rpida.
11
UNIDAD VI. Funciones
Al igual que los procedimientos almacenados, las funciones definidas por el usuario Transact-
SQL reducen el costo de compilacin del cdigo Transact-SQL almacenando los planes en la
cach y reutilizndolos para ejecuciones repetidas. Esto significa que no es necesario volver a
analizar y optimizar la funcin definida por el usuario con cada uso, lo que permite obtener
tiempos de ejecucin mucho ms rpidos.
Las funciones CLR ofrecen una ventaja de rendimiento importante sobre las funciones
Transact-SQL para tareas de clculo, manipulacin de cadenas y lgica
empresarial. Transact-SQL se adecuan mejor a la lgica intensiva del acceso a datos.
Pueden reducir el trfico de red.
Una operacin que filtra datos basndose en restricciones complejas que no se puede
expresar en una sola expresin escalar se puede expresar como una funcin. La funcin se
puede invocar en la clusula WHERE para reducir el nmero de filas que se envan al cliente.
Tipos de funciones
o Funcin escalar:
Las funciones escalares definidas por el usuario devuelven un nico valor de datos del tipo
definido en la clusula RETURNS. En una funcin escalar insertada no hay cuerpo de la
funcin; el valor escalar es el resultado de una sola instruccin. Para una funcin escalar de
varias instrucciones, el cuerpo de la funcin, definido en un bloque BEGIN...END, contiene
una serie de instrucciones de Transact-SQL que devuelven el nico valor. El tipo devuelto
puede ser de cualquier tipo de datos excepto text, ntext, image, cursor y timestamp.
Funciones con valores de tabla
Las funciones con valores de tabla definidas por el usuario devuelven un tipo de
datos table. Las funciones insertadas con valores de tabla no tienen cuerpo; la tabla es el
conjunto de resultados de una sola instruccin SELECT.
SQL Server proporciona numerosas funciones del sistema que se pueden usar para realizar
diversas operaciones. No se pueden modificar. Para obtener ms informacin, vea Funciones
integradas (Transact-SQL), Funciones almacenadas del sistema (Transact-SQL) y Funciones
y vistas de administracin dinmica (Transact-SQL).
[Top]
12
UNIDAD VI. Funciones
Pasar por valor implica crear una nueva variable dentro de la funcin y pasarle una copia del
valor de la variable externa. Si se modifica el valor de la variable copia, la variable original
queda inalterada.
Las enumeraciones, ya que su tipo subyacente es siempre SByte, Short, Integer, Long, Byte,
UShort, UInteger o ULong
Sea la funcin
Sea la variable a que toma inicialmente el valor de 3. Cul ser el valor de a despus de la
llamada a la funcin funcion?
int a=3;
funcion(a);
System.out.println("despus de la llamada: a="+a);
En primer lugar, recordaremos que la funcin denominada funcion tiene un nico parmetro x,
cuyo alcance es desde la llave de apretura hasta la llave de cierre de la funcin. La
variable x deja de existir una vez que la funcin retorna.
Vamos a ver en este ejemplo el significado de "paso por valor". La variable a toma el valor
inicial de 3. Cuando se llama a la funcin se pasa el valor de a en su nico argumento, el valor
de a se copia en el parmetro x, la variable x toma el valor de 3. En el curso de la llamada a la
13
UNIDAD VI. Funciones
Durante el curso de la llamada a la funcin funcin, existe la variable a y su copia x, pero son
dos variables distintas, aunque inicialmente guarden el mismo valor.
Pasando objetos
Creamos una clase Entero muy sencilla que tiene como miembro dato un nmero
entero valor, y un constructor que inicializa dicho miembro pblico al crearse un objeto de la
clase Entero.
El valor devuelto por new al cear un objeto es una referencia a un objeto en memoria, que
hemos denominado objeto. Creamos un objeto aInt de la clase Entero para guardar el nmero
tres.
14
UNIDAD VI. Funciones
Estos dos ejemplos, nos ponen de manifiesto el significado de la frase "pasar por valor un
dato a una funcin", y el distinto comportamiento de los tipos bsicos de datos, que no se
pueden modificar en el curso de la llamada a la funcin, de los objetos que si se pueden
modificar. La referencia a un objeto se pasa por valor a la funcin. Dentro de la funcin, desde
esta referencia podemos acceder a los miembros pblicos de dicho objeto para modificar su
estado. Cuando la funcin retorna el objeto estar modificado.
15
UNIDAD VI. Funciones
En los parmetros enviados por Referencia, lo que se hace es enviar un puntero de la variable
original. Entonces, si en la funcin o procedimiento se cambia el valor de la variable, el
cambio seguir mantenindose una vez que finalice la ejecucin del procedimiento o funcin.
Este ejemplo es igual que el anterior, pero en la Sub sumar, la variable Valor se declara con
ByRef (por Referencia)
Cdigo:
16
UNIDAD VI. Funciones
Cdigo:
Unload Me
End Sub
End Sub
Un_Valor = 100
End Sub
17
UNIDAD VI. Funciones
6.7 Punteros.
Un puntero es un tipo simple que siempre est asociado a otro tipo (punteros a enteros, a
reales, a registros, etc.)
Se pueden ver los punteros como variables que almacenan direcciones de memoria; de aqu
se deduce:
El hecho de disponer de una direccin postal no garantiza que el lugar exista. Para declarar
variables de tipo puntero en la notacin algortmica se utiliza la sintaxis siguiente: variable
puntero a tipo
Por ejemplo:
Puntero a real
Una vez se declara un puntero pueden llevarse a cabo dos acciones bsicas sobre el mismo:
Asignarle memoria para almacenar un dato del tipo al que apunta:
Crear
Destruir
18
UNIDAD VI. Funciones
19
UNIDAD VI. Funciones
20
UNIDAD VI. Funciones
21