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.

8.4. Funcionami<strong>en</strong>to de una llamada 173<br />

Program . . .<br />

Declaraciones y definiciones<br />

begin<br />

. . .<br />

llamada al proc. P<br />

. . .<br />

<strong>en</strong>d.<br />

procedure P (parámetros);<br />

Declaraciones y definiciones<br />

begin<br />

. . .<br />

instrucciones<br />

. . .<br />

<strong>en</strong>d;<br />

Figura 8.5. Llamada a un subprograma.<br />

Con la <strong>en</strong>trada de datos 5 ← por ejemplo, la evolución de la memoria <strong>en</strong> los<br />

distintos estados sería la sigui<strong>en</strong>te:<br />

Estado 1:<br />

Estado 2A, al principio de la llamada<br />

a LeerNumPos:<br />

Estado 2B, al final de la llamada<br />

a LeerNumPos:<br />

Estado 3, tras la llamada a<br />

LeerNumPos <strong>en</strong> el programa<br />

principal:<br />

Estado 4A, al comi<strong>en</strong>zo de la llamada<br />

a Fac:<br />

Estado 4B, al comi<strong>en</strong>zo de la llamada<br />

a Fac:<br />

Estado 5, al terminar el programa<br />

principal:<br />

num<br />

?<br />

num n<br />

? ?<br />

num n<br />

5 5<br />

num<br />

5<br />

num i prodAcum Fac<br />

5 ? ? ?<br />

num i prodAcum Fac<br />

5 6 120 120<br />

En la figura 8.5 se esquematiza el ord<strong>en</strong> de ejecución de las distintas instrucciones.<br />

❡❡<br />

En <strong>Pascal</strong> el funcionami<strong>en</strong>to de los parámetros es el mismo tanto para procedimi<strong>en</strong>tos<br />

como para funciones. Sin embargo, el cometido de las funciones<br />

es calcular un valor, por lo que no ti<strong>en</strong>e s<strong>en</strong>tido que éstas utilic<strong>en</strong> parámetros<br />

por refer<strong>en</strong>cia.<br />

num<br />

5

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

Saved successfully!

Ooh no, something went wrong!