09.05.2013 Views

Algoritmos y Programación en Pascal

Algoritmos y Programación en Pascal

Algoritmos y Programación en Pascal

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

478 Apéndice A. Aspectos complem<strong>en</strong>tarios<br />

8<br />

6<br />

4<br />

2<br />

y = g(x)<br />

-2 -1<br />

-2<br />

1 2 3<br />

-4<br />

y = f(x)<br />

Figura A.1.<br />

8<br />

6<br />

4<br />

2<br />

y = max[f,g](x) «<br />

-2 -1 1 2 3<br />

O sea, la función MaxFuncs responde al sigui<strong>en</strong>te esquema:<br />

MaxFuncs : ( IR → IR) × ( IR → IR) × IR → IR<br />

MaxFuncs ( f , g , x ) = . . .<br />

La novedad consiste <strong>en</strong> que, si se quiere implem<strong>en</strong>tar un programa que resuelva<br />

el problema, dos de los parámetros serían subprogramas (concretam<strong>en</strong>te, funciones).<br />

Esto está permitido <strong>en</strong> <strong>Pascal</strong> y para ello se incluye <strong>en</strong> la lista de parámetros<br />

formales el <strong>en</strong>cabezami<strong>en</strong>to completo del subprograma parámetro,<br />

function MaxFuncs (function F (x: real): real;<br />

function G (x: real): real; x: real): real;<br />

{Dev. el máximo de F(x) y G(x)}<br />

begin<br />

if F(x) > G(x) th<strong>en</strong><br />

MaxFuncs:= F(x)<br />

else<br />

MaxFuncs:= G(x)<br />

<strong>en</strong>d; {MaxFuncs}<br />

y <strong>en</strong> la llamada, como parámetro real, se coloca el id<strong>en</strong>tificador del subprograma<br />

que actúa como argum<strong>en</strong>to:<br />

y:= MaxFuncs (Sin, Cos, Pi/4)<br />

En la ejecución de la llamada, al igual que ocurre con cualquier tipo de<br />

parámetros, el subprograma ficticio se sustituye por el subprograma argum<strong>en</strong>to,<br />

concretándose así su acción o resultado (dep<strong>en</strong>di<strong>en</strong>do de si es un procedimi<strong>en</strong>to<br />

o una función, respectivam<strong>en</strong>te).<br />

Cuando el parámetro de un subprograma es otro subprograma, la consist<strong>en</strong>cia<br />

<strong>en</strong>tre la llamada y la definición requiere que los subprogramas (parámetros)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!