Académique Documents
Professionnel Documents
Culture Documents
Funciones
Introducción
Una función es un subprograma que realiza una tarea específica y retorna un único
valor a través de su identificador, a diferencia de los procedimientos, los cuales sólo pueden
hacerlo a través de parámetros de salida o entrada/salida.
Del mismo modo que con los procedimientos, las funciones deben estar definidas
antes de ser invocadas por el programa principal u otro subprograma.
La definición incluye:
• el identificador de la función,
• entre paréntesis, la lista de parámetros separados por punto y coma, la cual incluye
todos y cada uno de los parámetros con su tipo (IdParametro : TIPO; . . . )
• el cuerpo de la función.
Si bien los parámetros de una función pueden ser de cualquier tipo, se recomienda no
incluir en la lista parámetros de salida, los que permitirían retornar otros valores al módulo
de llamada, ya que esto desvirtuaría la finalidad de un subprograma función.
Existen autores que consideran que la implementación de una función que devuelve
más de un resultado implica un claro error conceptual. Una función, dada su naturaleza, sólo
debe devolver un resultado, a través de su identificador.
Dados 15 números que se ingresan por teclado, determinar y mostrar cuántos de ellos
son pares y cuántos impares.
Página 1 de 4
Universidad Tecnológica Nacional Algoritmos y Estructuras de Datos
Facultad Regional Buenos Aires Proyecto CoViE – Comunidad Virtual Educativa
Ingeniería en Sistemas de Información Funciones
C
Invocación a ContPares <-- 0
una función
LeerNumeros
Num
I
Argumento/s
1 15 EsPar(Num)
INC(ContPares) INC(ContImpares)
MostrarParesEImpares
ContPares, ContImpares
F
Esquema de Datos
PROCEDURE LeerNumero
VAR PNum:integer
Definición del
procedimiento PNum
Página 2 de 4
Universidad Tecnológica Nacional Algoritmos y Estructuras de Datos
Facultad Regional Buenos Aires Proyecto CoViE – Comunidad Virtual Educativa
Ingeniería en Sistemas de Información Funciones
Lista de
Parámetros
(PNum MOD 2) = 0
Cuerpo de la
función
esPar <-- TRUE esPar <-- FALSE
Asignación del
resultado al
R Asignación del
resultado al
identificador de la identificador de la
función función
PROCEDURE MostrarParesEImpares
PContPares, PContImpares: integer
PROGRAM CantidadDeParesEImpares;
VAR
Num, ContPares, ContImpares : INTEGER;
Página 3 de 4
Universidad Tecnológica Nacional Algoritmos y Estructuras de Datos
Facultad Regional Buenos Aires Proyecto CoViE – Comunidad Virtual Educativa
Ingeniería en Sistemas de Información Funciones
BEGIN
ContPares:=0;
ContImpares:=0;
FOR I := 1 TO 15 DO
BEGIN
LeerNumero(Num);
IF EsPar(Num) THEN
Inc(ContPares)
ELSE
Inc(ContImpares);
END;
MostrarParesEImpares (ContPares, ContImpares)
END.
Una función tiene la misma estructura que un programa principal, por lo tanto, dentro de su
definición se pueden incluir entidades locales: declarar variables, definir constantes, definir
tipos de datos del usuario y definir procedimientos y/o funciones, teniendo en cuenta que éstas
tendrán validez exclusivamente dentro del entorno de ejecución de la función.
TYPE . . . ;
VAR . . . ;
Página 4 de 4