
- •Лекція №11. Записи і файли.
- •6.1. Записи.
- •Im: string[8];
- •Var k1,k2,k3:zap;
- •Im: string[8];
- •Var k1,k2,k3:zap;
- •With zap do оператор;
- •Im: string[8];
- •Var k1,k2,k3:zap;
- •Assign (f,’ff’);
- •Var f: file of integer;
- •Var t: text;
- •Var ff:file;
- •Var f:file;
- •Rewrite(ім’я_файлу);
- •Write (ім’я_файлу, список змінних);
- •Read(ім’я_файлової_змінної, список змінних);
- •Im:string[10];
- •Var s,s2:stud;
- •Var f1,f:file of real;
- •Тести для підсумкового контролю.
- •2. Чи вірно, що назви полів записів можуть співпадати з іменами змінних, констант та інших об’єктів програми, але не можуть співпадати з назвами полів інших записів?
- •X,y:real;
- •Var k:circ;
- •5. Чи можливо, прочитавши з файлу п’ятий елемент, зразу читати другий елемент?
Лекція №11. Записи і файли.
Поняття запису. Оператор WITH. Поняття файлу. Файли прямого та послідовного доступу. Типізовані файли. Стандартні функції та процедури для роботи з типізованими файлами.
Регулярні структури можуть працювати з даними, які належать до одного визначеного так званого базового типу. Але інформація, яка обробляється в дуже великих об’ємах, найчастіше складається з даних різного типу. Тому звичайні регулярні масиви не можуть вдовольнити потреби програмістів. Для виконання цієї задачі Pascal має інші відповідні інструменти. Це такі типи змінних, як записи та файли.
6.1. Записи.
Основне призначення структурованого типу запис - відображення в пам’яті ЕОМ документів, які традиційно використовуються в повсякденній практиці при розв’язанні широкого класу економічних, інформаційно - пошукових та інших «нематематичних» задач. Найбільш розповсюдженими типами таких документів є картки та таблиці. Приведемо приклади таких документів:
-
Прізвище Лобанов
Ім’я Іван
По батькові Матвійович
Дата народження:
число 15
місяць 02
рік 1986
Стать чол
Успішність:
математика 4
основи програмування 5
фізика 5
історія України 4
рис. 6.1.
№ |
Прізвище, ім’я та |
начислено |
утримано |
сума до видачі | ||||
пп |
по батькові |
всього |
в тому числі |
всього |
в тому числі | |||
|
|
|
зар. плата |
премія |
|
аванс |
налог |
|
1 |
Іванов В.Г. |
250 |
200 |
50 |
150 |
100 |
50 |
100 |
2 |
Матейко Т. Н. |
210 |
195 |
15 |
142 |
100 |
42 |
68 |
рис. 6.2.
Кожний рядок таблиці або окремої картки складається з сукупності різнотипних відомостей про який-небудь об’єкт. В пам’яті ЕОМ ці відомості зберігаються у вигляді послідовності полів елементарних даних різного типу та описуються в програмі як особлива змінна структурованого типу - запис. Тип елементарних даних окремих полів запису визначається характером інформації, яка зберігається в них, а також тим, які дії припускається виконувати над цією інформацією.
В мові Pascal запис описується за допомогою службового слова record, наприклад, для приведених прикладів:
type zap=record
pr: string[20];
Im: string[8];
pb: string[15];
datnarod:string[8];
stat:string[3];
m,op,f,iu:byte;
end;
Var k1,k2,k3:zap;
Звертання до окремого елемента запису відбувається через ім’я поля. Але перед цим треба через крапку вказати ідентифікатор запису. Наприклад, для звертання до поля im запису k1 треба вказати k1.im.
Поля запису в свою чергу можуть мати структурований вид. Так, приведений тип zap можна описати таким чином:
type zap=record
pr: string[20];