Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

With stud_1 Do

Begin

Begin

With stud_1 Do

nomer:= ‘ИС-09’;

fam:= ‘Иванов’;

name:= ‘Ваня’;

ocenka:= 4;

sr_ball:= 4.12;

End;

Внимание! Запись может быть введена с клавиатуры и выведена на экран только по полям, а не целиком, то есть в операторах ввода и вывода ReadLn и WriteLn нельзя указывать имя записи без имени поля:

ReadLn(stud_1); это неправильно!

WriteLn(stud_1); это неправильно!

ReadLn(stud_1.ocenka); это правильно!

WriteLn(stud_1.ocenka); это правильно!

Записи могут являться элементами массивов, то есть разрешены массивызаписей, например, описанный выше массив gruppa. Каждый элемент этого массива – отдельная запись со всеми полями, определенными при ее описании. При обращении к элементу такого массива указывается имя массива, индекс элемента и через точку – имя поля:

gruppa[5].nomer:= ‘ИС-09’;

gruppa[5].fam:= ‘Иванов’;

gruppa[5].name:= ‘Ваня’;

gruppa[5].ocenka:= 4;

gruppa[5].sr_ball:= 4.12;

В этом случае тоже можно использовать оператор присоединения:

With gruppa[5] Do

nomer:= ‘ИС-09’;

fam:= ‘Иванов’;

name:= ‘Ваня’;

ocenka:= 4;

sr_ball:= 4.12;

End;

При работе с файлами записей (базами данных) необходимо учитывать то, что для ввода и вывода элементов такого файла – отдельных записей – необходимо использовать рабочую переменную-запись, имеющую такие же поля, что и элементы файла. Для ввода очередного элемента в данный файл сначала необходимо заполнить все поля рабочей переменной, например, операторами ввода:

 

ReadLn(stud_1.nomer);

ReadLn(stud_1.fam);

ReadLn(stud_1.name);

ReadLn(stud_1.ocenka);

ReadLn(stud_1.sr_ball);

а затем записать эту переменную в файл целиком:

Write(baza_gruppa, stud_1);

Очередная запись читается из файла тоже целиком:

Read(baza_gruppa, stud_1);

после этого ее можно, например, вывести на экран по полям:

WriteLn(nomer:10, fam:15, name:15, ocenka:3, sr_ball:6:2);

В данном случае запись выведена в одну строку форматным способом.

Поле записи может иметь любой разрешенный в Паскале тип и структуру (массив, множество, файл, строку), в том числе может представлять собой в свою очередь запись.

Пример: создать базу данных (файл записей), в которой можно было бы хранить следующие данные о студентах:

учебная группа,

личные данные:

фамилия,

имя,

отчество,

дату рождения:

год,

месяц,

день,

адрес:

город,

улица,

дом,

корпус,

квартира,

телефон.

Ввести в базу данные о нескольких студентах (конец ввода – нажатие на клавишу ENTER при запросе номера учебной группы. Прочитать базу данных и вывести на экран номера учебных групп, фамилии, имена и отчества студентов.

Интерфейс:

Группа: ИС-09

Фамилия: Иванов

Имя: Иван

Отчество: Иванович

Год рождения: 1993

Месяц рождения: 2

День рождения: 23

Город: Иркутск

Улица: Трилиссера

Дом: 123

Корпус: 2

Квартира: 45

Телефон: 235347

Группа:

 

На экран будет выведено:

ИС-09 Иванов Иван Иванович

 

Программа:

Program Baza_student;

Uses WinCrt;

Type TKadr = Record основная запись

gruppa: String[10];

fio: Record запись в записи

fam, name: String[10];

otch: String[15];

End;

adres: Record запись в записи

gorod, ulica: String[20];

korp, dom, kv: String[5];

telefon: String[10];

End;

data: Record запись в записи

den: 1..31;

mes: 1..12;

god: 1900..2000;

End;

End;

Var student: TKadr;

baza: File Of TKadr;

<== предыдущая лекция | следующая лекция ==>
With x Do | Подпрограммы
Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 273; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.014 сек.