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.

276 Capítulo 13. Registros<br />

Write(’Día de nacimi<strong>en</strong>to: ’);<br />

ReadLn(dia);<br />

Write(’Mes de nacimi<strong>en</strong>to: ’);<br />

LeerMes(mes);<br />

Write(’A~no de nacimi<strong>en</strong>to: ’);<br />

ReadLn(anno)<br />

<strong>en</strong>d; {with fechaNac}<br />

Write(’Calificación: ’);<br />

LeerNota(nota)<br />

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

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

• Al igual que los arrays, si dos variables r1 y r2 son del mismo tipo registro,<br />

se pued<strong>en</strong> realizar asignaciones de registros completos (con la instrucción<br />

r1:= r2) evitando así t<strong>en</strong>er que ir copiando uno a uno todos los campos<br />

del registro.<br />

13.1.2 Registros con variantes<br />

En ciertos casos es conv<strong>en</strong>i<strong>en</strong>te poder variar el tipo y nombre de algunos<br />

de los campos exist<strong>en</strong>tes <strong>en</strong> un registro <strong>en</strong> función del cont<strong>en</strong>ido de uno de<br />

ellos. Supongamos, por ejemplo, que <strong>en</strong> el registrotFicha definido anteriorm<strong>en</strong>te<br />

queremos incluir información adicional dep<strong>en</strong>di<strong>en</strong>do de la nacionalidad. Si es<br />

española, añadiremos un campo con el D.N.I., y si no lo es, añadiremos un<br />

campo para el país de orig<strong>en</strong> y otro para el número del pasaporte.<br />

Con este objetivo se pued<strong>en</strong> definir <strong>en</strong> <strong>Pascal</strong> los registros con variantes, que<br />

constan de dos partes: la primera, llamada parte fija, está formada por aquellos<br />

campos del registro que forman parte de todos los ejemplares; la segunda parte,<br />

llamada parte variable, está formada por aquellos campos que sólo forman parte<br />

de algunos ejemplares.<br />

En la parte fija, debe existir un campo selector mediante el cual se determina<br />

la parte variable que se utilizará. Este campo selector debe ser único, es decir,<br />

sólo se permite un campo selector.<br />

El diagrama sintáctico de la definición de un registro con variantes es el de<br />

la figura 13.3.<br />

Para resolver el problema del ejemplo anterior se puede emplear un registro<br />

con variantes de la sigui<strong>en</strong>te forma:

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

Saved successfully!

Ooh no, something went wrong!