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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

8.2. Subprogramas con parámetros 163<br />

begin<br />

for i:= 1 to 10 do<br />

Write (’-’);<br />

WriteLn<br />

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

La llamada al procedimi<strong>en</strong>to sería:<br />

TrazarLinea<br />

El procedimi<strong>en</strong>to anterior realiza siempre una acción fija y totalm<strong>en</strong>te determinada;<br />

traza una línea formada por diez guiones. La única relación exist<strong>en</strong>te<br />

<strong>en</strong>tre el programa y el procedimi<strong>en</strong>to es la llamada.<br />

Si se quisiera trazar una línea de 15 guiones habría que escribir un nuevo<br />

procedimi<strong>en</strong>to; <strong>en</strong> cambio, si añadimos un parámetro para determinar la longitud<br />

<strong>en</strong> caracteres de la línea por trazar:<br />

procedure TrazarLineaLong(longitud: integer);<br />

{Efecto: traza una línea de guiones, con la longitud indicada}<br />

var<br />

i: integer;<br />

begin<br />

for i:=1 to longitud do<br />

Write(’-’);<br />

WriteLn<br />

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

Al efectuar la llamada hay que indicar la longitud de la línea por trazar, por<br />

ejemplo:<br />

TrazarLineaLong(15)<br />

que trazaría una línea formada por quince guiones. Otra posible llamada sería:<br />

largo:= 10;<br />

TrazarLineaLong(largo + 5)<br />

que trazaría una línea idéntica a la anterior.<br />

En resum<strong>en</strong>, mediante la inclusión de un parámetro, se ha pasado de un<br />

procedimi<strong>en</strong>to que traza una línea de longitud fija y determinada a otro que<br />

puede trazar una línea de cualquier longitud aum<strong>en</strong>tando la flexibilidad y el<br />

grado de abstracción del procedimi<strong>en</strong>to.

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

Saved successfully!

Ooh no, something went wrong!