Справочник от Автор24
Поделись лекцией за скидку на Автор24

Комбинированный тип данных “запись”.

  • 👀 339 просмотров
  • 📌 306 загрузок
Выбери формат для чтения
Статья: Комбинированный тип данных “запись”.
Найди решение своей задачи среди 1 000 000 ответов
Загружаем конспект в формате doc
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Конспект лекции по дисциплине «Комбинированный тип данных “запись”.» doc
Лекция 15. Комбинированный тип данных “запись”. Под записью в Паскале – понимают фиксированное число элементов одного или нескольких типов. То есть в  отличие от массивов, в которых могут содержаться элементы одного типа, в записях могут содержаться элементы как одного, так и разных типов. Например, в формате записи можно организовать единицу хранения информации о книгах в библиотеке: автор, название книги, издательство, год издания, её цена. Первые три элемента относятся к строковому типу данных, четвертый к целому, а цена  - к вещественному типу. Элементы записи называются полями записи. Над элементами записи можно выполнять действия, допустимые для данных этого типа. Перед использованием типа-запись его рекомендуется описать в разделе описания типов по следующей схеме Type Имя типа = record Список полей1: тип1; Список полей2: тип2; ……………………….. End; Все идентификаторы полей в записи должны быть различными. Например, в соответствии с приведённым выше примером, можно описать следующий тип-запись. TYPE  card = record Author: string [15];     Title, Firm: string [20];      year: integer ;    price: real End; После описания типа-записи появляется возможность его использования в программе. Например, можно описать переменную соответствующего типа. Var Book:  card; Обращение к полю выполняется с помощью составного имени (селектора записи),  которое схематично можно представить так Имя записи . имя поля Например, полям переменной Book можно присвоить следующие значения Book.Author:= ’Толстой Л.Н.’; Book.Title:=’Война и мир’; Ввод цены можем задать с клавиатуры Readln(Book.price); При работе с записями для упрощения и сокращения составных имен можно использовать оператор WITH. Он имеет следующий вид WITH  имя записи  DO оператор; После DO, при обращении к полям записи, указывать их “родителя” уже не нужно. Например, те же действия, что были произведены с полями переменной book выше можно выполнить следующим образом. With book do begin Author:= ’Толстой Л.Н.’; Title:=’Война и мир’; Readln(price); End; На практике записи обычно используют совместно с другими формами хранения данных (обычно массивами или файлами). Пример. Создать файл записей о книгах, хранящихся на складе (5 книг). type card = record author:string[15]; Title: string[100]; price: real; End; Var a: card; f: file of card; i:integer; Begin {Заполняем файл} Assign(f, ‘c:\books.dat’); Rewrite(f); For i:=1 to 5 do begin Writeln('----------------------------------------------'); Writeln('Введите информацию по лоту №', i); write('автор-'); Readln(a.author); write('название- '); Readln(a.title); write('цена-'); Readln(a.price); write(f,a); end; Close(f); END. Пример. В файле, созданном в предыдущем примере, найти все книги по фамилии автора, введённой пользователем. type card = record author:string[15]; Title: string[100]; price: real; End; Var a: card; f: file of card; i:integer; s:string; Begin Assign(f, ‘c:\books.dat’); Reset(f) write('Введите фамилию автора для поиска'); Readln(s); i:=0; Repeat; Read(f, a); If a.author=s then begin i:=i+1; writeln(‘Автор -’, a.author); writeln(‘ Название - ’, a.title); writeln(‘ Цена ’, a.price); Writeln; End; Until EOF(f); Writeln(‘общее количество найденных записей - ’, i); Close(f) END. Пример. В файле, созданном в первом примере найти автора с самой короткой фамилией и выведите информацию по любой его книге.. type card = record author:string[15]; Title: string[100]; price: real; End; Var a: card; f: file of card; SN: card; Begin SN.author:=’aaaaaaaaaaaaaaaaa’; Assign(f, ‘c:\books.dat’); Reset(f); Repeat Read(f, a); If length(a.author)< length(SN.author) then SN:=a; Until EOF(f); Writeln(‘Данные по автору с самой короткой фамилией ’); With SN do begin writeln(‘Автор -’, author); writeln(‘ Название - ’, title); writeln(‘ Цена ’, price); end; Close(f) END. .
«Комбинированный тип данных “запись”.» 👇
Готовые курсовые работы и рефераты
Купить от 250 ₽
Решение задач от ИИ за 2 минуты
Решить задачу
Найди решение своей задачи среди 1 000 000 ответов
Найти

Тебе могут подойти лекции

Смотреть все 588 лекций
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot