Содержание
- 2. Запись – это структурированный тип данных, состоящий из фиксированного числа компонентов одного или нескольких типов, называемых
- 4. В языке Turbo Pascal различают фиксированные и вариантные записи. Фиксированная запись состоит из одного или нескольких
- 5. Описание фиксированной записей Type имя типа = record имя поля 1 : тип; имя поля 2
- 6. Пример: Type Car = record Number: string[10]; {номер} Marka: string[20]; {марка автомобиля} FIO: string[50] {фамилия владельца}
- 7. Для упрощения доступа к полям записи используется оператор присоединения With где With, do – зарезервированные слова
- 8. К записям в целом применим оператор присваивания . Например А :=В Над полями записей можно выполнять
- 9. Pascal допускает использование вложенных записей (т.е. поле записи может быть в свою очередь тоже записью). Уровень
- 10. Например: Type zap1 = record Day : byte; {день} Month : 1..12; {месяц} Year : word
- 11. Пример обращения к дню рождения студента: For i:=1 to 10 do With spisok[i] , birthday do
- 12. Задача: Из массива записей, содержащего информацию о преподавателях (фамилия_имя_отчество, читаемые дисциплины) вывести в алфавитном порядке фамилии
- 14. Program zapis; type Mas=array[1..10] of string; TRec = Record FIO: String[40]; {ФИО преподавателя} KOL: integer; {количество
- 15. begin writeln('Введите количество преподавателей '); readln(kol); For i:=1 to kol do begin Write('Введите ФИО -'); readln(rec[i].fio);
- 16. op:=1; {сортировка массива записей в алфавитном порядке фамилий} while op=1 do {op=1 – сортировка закончена} begin
- 17. Writeln('Введите название дисциплины для поиска преподавателя'); readln(st); op:=0; {op- признак наличия преподавателей, читающих заданную дисциплину} For
- 18. В языке Pascal имеется возможность задать тип записи, содержащий произвольное число вариантов структуры. Такие записи называются
- 19. Вариантная часть формируется с помощью оператора Case. Он задает поле признака, которое определяет, какой из вариантов
- 20. Количество полей каждого из вариантов неограниченно. Объем памяти, необходимый для записи с вариантами, складывается из объемов
- 21. Описание вариантной записи Type имя типа = record имя поля 1 : тип; . . .
- 22. Type Tmark1=record {экзамены 1 семестра} Matem1:byte; {математика} LinAlg:byte; {линейная алгебра} Programir: byte; {программирование} end; Tmark2=record {экзамены
- 23. Tstudent= record {информация о студенте} FIO:string[40]; {фамилия,имя,отчество} Gruppa:string[4]; {группа} Year: integer; {год рождения} {вариантная часть} Case
- 24. Program Katalog; {каталог лит-ры в библ} Type Publ=(Book, Journal, NewPaper); Liter=record title: string[50]; {название} autor: string[50];
- 25. Const count=10; Var Katalog: array[1..count] of liter; i: 1..count; Yes_liter:boolean;{поиск заданной лит-ры} Vibor: byte; {выбор вида
- 26. Case Vibor of 1: Katalog[i].v:=Book; 2: Katalog[i].v:=Journal; 3: Katalog[i].v:=NewPaper; End; With Katalog[i] do Begin Write(‘фамилия автора’);
- 27. Case V of {начало ввода данных в вариант. часть записи} Book: begin Write(‘год издания’); Readln(YearB); end;
- 28. //процедура вывода данных Procedure Vivod_data; Begin Write(‘литература №’); With Katalog[i] do begin Write(‘название’, title); Write(‘фамилия автора’,
- 29. // поиск литературы по типу издания Procedure Find_liter; Write(‘введите число, указывающее тип издания’); Readln(Vibor); Case Vibor
- 30. For i:=1 to count do If Katalog[i].V=E then begin kol:=kol+1; Vivod_data; {вывод} Yes_liter:=true end; If Yes_liter=false
- 32. Скачать презентацию