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.

13.2. Arrays de registros y registros de arrays 279<br />

Figura 13.4.<br />

LeerDNI(dni)<br />

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

’n’,’N’ :<br />

begin {el alumno es extranjero}<br />

espannol:= False;<br />

Write(’país: ’);<br />

LeerPais(pais);<br />

Write(’pasaporte: ’);<br />

LeerPasaporte(pasaporte)<br />

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

<strong>en</strong>d {case}<br />

<strong>en</strong>d {with unAlumno}<br />

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

Campos comunes<br />

. . .<br />

Campos variantes<br />

La utilización de registros con campos variantes relaja <strong>en</strong> parte la condición<br />

de tipos fuertes de <strong>Pascal</strong> al permitir que una variable de esta clase almac<strong>en</strong>e<br />

valores de difer<strong>en</strong>tes tipos. Sin embargo, debe t<strong>en</strong>erse cuidado con el uso de la<br />

parte variante, ya que los compiladores no suel<strong>en</strong> comprobar que esa parte se<br />

utiliza correctam<strong>en</strong>te.<br />

Al implem<strong>en</strong>tar los registros con variantes el compilador hace reserva de<br />

memoria para la variante más grande, aunque no se aproveche <strong>en</strong> el caso de las<br />

variantes más pequeñas, como se muestra <strong>en</strong> la figura 13.4.<br />

13.2 Arrays de registros y registros de arrays<br />

Dado que los registros permit<strong>en</strong> almac<strong>en</strong>ar datos de difer<strong>en</strong>tes tipos correspondi<strong>en</strong>tes<br />

a una persona u objeto y que los arrays agrupan datos de un mismo

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

Saved successfully!

Ooh no, something went wrong!