КАТЕГОРИИ: Архитектура-(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;
Дата добавления: 2014-01-06; Просмотров: 273; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |