Trabajo de investigacion de Una función
Enviado por Rafael Aguilar • 21 de Noviembre de 2017 • Tarea • 1.211 Palabras (5 Páginas) • 221 Visitas
[pic 1]
Trabajo de investigación Unidad 6
INTEGRANTES:
Rafael Aguilar zuñiga
Ivan Alejandro Gómez
Una función
Es una parte del programa que puede manipular datos y devolver un valor de un cierto tipo. Se ejecuta al hacer una llamada a dicha función dentro de una expresión. La llamada a una función puede incluirse en cualquier expresión en la que un dato del tipo que devuelve la función tenga sentido.
Declaración de una función
La forma de declaración de las funciones es análoga a la de los procedimientos. Sólo sediferencian en dos detalles.En primer lugar, la cabecera, en la que hay que indicar el tipo del valor que devuelve la función. Por este motivo la llamada a una función debe ir incluida adecuadamente en una expresión. El tipo de dato que devuelve una función puede ser ordinal, real, cadena o puntero (no valen los demás tipos de dato estructurados: Array, Record, Set o File). En segundo lugar, en el cuerpo de la función hay que indicar mediante una sentencia de asignación el valor que debe devolver la función. El primer término de esta sentencia de asignación es el identificador de la función y el segundo término, una constante, variable o expresión compatible con el tipo de dato que devuelva la función. Aparte de esto, todo lo dicho anteriormente para los procedimientos sirve para las funciones.
El esquema de declaración de una función es el siguiente:
FUNCTION Ident(parámetros): Tipo; Cabecera de la función
CONST {. . .} Declaración de constantes locales
TYPE {. . .} Definición de tipos locales
VAR {. . .} Declaración de variables locales
FUNCTION {. . .} Declaración de funciones locales
PROCEDURE {. . .} Declaración de procedimientos locales
BEGIN
{. . .} Cuerpo de la función (asignación de un valor a la función)
END;
Ejemplo de función
Un ejemplo de declaración de una función que no tiene declaraciones locales sería:
function volumen(radio:real):real;
begin
volumen:=(4/3)*pi*radio*radio*radio
end;
Y un ejemplo de llamada a la función anterior en el cuerpo principal de un programa:
program esfera;
var x:real;
function volumen(radio:real):real;
begin
volumen:=(4/3)*pi*radio*radio*radio
end;
begin
write('Introduce un valor para el radio: ');
readln(x);
writeln('Volumen de la esfera de r = ',x,' es : ',volumen(x))
end.
Parámetros o argumentos
Los parámetros o argumentos son un mecanismo para pasar datos del programa principal a un procedimiento y viceversa. Los parámetros de la llamada para ejecutar la rutina se llaman parámetros reales mientras que los parámetros en la declaración de la rutina se llaman parámetros formales. A continuación se muestra un ejemplo de programa con un procedimiento que tiene un parámetro:
program ejemplo1;
var a : integer;
procedure asteriscos(n:word); { n, parametro formal }
var i:integer; { i, variable local }
begin
for i:=1 to n do write(‘*’);
writeln
end;
begin
a:=7;
asteriscos(a); { a es el parametro real }
asteriscos(4); { 4 es el parametro real }
asteriscos(9-a) { 9-a es el parametro real }
end.
La salida por pantalla tras la ejecución del programa anterior es la siguiente:
*******
****
**
Si hay varios parámetros formales del mismo tipo, los identificadores se separarán por comas y si son de distintos tipos, con los correspondientes caracteres de punto y coma.
Ej. 1: Procedure Ejemplo1(a,b,c:Integer);
Ej. 2: Procedure Ejemplo2(d,e:Integer;f,g:Char;t:real);
Ej. 3: Procedure Ejemplo3; { procedimiento sin parametros }
Los parámetros pueden ser de cualquier tipo predefinido o ya declarado en la definición de tipos, incluso pueden ser funciones o procedimientos. Asimismo pueden existir parámetros formales de distintas clases.
Parámetros formales POR VALOR (o de entrada)
Los parámetros formales por valor permiten la introducción de información en el procedimiento. Sintaxis: identificador : tipo_dato; o si hay n parámetros por valor del mismo tipo: identificador_1,...,identificador_n : tipo_dato; Los valores son introducidos en la llamada a la subrutina mediante el parámetro real que puede ser una constante, una variable o una expresión con un valor determinado. Al empezar a ejecutarse la subrutina se reserva espacio en memoria para el parámetro formal al que, en un principio, se le asigna el mismo valor que el parámetro real. Posteriormente los valores que vayan tomando durante la ejecución de la subrutina los parámetros real y formal serán independientes. Una vez terminada de ejecutar la subrutina se deja libre de uso el espacio de memoria correspondiente al parámetro formal. Ejemplo de un programa que incluye un procedimiento con un parámetro formal por valor:
...