- •1. Ссылочные типы данных.
- •2. Оператор new.
- •3. Сортировка данных в динамической памяти.
- •4. Файлы с прямым доступом.
- •5. Нетипизированные файлы.
- •6. Особенности работы с типами в tp. Явные преобразования типов.
- •12. Объектовый тип. Основные понятия.
- •13. Наследование и переопределение в объектовых типах.
- •14. Виртуальные методы в объектах.
- •15. Конструкторы и деструкторы.
- •16. Скрытые поля и методы.
- •17. Раздел files основного меню turbo-Паскаль 7.0.
- •19. Библиотека crt turbo-Паскаля.
- •20. Библиотека dos turbo-Паскаля.
- •21. Библиотека system turbo-Паскаля.
- •22. Раздел edit основного меню turbo-Паскаль 7.0.
- •23. Раздел run основного меню turbo-Паскаль 7.0.
- •24. Классификация типов данных.
- •25. Перечислимые типы данных. (На самостоят. Рассмотрение)
- •26. Ограниченые типы данных. (На самостоят. Рассмотрение)
- •27. Регулярные типы данных.
- •28. Многомерные массивы.
- •29. Комбинированные типы данных.
- •30. Оператор with.
- •31. Записи с вариантами.
- •32. Множественные типы данных.
- •33. Операции над данными множесвенного типа.
- •34. Файловые типы данных.
- •35. Текстовые файлы.
- •36. Процедуры.
- •37. Функции.
- •38. Параметры процедур и функций.
- •39. Локальные и глобальные объекты в процедуах и функциях.
- •46. Внутреннее представление чисел с плавающей точкой.
- •47. Реализация алгоритма сортировки с применением метода "часового".
- •48. Сортировка методом "пузырька".
- •49. Алфавит языка, имена, числа, строки.
- •50. Структура программы.
- •51. Тип Integer.
- •52. Тип Real.
- •53. Тип Boolean.
- •54. Char.
- •55. Описательная часть программного блока.
- •56. Процедуры ввода-вывода.
- •57. Оператор присваивания.
- •58. Условный оператор.
- •59. Оператор варианта.
- •60. Оператор цикла с перечислением.
- •61. Оператор цикла с предусловием.
- •62. Оператор цикла с постусловием.
29. Комбинированные типы данных.
Комбинированный тип данных или запись представляют собой ограниченную совокупность логически связанных разнотипных компонентов.
record – список полей – end
Список полей:
- общая часть списка – вариантная часть списка(может быть пропущена) –
Общая часть списка:
- имя, имя … : тип –
Вариантная часть списка:
case – имя:тип of – константа, константа … : ( список констант ) –
Тип после : - селектор варианта.
Переменная case – поле признака, поле дескриминанта, поле тэга.
type
tel=record
nom_sp: integer;
fio: string[45];
telefon:string[10] (!)
end;
spis_gr = array[1..30] of tel;
var
adres:tel;
tel_gs:spis_gr;
30. Оператор with.
В операциях над записями оператор with удобно использовать для краткого обращения к полям записи. В операторе with к полям одной или более конкретных переменных типа запись можно обращаться, используя только идентификаторы полей.
with - имя, имя … - do – оператор
with spis_gr[i] do {with n1, n2, n3 do }
begin
fio:=
nom_sp:=
telef:=
end;
{end with }
31. Записи с вариантами.
Записи могут иметь варианты. В качестве примера приведём исследование для проверки качества
некоторого лекарства. Если проверки не производится, то единственные данные, которые нас интересуют, - это применял ли данный пациент ранее данное лекарство. Если же производится проверка, то необходимо собрать сведения по большому числу данных относительно головной боли, лихорадки и тошноты.
Что можно сделать с описаниями переменных, чтобы мы могли работать одновременно с обеими структурами? Для этого в описании записи можно применить специальный переключатель Case. После возможного результата Proverka в скобках приводится описание соответствующих полей. Это иллюстрируется ниже:
type Effect=Record
Nomer: Integer;
Case Proverka: Boolean of
FALSE: (PrinimalRanee: Boolean);
TRUE : (GolovBol,Lihoradka,Toshnota: Boolean)
end;
var Nekto: Effect;
Переключатель Case используется здесь для описания переменных и отличается от оператора Case: в переключателе Case используются скобки и отсутствует служебное слово end, обязательное в конце "обычного" Case.
Часть, которая встречается в обеих структурах, называется фиксированной частью. Часть, которая встречается только в одной из структур, называется вариантной частью, а поле, которое является важным для продолжения дальнейшей структуры, называется общим узловым полем (или тегом).
В случае, когда один из вариантов не содержит полей (т.е. список полей пуст), в скобках после соответствующей константы ничего не пишут, например:
Type Pogoda=Record
Temperatura: Integer;
Vlagnost : Integer;
Case Veter: Boolean of
TRUE : (Napravlenie: (S,N,V,O); Skorost : Integer);
FALSE: ()
end;
Замечания.
После вариантной части записи поля появляться не могут.
Имена полей, использующиеся в описании различных вариантов, не должны повторяться в этой записи; нельзя также применять одно и то же имя в общей и вариантной частях записи.
Вариантная часть может содержать другие записи, в том числе и с вариантами. Степень вложенности записей в вариантной части не ограничена.