PROCEDIMIENTOS
FUNCIONES CON PARAMETROS.
Una función es un subprograma que recibe, como argumentos o parámetros, datos de tipo numérico o no numérico, y devuelve un único resultado.
Las funciones incorporadas al sistema se denominan funciones internas, o intrínsecas; las funciones definidas por el usuario se llaman funciones externas.
El algoritmo o programa invoca la función con el nombre de esta última en una expresión seguida de una lista de argumentos que deben coincidir en cantidad, tipo y orden con los de la función que fue definida.
Declaración de funciones
En pseudocódigo:
SINTAXIS:
Funcion nombrefun(lista de parámetros): Tipo
..
…(Declaraciones locales)
..
Hacer
..(cuerpo ejecutable de la función)
…
nombrefun:= <valor de la función> // 1 //
Fin Hacer
Fin Funcion
DESCRIPCIÓN
nombrefun : es el nombre indicatorio de la función.
lista de parámetros : es la lista de parámetros formales. Esta lista NO puede ser vacía.
Tipo: es el tipo de resultado que devuelve la función.
// 1 // En el cuerpo de la función debe existir una sentencia que asigne valor explícitamente al nombre de la función.
Para que las acciones descritas en un subprograma función sean ejecutadas, se necesita que éste sea invocado desde un programa principal o desde otros subprogramas a fin de proporcionarle los argumentos de entrada necesarios para realizar estas acciones.
Invocación a las funciones
Una función definida por el usuario se llama haciendo referencia a su nombre. En pseudocódigo:
..
… //líneas de programa//
…
nombrefun(lista de parámetros reales o actuales)
…
..
La sentencia nombrefun acompañada de los parámetros es la que inicia la ejecución de la función. El control de ejecución lo toma la función, ejecuta secuencialmente cada una de sus sentencias, y cuando termina de ejecutarse, le devuelve el control al programa llamador, ejecutándose la secuencia inmediatamente siguiente a la de la llamada. El resultado lo devuelve en el nombre de la función; el mismo se refiere a la zona de memoria que contiene el valor devuelto por la ejecución de la función.
Cada vez que se llama a una función desde el algoritmo principal, se establece automáticamente una correspondencia entre los parámetros formales y los reales. Debe haber exactamente el mismo número de parámetros reales que de formales en la declaración de la función, y se presupone una correspondencia uno a uno de izquierda a derecha entre los parámetros formales y reales.
Una llamada a una función implica los siguientes pasos:
-
A cada parámetro formal se le asigna el valor real de su correspondiente parámetro actual (cabe destacar que digo “real” refiriéndome al valor verdadero con el cual va a trabajar el subprograma, y no al tipo de dato).
-
Se ejecuta el cuerpo de acciones de la función.
-
Se devuelve el valor de la función al nombre de la función y se retorna al punto de llamada.
EJERCICIOS CON FORMULAS:
1.- FUERZA GRAVITACIONAL...
ALGORITMO...
Inicio:
Declaración:
Q, F, d, G, m1, m2 <- Real
opción <- Entero
Fuerza gravitatoria ( Real X, Real Y, Real Z ); 2//Declaración
Escribir "Menu"
" 1.- problema 1",
" 2.-problema 2",
" 3.-problema 3",
Escribir " Elija Opción"
Leer (Opción)
PROCESO:
Caso 1:
G = 6,67 * 10 ^ - 11;
Leer ( m1, m2, d )
F = Fuerza Gravitatoria( m1, m2, d ); 1//Invocación
Escribir ( F ); 5// Respuesta
Zona de Funciones
Fuerza Gravitatoria ( Real X, Real Y, Real Z )//3
4// Retornar ( Q )
FinAlgoritmo
2.- VOLTAJE EN FUERZA ELECTROMOTRIZ...
ALGORITMO...
Inicio:
Declaración:
W, V, Of, Oi, t <- Real;
opción <- Entero
Voltaje ( Real P, Real Q, Real R ); 2//Declaración
Escribir "Menu"
Escribir " 1.- Fuerza Gravitacional";
Escribir " 2.- Voltaje";
Escribir " 3.- Velocidad Final";
Escribir " Elija una Opción"
Leer (Opción);
En caso sea ( opción )
Caso 2:
Leer ( Of, Oi, t )
V = Voltaje ( Of, Oi, t ); 1//Invocación
Escribir ( Vf ); 5// Respuesta
Zona de Funciones
Voltaje ( Real P, Real Q, Real R ); //3
W = ( P - Q ) / R;
4// Retornar ( W )
FinAlgoritmo