informaticaPC

Teoría de la programación

Estructura del programa (III)

Procedimientos y Funciones

Los Procedimientos y las Funciones facilitan la estructuración y reutilización del código fuente, evitando la duplicación del mismo y facilitando su comprensión, así como el buscar errores en el programa.

Al ser posible la reutilización del código fuente, pueden ser llamados desde diferentes partes del programa: tanto desde el programa principal como desde otros Procedimientos y Funciones.

Sus parámetros o argumentos pueden ser de uno de los siguientes tipos:

  • ENT (de entrada): recogen el valor que se ha pasado desde el programa principal.
  • SAL (de salida): usados para devolver un valor.
  • ENTSAL (de entrada y salida): el mismo parámetro se usa tanto de entrada (para recibir un valor), como de salida (para devolver un valor como resultado).

Es importante que los Procedimientos y Funciones validen internamente que los datos recibidos son válidos.

A continuación describiremos los pasos necesarios para crear Procedimientos y Funciones usando algoritmos en pseudocódigo: ten en cuenta que podrás encontrar otras nomenclaturas válidas para hacerlo.

Información

La diferencia entre Procedimientos y Funciones es que los primeros no retornan directamente un valor.

Información

Las variables pueden ser pasadas como parámetros a Funciones y Procedimientos de los siguientes modos: por valor (se pasa realmente una copia de la variable) o por referencia (lo que se pasa realmente es la dirección de memoria de la variable, con lo que se estará usando la misma en ambas partes del código fuente, no una copia).

Información

Las variables creadas dentro de un Procedimiento o Función existen y son visibles sólo dentro de ellas.

Procedimientos

Consideraciones a la hora de crear un Procedimiento en pseucódigo:

  • Crearemos una variable en el programa principal para guardar el resultado devuelto por el Procedimiento.
  • Al crear el Procedimiento se usa la nomenclatura...

    PROCEDIMIENTO nombre( param_entrada_1, ..., param_entrada_n, param_salida_1, ..., param_salida_n )
  • Las variables internas, que será usadas sólo dentro del Procedimiento se declaran con LOCAL seguido de su tipo.
  • Terminan con RETORNAR y FIN_PROCEDIMIENTO.

Ejemplo: programa que usando un Procedimiento, muestre el resultado de sumar los números 10 y 20:

Programa principal:

ALGORITMO Principal;
VAR
    REAL num1 <- 10;
    REAL num2 <- 20;
    REAL resultado;
INICIO
    Sumar(num1, num2, resultado);
    ESCRIBIR("El resultado es: ", resultado);
FIN

Procedimiento:

PROCEDIMIENTO Sumar( ENT REAL numero_1, ENT REAL numero_2, SAL REAL res )
INICIO

    res <- numero_1 + numero_2;
    RETORNAR;

FIN_PROCEDIMIENTO

Explicación: en el programa principal creamos tres variables: 'num1' y 'num2' en las que almacenaremos los números que pasaremos al Procedimiento (también se podrían haber escrito directamente los números, sin necesidad de usar variables), y otra de nombre 'resultado' que pasaremos como tercer parámetro y con la que se recogerá el valor devuelto por éste.

En el Procedimiento definimos como de entrada los dos primeros parámetros y de salida el tercero (ya que a través de él, el programa principal recogerá el resultado).

Hemos definido las variables como de tipo REAL, puesto que así pueden ser usadas también con números decimales.

Información

Las variables creadas dentro de un Procedimiento existen y son visibles sólo dentro de él.

Más información

Vea también: [ Ejemplos ]

Funciones

Consideraciones a la hora de crear una Función:

  • Hay que crear una variable en el programa principal para guardar el valor devuelto (aunque no es imprescindible ya que se puede recuperar usándola en una expresión o en otra Función).
  • Al crear la Función se usa la nomenclatura...

    [TIPO_DATO_DEVUELTO] FUNCION nombre( param_entrada_1, ..., param_entrada_n )
  • Las variables internas de la Función se declaran con LOCAL seguido de su tipo.
  • Terminan con DEVOLVER valor y FIN_FUNCION, (donde 'valor' puede ser una variable local, o un valor '1, "hola", etc.")

Ejemplo: programa que usando una Función, muestre el resultado de sumar los números 10 y 20:

ALGORITMO Principal;
VAR
    ENTERO num1 <- 10;
    ENTERO num2 <- 20;
    REAL resultado;
INICIO
    resultado <- Sumar(num1, num2);
    ESCRIBIR("El resultado es: ", resultado);
FIN

Función:

REAL FUNCION Sumar( ENT REAL numero_1, ENT REAL numero_2 )
VAR
    LOCAL REAL res;
INICIO

    res <- numero_1 + numero_2;
    DEVOLVER res;

FIN_FUNCION

EXPLICACIÓN: en el programa principal creamos tres variables: 'num1' y 'num2' en las que almacenaremos los números que pasaremos a la Función (también se podrían haber escrito directamente los números, sin necesidad de usar variables), y otra de nombre 'resultado' en la que se recogerá el valor devuelto por ésta.

En la Función definimos como de entrada los parámetros recibidos, y creamos una variable propia de la misma que posteriormente será usada para devolver su valor (el resultado de la suma).

Hemos definido las variables como de tipo REAL, puesto que así pueden ser usadas también con números decimales.

Información

Las variables creadas dentro de una Función existen y son visibles sólo dentro de ella.

Más información

Vea también: [ Ejemplos ]

Primera página Anterior Siguiente Última página
Usamos cookies para ofrecerte una experiencia mejorada, el continuar navegando supone que aceptas su uso