Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Тип данных множество. Представление в памяти. Основные операции с множествами.Содержание книги
Поиск на нашем сайте Множества Множество напоминает перечислимый тип, но отличается от него тем, что элементы в нем не упорядочены (в множестве нет ни самого младшего, ни самого старшего элементов). В множество входят также все допустимые подмножества (все мысли- мые комбинации его элементов), что приводит к огромному числу вариантов, поэтому количество элементов в множестве не может быть больше, чем 256. Множество описывается так: type тип-множества = eet of диапазон-значений-множества; В качестве диапазона указывается любой тип Паскаля, число элементов в котором не более 256: Char, Byte, 0..255, TFootballTeam и так далее. type MySet = set of 0.. 2 5 5; type MySet = set of Byte; type MySet = set of (Spartak, CSKA, Dynamo!; Конкретные значения множества задаются перечислением списка значений через запятую, который берется в квадратные скобки. MySet:= [1, 2, 5, 10]; В таком списке можно дополнительно указывать диапазоны значений: MySet:= [2, 4, 8, 12..21]; Дополнительные операции над множествами описаны в следующей таблице. Таблица 1.6. Дополнительные операции над множествами Название операции Действие + (объединение) Результирующее множество состоит из элементов обеих множеств, указанных в качестве операндов (одинаковые элементы не дублируются). Выражение [1,2,3] +• [3/4,5] равно [1,2,3,4,5] - (разность) Результирующее множество состоит из тех элементов множества, указанного в качестве левого операнда, которые отсутствуют во множестве, указанном в качестве правого операнда. Выражение [1,2,3] - [3,4,5] равно [1,2] * (пересечение) Результирующее множество состоит из элементов, имеющихся в каждом из множеств,указанных в качестве операндов. Выражение [1,2,3] * [3,4,5] равно [3]__ При работе с множествами допускается использование операций отношения (=, <>, >=, <=), объединения, пересечения, разности множеств и операции in. Операции сравнения (=, <>). Два множества считаются равными, если они состоят из одних и тех же элементов. Порядок следования элементов в сравниваемых множествах значения не имеет. Два множества A и B считаются не равными, если они отличаются по мощности или по значению хотя бы одного элемента.
Операции принадлежности (>=, <=). Выражение A >= B равно True, если все элементы множества B содержатся в множестве A. Выражение A <= B равно True, если выполняется обратное условие, т.е. все элементы множества A содержатся в множестве B.
Операция in. Используется для проверки принадлежности элемента указанному множеству. Обычно применяется в условных операторах.
Операция in позволяет эффективно и наглядно выполнять сложные проверки условий, заменяя иногда десятки других операций. Например, оператор
можно заменить более коротким:
Операцию in иногда пытаются записать с отрицанием: X not in S. Такая запись является ошибочной, так как две операции следуют подряд. Правильная запись имеет вид: not (X in S). Процедура Include (S, I) включает в множество S элемент I. Она дублирует операцию + (плюс) с той лишь разницей, что при каждом обращении включает только один элемент и делает это более эффективно. Процедура Exclude (S, I) исключает из множества S элемент I. Она дублирует операцию – (минус) с той лишь разницей, что при каждом обращении исключает только один элемент и делает это более эффективно.
Использование в программе множеств дает ряд преимуществ: значительно упрощаются сложные операторы if, улучшается наглядность программы и понимание алгоритма решения задачи, экономится время разработки программы. Поэтому множества широко используются в библиотеке компонентов среды Delphi. 12. Способы преобразования типов в Delphi.(еще чет для классов надо) Преобразование типов В ряде случаев требуется гарантировать, что результат вычисления выражения при- надлежит конкретному типу. Например, вычисления могут производиться над чис- лами типа Longint, а результат должен принадлежать типу Byte. Такая операция называется приведением типов. Для этого применяют так называемые преобразо- ватели типов, которые напоминают стандартные функции Паскаля с именами, сов- падающими с именами базовых типов (Byte, Integer и другие). Результат, возвраща- емый таким преобразователем, гарантированно лежит в диапазоне указанного типа. При этом, конечно, возможна потеря значащих цифр: берется остаток от деления значения аргумента на максимально допустимое значение соответствующего типа. Определение собственных типов данных 53 Например, значение Byte{300) равно 44 var X: Integer; L: Longint; Begin X;= IntegerjL * 1234567); Однако подобным способом невозможно преобразовать число типа Real в число типа Integer или любое число в строку. Для таких, более сложных, преобразований типов в Delphi 7 имеется набор стандартных функций, упрощающих процесс преобразован! 1я. Таблица 1.9. Стандартные функции преобразования типов Имя функции Назначение Round Округление дробного числа до ближайшего целого. Значение Round{ 3.74) равно 4 Trunc Отбрасывание дробной части числа. Значение Тшпс(3.74) равно 3 IntToStr Преобразование целого числа в строку. Значение IntToStr(12987) равно '12987' FloatToStr Преобразование дробного числа в строку. Значение FloatToStr(3.74) равно '3.74' StrToInt Преобразование строки в целое число. Значение StrToInt('129B5') равно 12985 StrToFloat Преобразование строки в дробное число. Значение StrToFloatf '3.14') равно 3.14 Приведение типов переменных Помимо стандартных функций, в Паскале имеется еще одна возможность явно ука- зывать, в какой тип должны быть приведены конкретные данные. Эта возможность используется в операторе присваивания, когда переменная, стоящая в левой части, ≪охватывается^ названием типа, соответствующего типу выражения правой части оператора. Например: var С: Byte; Char(C):= ' А '; Переменной С будет присвоен код ASCII символа 'А'. При этом необходимо, чтобы длины (в байтах) переменной и присваиваемого значения совпадали. Другая форма записи этого оператора: С:= Byte(' А ');__ http://www.programmersclub.ru/is-as-gruzin/ про классы
|
||||||||||||||||||||||||||||||||||||
|
Последнее изменение этой страницы: 2017-02-21; просмотров: 375; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.146 (0.006 с.) |