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.

262 Capítulo 12. Arrays<br />

Así, haremos refer<strong>en</strong>cia al número de pasajeros del vagón i-ésimo mediante<br />

vagon[i], mi<strong>en</strong>tras que el total de viajeros <strong>en</strong> el tr<strong>en</strong> será<br />

15<br />

i=1<br />

que <strong>en</strong> <strong>Pascal</strong> se calcula como sigue:<br />

total:= 0;<br />

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

total:= total + vagon[i]<br />

vagon[i]<br />

Como todo array, un vector se puede pasar como parámetro <strong>en</strong> procedimi<strong>en</strong>tos<br />

y funciones:<br />

const<br />

Tamanno = 5;<br />

type<br />

tVector = array[1..Tamanno] of real;<br />

function Norma(vec: tVector) : real;<br />

{Dev.<br />

T amanno<br />

i=1 vec 2 i }<br />

var<br />

i: 1..Tamanno;<br />

sumaCuad: real;<br />

begin<br />

sumaCuad:= 0.0;<br />

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

sumaCuad:= sumaCuad + Sqr(vec[i]);<br />

Norma:= SqRt(sumaCuad)<br />

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

La función anterior devuelve la norma de un vector de IR Tamanno . Supongamos<br />

ahora que queremos desarrollar una función tal que, dado un vector, devuelva<br />

el vector unitario de su misma dirección y s<strong>en</strong>tido. En este caso no podremos<br />

utilizar una función, ya que un vector no puede ser el resultado de una función.<br />

Por esta razón t<strong>en</strong>dremos que utilizar un procedimi<strong>en</strong>to cuyo código podría ser<br />

el sigui<strong>en</strong>te:<br />

procedure HallarUnitario(v: tVector; var uni: tVector);<br />

{PostC.: para todo i, si 1 ≤ i ≤ Tamanno, <strong>en</strong>tonces uni[i] = vi<br />

Norma(v) }<br />

var<br />

norm: real;<br />

i: 1..Tamanno;

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

Saved successfully!

Ooh no, something went wrong!