Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
10
Добавлен:
27.05.2015
Размер:
129.55 Кб
Скачать

ВолГУ, Институт математики и информационных технологий Кафедра Компьютерных наук и экспериментальной математики, Игумнов А.Ю. Информатика и программирование, 1-й курс, 2-й семестр

1Объекты типа record. Краткое описание

Объект типа record (запись) составной объект, компонентами которого могут быть объекты как одного и того же типа, так и различных типов. Объекты-компоненты могут быть как простыми, так и составными. Графически record-объект (кратко называемый просто записью) может быть представлен как совокупность пространственнно сосредоточенных (т.е. близко расположенных) графических представлений объектов-компонентов. Примером такого представления может быть таблица, которая в целом рассматривается как record-объект, а е¨ графы как объекты-компоненты. Таблица в целом считается именованной, е¨ наименование есть обозначение record-объекта в целом. Графы таблицы называются полями record-объекта, или кратко, полями записи. Каждая из граф таблиц имеет свое обозначение (отличное от обозначений других граф), которое называется обозначением (наименованием) поля. Содержимое граф есть значение (состояние) объектов компонентов. Классификация содержимого граф (число, текст и т.д.) оговаривается заранее. Наименование таблицы в целом есть обозначение совокупности сопоставлений вида

наименование графы → тип содержимого

и рассматривается как обозначение конкретного типа записи. В наглядном представлении таблица может быть как расчерченной на графы, так и нерасчерченной.

Пример. Ценник товара. Наименование таблицы: ценник. Наименования граф: товар, цена. Тип содержимого граф: графы товар текст, графы цена число. Содержимое граф показано условно.

Ценник товар *******

цена *******

2Примеры программных текстов

Указание поля данной записи производится по форме:

<наименование объекта>.<наименование поля>

Операции с полем записи определяются типом поля.

Приводимые ниже pas-тексты представляют собою pas-эквивалент следующего математического текста.

~

2

 

 

 

 

Пусть ~a, b

векторы в R , в покоординатной записи:

 

 

 

ax

 

bx

 

 

~a =

ay!,

~b =

by!.

 

Полагаем:

 

2.4

 

7

 

 

~a =

1.7!,

~b =

6!.

(1)

Обозначим

 

 

~

 

(2)

 

 

 

 

 

 

~c = ~a + b.

 

В покоординатной записи соотношение (2) имеет вид:

 

 

cx = ax + bx,

cy = ay + by.

(3)

 

 

 

 

 

 

1

ВолГУ, Институт математики и информационных технологий Кафедра Компьютерных наук и экспериментальной математики, Игумнов А.Ю. Информатика и программирование, 1-й курс, 2-й семестр

Описание типа record: запись с двумя полями, тип содержимого первого поля вещественное число, тип содержимого второго поля вещественное число; наименование записи в целом vector; наименования полей x и y.

type vector = record

 

x: real;

Описание типа

y: real;

 

end;

 

 

 

var a,b,c: vector;

Описание переменных

 

 

begin

 

a.x:=2.4;

pas-эквивалент выражений (1)

a.y:=1.7;

 

b.x:=7;

 

b.y:=6;

 

 

 

c.x:=a.x+b.x;

pas-эквивалент выражений (3)

c.y:=a.y+b.y;

 

 

 

writeln(c.x,c.y);

Вывод на экран значений полей записи c

end.

и завершение программы.

 

 

3record-файл

Приводимый ниже pas-текст представляет собою pas-программу предыдущего раздела, дополненную следующими действиями: в файл с наименованием trn записываются record-объекты a, b, c, после чего файл закрывается, открывается для чтения с начала, с него прочитываются значения recordобъектов в record-объект d, значения x- и y-полей объекта d воспроизводятся на экране.

2

ВолГУ, Институт математики и информационных технологий Кафедра Компьютерных наук и экспериментальной математики, Игумнов А.Ю. Информатика и программирование, 1-й курс, 2-й семестр

type vector = record

 

x: real;

Описание типа

y: real;

 

end;

 

 

 

var a,b,c: vector;

Описание переменных и файловой пере-

f1: file of vector;

менной

 

 

begin

 

a.x:=2.4;

pas-эквивалент выражений (1)

a.y:=1.7;

 

b.x:=7;

 

b.y:=6;

 

 

 

c.x:=a.x+b.x;

pas-эквивалент выражений (3)

c.y:=a.y+b.y;

 

 

 

writeln(c.x,c.y);

Вывод на экран значений полей записи c

end.

и завершение программы.

 

 

assign(f1,’F:\Z\trn’);

 

 

 

rewrite(f1);

 

write(f1,a);

 

write(f1,b);

 

write(f1,c);

 

close(f1);

 

reset(f1);

 

read(f1,d);

 

writeln(d.x,d.y);

 

read(f1,d);

 

writeln(d.x,d.y);

 

read(f1,d);

 

writeln(d.x,d.y);

 

end.

 

 

 

3

Соседние файлы в папке 3 аттестация