- •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. Оператор цикла с постусловием.
32. Множественные типы данных.
Множество в языке Турбо Паскаль – это ограниченный набор различных элементов одного (базового) типа (Элементы множества должны быть порядкового типа.). Базовый тип – это совокупность значений, из которых могут быть образованы множества. Мощность (количество различных элементов) не превышает 256. Значение переменной множественного типа может содержать любое количество различных элементов базового типа. Иными словами, возможными значениями переменных множественного типа являются все подмножества значений базового типа. Вещественный тип данных не используется в качестве базового (нет отношения порядка, нельзя ввести ограничения на тип).
Описание
Type <имя типа> = Set Of <тип элементов>;
Var <имя переменной множественного типа> : <имя типа>;
или
Var <имя переменной множественного типа> : Set Of <тип элементов>;
33. Операции над данными множесвенного типа.
Объединением двух данных множеств называется множество элементов, принадлежащих обоим множествам. Знак операции «+».
Примеры:
['A', 'F'] + ['B', 'D'] = ['A', 'F', 'B', 'D'];
[1..3,5,7,11] + [3..8,10,12,15..20] = [1..8,10..11,15..20];
S1:= [1..5,9], S2:= [3..7,12]. S:= S1 + S2 =[1..7,9,12];
A1:=['a'..'z']; A1:= A1+['A']. Результат – A1=['A', 'a'..'z'].
Пересечением двух данных множеств называется множество элементов, принадлежащих одновременно и первому, и второму множеству, то есть это общие элементы. Знак операции «*».
Примеры:
['A', 'F'] * ['B', 'D'] = [ ] – так как общих элементов нет;
[1..3,5,7,11] * [3..8,10,12,15..20] = [3,5,7];
S1:= [1..5,9], S2:= [3..7,12]. S:= S1*S2=[3..5].
В результате операции вычитания формируется множество, состоящее из тех элементов первого множества, которые не являются элементами второго множества. Знак операции «-».
Примеры:
['A', 'F'] – ['B', 'D'] = [ 'A', 'F' ] – общих элементов нет;
[1..3,5,7,11] – [3..8,10,12,15..20] = [1..2,11];
S1:= [1..5,9]; S2:= [3..7,12]; S:= S1 – S2 = [1..2,9];
A1:=['A'..'Z']; A1:=A1 – ['A']=['B'..'Z'].
Операция определения принадлежности элемента множеству. Эта логическая операция обозначается служебным словом In. Результат операции – значение True, если элемент принадлежит множеству, и False – в противном случае.
Примеры:
5 In [3 .. 7] дает значение True, так как 5 e [3 .. 7];
'a' In ['A' .. 'Z'] дает значение False, буквы 'а' нет среди больших латинских букв.
Операцию проверки принадлежности удобно использовать для исключения более сложных проверок. Например, оператор вида
If (ch='a') or (ch='b') or (ch='x') or (ch='y') Then s;
Переписывается в более компактной и наглядной форме:
If ch In ['a', 'b', 'x', 'y' ] Then s;
Сравнение множеств. Для сравнения множеств используются обычные операции:
= – равенство (совпадение) двух множеств;
<> – неравенство двух множеств;
<=, < – проверка на вхождение первого множества во второе множество;
>=, > – проверка на вхождение второго множества в первое множество.
Первое множество меньше или равно второму (А ≤ В):
Первое множество меньше второго (А < В):