Читайте также: |
|
Записи - это структурированный тип, состоящий из фиксированного числа компонент (называемых полями) разного типа. Обычно запись содержит совокупность разнотипных атрибутов, относящихся к одному объекту. Например:
Эта информация может хранится в одной переменной типа ЗАПИСЬ.
Общий вид записи:
Type V= Record
P1: T1;
P2: T2;
...
Pn: Tn;
End;
где V- имя записи
Pi - имя поля
Ti - тип поля
Например:
Описание сведений о студенте:
Type anketa = Record
Fio: String [50];
pol: Char;
dat: String [16];
adress: String [50];
curs: 1..5;
Grup: 100..999;
stip: Real;
End;
Var Student: anketa;
Обращение к компонентам записи:
Для организации доступа к отдельным компонентам записи используется СОСТАВНОЕ ИМЯ, которое имеет следующую структуру:
<имя переменной>.<имя поля>
Например:
student.fio
student.kurs
Поля записи могут иметь любой тип, в частности, сами могут быть записями.
В программе могут использоваться массивы записей. Например:
Var grupa_stud: array [1..30] of anketa;
Чаще всего записи используются как элементы файлов. Например:
Var f: File of anketa;
Обработка записей:
Любая обработка записей (в том числе ввод и вывод) производится путем обращения к отдельным полям.
Например:
Write (‘Введите ФИО:’); Readln (student.fio);
Write (‘Введите пол:’); Readln (student.pol);
Write (‘Введите адрес:’);
Readln (student.adres);
и т.д. для всех полей записи.
Оператор присоединения позволяет сократить обращение к полям записи.
With <переменная типа запись> Do <оператор>;
Всюду внутри оператора можно пропускать имя переменной типа записи составном имени поля, компилятор добавит его сам.
Например:
with student Do
Begin
Write (‘Введите ФИО:’); Readln (fio);
Write (‘Введите пол:’); Readln (pol); Write (‘Введите адрес:’); Readln (adres);
End;
Пример: даны сведения о студентах: ФИО и оценка на экзамене. Необходимо вывести фамилии студентов, не сдавших экзамен.
program Example_ Record;
{$APP TYPE CONSOLE}
uses
SysUtils;
Type
stud= Record
fio: String [50];
oc: Byte;
End;
file_dan= File of stud;
Var f:file_dan;
Procedure Input (Var f:file_dan);
Var a:stud;
Begin
ReWrite (f);
Repeat
Writeln (' Input fio');
Readln (a.fio);
Дата добавления: 2015-07-19; просмотров: 82 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Если партия меньше или больше. | | | Тема: Комбинированный тип данных. Запись. Описание записи. Доступ к полям записи. Оператор With. Примеры решения задач. |