лк6_1_Запись.ppt
- Количество слайдов: 12
Обработка данных сложной структуры в Объектном Паскале. Тип запись лекция № 5
КЛАССИФИКАЦИЯ ДАННЫХ ПО ТИПУ ТИП ДАННЫХ ХАРАКТЕРИЗУЕТ СПОСОБ (ФОРМУ) ПРЕДСТАВЛЕНИЯ ДАННЫХ В ПАМЯТИ КОМПЬЮТЕРА. ТИП - ВНУТРЕННЕЕ ПРЕДСТАВЛЕНИЕ ДАННЫХ.
КЛАССИФИКАЦИЯ ДАННЫХ ПО ТИПУ ДАННЫЕ ЧИСЛОВЫЕ ГРАФИЧЕСКИЕ СИМВОЛЬНЫЕ ЛОГИЧЕСКИЕ ЦЕЛЫЕ (С ФИКСИРОВАННОЙ ТОЧКОЙ) ВЕЩЕСТВЕННЫЕ (С ПЛАВАЮЩЕЙ ТОЧКОЙ) БЕЗ ЗНАКА СО ЗНАКОМ Однобайтовые Двухбайтовые Четырехбайтовые Восьмибайтовые Четырехбайтовые Шестибайтовые Восьмибайтовые Десятибайтовые
КЛАССИФИКАЦИЯ ДАННЫХ ПО СТРУКТУРЕ ДАННЫЕ КОНСТАНТЫ ПЕРЕМЕННЫЕ (защита от записи) ДАННЫЕ ПРОСТЫЕ 1 ячейка СЛОЖНЫЕ МАССИВ СТРУКТУРА несколько ячеек . . .
Типы данных в Паскале Указатель Скалярные (простые) Перечисление Стандартные Целые Отрезок Сложные (составные) Массивы Файлы Записи Строки Множества Вещественные Символьные Логический В паскале понятие «тип» заключает в себе и тип, и структуру.
Тип запись • Запись это переменная, состоящая из фиксированного числа компонент, вообще говоря, разного типа, причем каждая компонента имеет свое имя. • Компоненты записи также называются полями записи. • Записи используются для работы с данными, содержащими в себе информацию разного типа (числовую, символьную и т. д. ); примеры таких документов: пла тежные ведомости (фамилии и имена символьная информация, де нежные суммы числовая), карточки больных в поликлинике, библио течная информация.
Сравнение двух типов: массив и запись • Компоненты массива имеют одинаковый тип; компоненты записи могут иметь разный тип (хотя могут быть и однотипны). • Для обращения к элементу массива надо указать его номер (индекс), при обращении к полю записи указывается его имя.
Описание типа запись TYPE имя_типа = RECORD список_1_имен_полей: тип_1; список_2_имен_полей : тип_2; . . . список_N_имен_полей: тип_N; END; Память, занимаемая записью, равна сумме объемов памяти полей (если исключить из рассмотрения особенности, связанные с выравниванием). В любом случае для определения размера памяти записи можно использовать функцию sizeof(переменная_или_тип).
Примеры описания записей TYPE COMPLEX=RECORD{значения переменныx этого типа комплексные числа} Re, Im: REAL {действительная и мнимая части} END; DATE = RECORD {для описания дат (число, месяц, год)} Day : 1. . 31; {число} Month = (January, February, March, April, May, June, July, August, September, October, November, December); {месяц} Year : Integer; {год} END; BOOK = RECORD {для описания книг в каталоге библиотеки} Author, Title, Publisher: String; {автор, название, издательство} Year, Volume, Pages: Integer; {год издания, том, количество страниц} END;
Обращение к полю записи Имя_записи. Имя_поля Пример. VAR C: COMPLEX; D, D 1: DATE; B: BOOK; BEGIN. . . C. Re: =5; D. Month: =January; B. Author: ='Smith'; {*} D 1. Day: =6; D 1. Month: =June; D 1. Year: =1799; {*}. .
Обращение к полю записи – оператор With …do • WITH Имя_записи DO оператор простой или составной • Оператор используется, чтобы не писать многократно имя записи при работе с ее полями. • WITH D 1 DO BEGIN Day: =6; Month: =June; Year: =1799 END; {эквивалентно *…*}
Обработка данных сложной структуры: что лучше использовать – строки или записи? • • Программа, использующая запись, алгоритмически проще, чем программа со строками. Платой за упрощение является разрушение структуры таблицы при вводе: строка таблицы распределяется по нескольким строкам экрана монитора компьютера.
лк6_1_Запись.ppt