Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Лабораторная работа 11. Данных. Записи. Создание БАЗ данных средствами турбо-паскаля



Тип данных - запись

ЗАПИСЬ

- это структура данных, состоящая из фиксированного числа компонентов – полей записи, но в отличие от массивов компоненты могут быть разных типов, а для удобства ссылки они именуются.

В памяти поля располагаются в той последовательности, в которой они перечислены в описании. Смещение от начала записи определяется размером предыдущих полей.

Описание:

TYPE <ИМЯ ТИПА>=RECORD <СПИСОК ПОЛЕЙ> END;

Где <СПИСОК ПОЛЕЙ> - список имен полей и их типов.

ПРИМЕРЫ:

TYPE BirthDay= RECORD DAY,MONTH:BYTE; YEAR:WORD; END; VAR A,B:BirthDay; {две переменные типа день рождение} C: RECORD NAME STRING[10]; BD:BirthDay; END; {переменная содержит два поля: имя и день рождения }

Операции, используемые при работе с записями

Ø ОПЕРАЦИЯ УТОЧНЕНИЯ

используется для доступа к полям записи

ПРИМЕРЫ:

A.DAY:=1; A.MONTH:=5; {дата 1 мая}

Ø ОПЕРАЦИЯ ПРИСВАИВАНИЯ

ПРИМЕРЫ:

B:=A; {все значения полей A копируются в B }

Ø ОПЕРАТОР WITH…DO…

упрощает доступ к полям записи.

Описание:

WITH<СПИСОК ПОЛЕЙ> DO<ОПЕРАЦИЯ>;

НАПРИМЕР, СЛЕДУЮЩИЕ ЗАПИСИ РАВНОСИЛЬНЫ:

WITH C,BD DO MONTH:=4; WITH C.BD DO MONTH:=4; WITH C DO WITH BD DO MONTH:=4; C.BD.MONTH:=4;  

Обычно используется для группы операторов:

WITH C.BD DO BEGIN MONTH:=4; YEAR:=2004; DAY:=1; END;

Вариантные записи

Используются для записей с переменной структурой полей.

Вариантная часть всегда одна и располагается в конце структуры после фиксированных полей. Для описания используется конструкция CASE…OF (без END)

Описание:

TYPE <ИМЯ ТИПА>=RECORD <СПИСОК ФИКСИРОВАННЫХ ПОЛЕЙ> CASE <ТИП> OF <К1>:(<СПИСОК ПОЛЕЙ 1>); … <Кn>:(<СПИСОК ПОЛЕЙ n>); END;

Где <ТИП> - любой базовый или пользовательский тип, причем константы <К1>,…, <Кn> могут и не относится к этому типу.

ПРИМЕР ВАРИАНТНОЙ ЗАПИСИ

TYPE PUBLICATION= RECORD {тип - публикация} AUTHOR,TITLE:STRING; {общие поля – автор, заголовок, год} YEAR:WORD; CASE BOOLEAN OF BOOK:(BUBHOUSE:STRING: PAGES:WORD); {книга} ARTICLE:(JOURNAL:STRING; NUMBERJ:BYTE;PREMIER,LAST:WORD); {статья} PEPER:(NUMBERJR:BYTE; PREMIER,LAST:WORD); {реферат} END;  




Дата публикования: 2015-02-22; Прочитано: 197 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.008 с)...