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.

274 Capítulo 13. Registros<br />

type<br />

tMeses = (<strong>en</strong>e, feb, mar, abr, may, jun, jul, ago, sep, oct, nov, dic);<br />

tCalificaciones = (NP, Sus, Apr, Notab, Sob, MH);<br />

tNombre = array[1..50] of char;<br />

tFecha = record<br />

dia: 1..31;<br />

mes: tMeses;<br />

anno: 1900..2000<br />

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

tFicha = record<br />

nombre: tNombre;<br />

fechaNac: tFecha;<br />

nota: tCalificaciones<br />

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

var<br />

alumno: tFicha;<br />

• La asignación de valores a los campos se hará dep<strong>en</strong>di<strong>en</strong>do del tipo de<br />

cada uno de ellos. Así, <strong>en</strong> el ejemplo anterior, para iniciar los datos de la<br />

variable Alumno t<strong>en</strong>dríamos que utilizar las sigui<strong>en</strong>tes asignaciones:<br />

alumno.nombre:= ’Mario Aguilera ’;<br />

alumno.fechaNac.dia:= 3;<br />

alumno.fechaNac.mes:= feb;<br />

alumno.fechaNac.anno:= 1973;<br />

alumno.nota:= Notab<br />

• Las operaciones de lectura y escritura de registros han de hacerse campo<br />

por campo, empleando procedimi<strong>en</strong>tos o funciones especiales si el tipo del<br />

campo así lo requiere. Por ejemplo:<br />

procedure EscribirFicha(unAlumno: tFicha);<br />

{Efecto: Escribe <strong>en</strong> la pantalla el cont<strong>en</strong>ido del registro<br />

unAlumno}<br />

begin<br />

WriteLn(’Nombre: ’, unAlumno.nombre);<br />

Write(’Fecha de nacimi<strong>en</strong>to: ’,unAlumno.fechaNac.dia);<br />

EscribirMes(unAlumno.fechaNac.mes);<br />

WriteLn(unAlumno.fechaNac.anno);<br />

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

EscribirNota(unAlumno.nota)<br />

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

Obsérvese que los campos fecha.mes y nota son de tipo <strong>en</strong>umerado y<br />

necesitarán dos procedimi<strong>en</strong>tos especiales (EscribirMes y EscribirNota,<br />

respectivam<strong>en</strong>te) para poder escribir sus valores por pantalla.

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

Saved successfully!

Ooh no, something went wrong!