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.

258 Capítulo 12. Arrays<br />

Asignación y operaciones de arrays completos<br />

Además de la asignación a las compon<strong>en</strong>tes de un array, se pued<strong>en</strong> realizar<br />

asignaciones directas de arrays siempre que sean del mismo tipo. Por ejemplo,<br />

dadas las definiciones<br />

type<br />

tDiasSemana = (lun, mar, mie, jue, vie, sab, dom);<br />

tIndice1 = -11..7;<br />

tIndice2 = ’A’..’Z’;<br />

tIndice3 = lun..vie;<br />

tMatrizReal = array[Indice1, Indice2, Indice3] of real;<br />

var<br />

i: tIndice1;<br />

j: tIndice2;<br />

k: tIndice3;<br />

m1, m2: tMatrizReal;<br />

la asignación:<br />

m2:= m1<br />

es equival<strong>en</strong>te a la instrucción:<br />

for i:= -11 to 7 do<br />

for j:= ’A’ to ’Z’ do<br />

for k:= lun to vie do<br />

m2[i,j,k]:= m1[i,j,k]<br />

También se pued<strong>en</strong> realizar asignaciones por filas o columnas siempre que se<br />

hayan definido las filas o columnas como tipos con nombre. Por ejemplo,<br />

type<br />

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

tMatriz = array[1..5] of tVector;<br />

var<br />

v: tVector;<br />

m: tMatriz;<br />

...<br />

m[4]:= v<br />

...<br />

En <strong>Pascal</strong> no es posible comparar arrays completos aunque sean del mismo<br />

tipo. Para realizar esta operación es necesario comparar elem<strong>en</strong>to a elem<strong>en</strong>to,<br />

comprobando la igualdad <strong>en</strong>tre ellos. Por ejemplo, suponi<strong>en</strong>do que m1 y m2 son<br />

matrices de tipo tMatriz, la comprobación de su igualdad se puede hacer así:

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

Saved successfully!

Ooh no, something went wrong!