el tipo estructurado registro - Departamento de Ciencias de la

Anuncio
Dpto. Ciencias de la Computación
Curso 2004-2005
Laboratorio de Fundamentos de la Programación. Elena García Barriocanal
EL TIPO ESTRUCTURADO REGISTRO
El tipo RECORD
•
Colección heterogénea de datos compuesta por campos.
•
Declaración de un tipo de datos registro
TYPE
ident= RECORD
idCampo1[, idCampo2, ....]: tipo;
idCampo3[, idCampo4, ....]: tipo;
...
END;
•
Acceso a los campos de un registro:
– Notación punto:
IdVar.idCampo
– Sentencia WITH:
WITH idVar DO
{acceso a los campos sin utilizar la
notación punto};
•
Se pueden asignar unos registros a otros siempre que sean del
mismo tipo.
TYPE
Fecha= record
Dia, mes, anio: integer;
End;
Tipo= (perro, gato, loro, hamster);
Mascota= record
Nombre: string [10];
Clase: tipo;
Edad: integer;
End;
Persona= record
Nombre: string [15];
Direc: string [25];
1
Dpto. Ciencias de la Computación
Curso 2004-2005
Laboratorio de Fundamentos de la Programación. Elena García Barriocanal
FNacimiento: fecha;
Mascotas: ARRAY [1..numMasc] of mascota;
End;
Plantilla= ARRAY [1..numEmpl] of persona;
………
var
p: persona;
emp: plantilla;
f: fecha;
m: mascota;…
……
with m do begin
nombre:= ‘capitán’;
tipo:= perro;
edad:= 4;
end;
with e[5] do begin
nombre:= ‘Miguel’
direc:= ‘C/Estrella nº1’
fNacimiento. Dia:= 26;
fNacimiento.mes:= 2;
fNacimeinto.anio:= 1973;
mascotas[1]:= m;
end;
2
Dpto. Ciencias de la Computación
Curso 2004-2005
Laboratorio de Fundamentos de la Programación. Elena García Barriocanal
3
Registros con campos variantes
•
Información común⇒ parte fija
•
Información que varía según un campo discriminante⇒ parte
variante
ident= RECORD
idCampo1[, idCampo2, ....]: tipo;
idCampo3[, idCampo4, ....]: tipo;
...
case idCampoVar: tipo of
opcion1: (idCampo5[,idCampo6]: tipo;…);
....
opcionN: (idCampo8[,idCampo9]: tipo;…);
end;
END;
Descargar