рефераты рефераты
Главная страница > Курсовая работа: Понятие множества. Символьный тип  
Курсовая работа: Понятие множества. Символьный тип
Главная страница
Банковское дело
Безопасность жизнедеятельности
Биология
Биржевое дело
Ботаника и сельское хоз-во
Бухгалтерский учет и аудит
География экономическая география
Геодезия
Геология
Госслужба
Гражданский процесс
Гражданское право
Иностранные языки лингвистика
Искусство
Историческая личность
История
История государства и права
История отечественного государства и права
История политичиских учений
История техники
История экономических учений
Биографии
Биология и химия
Издательское дело и полиграфия
Исторические личности
Краткое содержание произведений
Новейшая история политология
Остальные рефераты
Промышленность производство
психология педагогика
Коммуникации связь цифровые приборы и радиоэлектроника
Краеведение и этнография
Кулинария и продукты питания
Культура и искусство
Литература
Маркетинг реклама и торговля
Математика
Медицина
Реклама
Физика
Финансы
Химия
Экономическая теория
Юриспруденция
Юридическая наука
Компьютерные науки
Финансовые науки
Управленческие науки
Информатика программирование
Экономика
Архитектура
Банковское дело
Биржевое дело
Бухгалтерский учет и аудит
Валютные отношения
География
Кредитование
Инвестиции
Информатика
Кибернетика
Косметология
Наука и техника
Маркетинг
Культура и искусство
Менеджмент
Металлургия
Налогообложение
Предпринимательство
Радиоэлектроника
Страхование
Строительство
Схемотехника
Таможенная система
Сочинения по литературе и русскому языку
Теория организация
Теплотехника
Туризм
Управление
Форма поиска
Авторизация




 
Статистика
рефераты
Последние новости

Курсовая работа: Понятие множества. Символьный тип

Курсовая работа: Понятие множества. Символьный тип

Министерство сельского хозяйства Российской Федерации

ФГОУ ВПО Воронежский Государственный Аграрный Университет имени К.Д. Глинки

Кафедра информационного обеспечения и моделирования агроэкономических систем

Курсовой проект

На тему: Понятие множества. Символьный тип

Воронеж – 2010


Введение

Язык программирования Pascal был разработан в 1968-1971 гг. Никлаусом Виртом в Цюрихском Институте информатики (Швейцария), и назван вчесть Блеза Паскаля – выдающегося математика, философа и физика 17-го века. Первоначальная цель разработки языка диктовалась необходимостью создания инструмента "для обучения программированию как систематической дисциплине". Однако очень скоро обнаружилась чрезвычайная эффективность языка Pascal в самых разнообразных приложениях, от решения небольших задач численного характера до разработки сложных программных систем - компиляторов, баз данных, операционных систем и т.п. К настоящему времени Pascal принадлежит к группе наиболее распространенных и популярных в мире языков программирования:

существуют многочисленные реализации языка практически для всех

машинных архитектур;

разработаны десятки диалектов и

проблемно-ориентированных расширений языка Pascal;

обучение

программированию и научно-технические публикации в значительной степени

базируются на этом языке.

Достоинством языка Паскаль является возможность использования широкого набора разных типов данных. Тип данных определяет возможные значения констант, переменных, функций, выражений и операций, которые могут выполняться над ними.

Типы данных подразделяются на простые и сложные. Простые типы делятся на стандартные (предопределенные) типы и типы определяемые пользователем (пользовательские типы). Имена стандартных типов являются идентификаторами и действуют в любой точке программы. Они описаны в стандартном модуле System. Так же, как и другие идентификаторы, имена стандартных типов могут быть переопределены в программе. Однако остается возможность обращения к их первоначальному смыслу с помощью квалифицируемого идентификатора с указанием имени модуля System.

К стандартным типам относятся:

группа целых типов (Shortint, Integer, Longint, Byte, Word);

группа вещественных типов (Single, Real, Double, Extended, Comp);

группа логических (булевских) типов (Boolean, ByteBool, WordBool, LongBool);

символьный тип (Char);

строковый тип (String, Pchar);

указательный тип (Pointer);

текстовый тип (Text).

Символьный тип, целые и булевские типы относят к, так называемым, порядковым типам.

Порядковые типы характеризуются следующими свойствами:

Множество допустимых значений любого порядкового типа представляет собой упорядоченную последовательность , каждый элемент которой имеет свой порядковый номер. Порядковый номер представляется целым числом. Первое значение любого порядкового типа имеет номер 0, следующий номер 1 и т.д. Исключение составляют порядковые типы Integer, Shortint, Longint, где порядковым номером значений этих типов является само значение.

К любому значению порядкового типа можно применять функции возвращающие номер, предыдущее или последующее значение данного типа.

Пользовательские типы – дополнительные абстрактные типы, характеристики которых программист может определять самостоятельно. К пользовательским типам относятся:

• перечисляемый тип;

• интервальный тип;

• указательные типы (кроме стандартного типа Pointer);

• структурированные типы;

• процедурный тип.

Перечисляемый и интервальный типы являются порядковыми.


Понятие множества. Операции над множеством

Множественный тип данных Паскаля напоминает перечислимый тип данных. Вместе с тем множественный тип данных – набор элементов не организованных в порядке следования.

В математике множественный тип данных – любая совокупность элементов произвольной природы. Операции, которые производятся над множествами, по существу заключаются во включении и исключении элементов из множества.

Понятие множества в языке программирования значительно уже математического понятия.

В Паскале под множественным типом понимается конечная совокупность элементов, принадлежащих некоторому базовому типу данных.

В качестве базовых типов могут использоваться:

перечислимые типы;

символьный;

байтовый;

диапазонные на основе вышеперечисленных.

Такие ограничения связаны с формой представления множественного типа данных в Паскале и могут быть сведены к тому, чтобы функция ord() для используемого базового типа лежала в пределах от 0 до 255.

После того, как базовый тип задан, совокупность значений соответствующего множественного типа данных определяется автоматически. В нее входят все возможные множества, являющиеся произвольными комбинациями значений базового типа. Все эти множества являются отдельными значениями определенного множественного типа данных.

Описание множественного типа данных:

 

Type <имя_типа>= set of <базовый_тип>


Пример множественного типа данных:

Type symbol= set of char; {описан множественный тип symol из букв} Var letter, digits, sign: symbol; {описаны три переменные множественного типа}

 

Для того чтобы придать переменной множественного типа значение, используют конструктор множества – перечисление элементов множества через запятую в квадратных скобках. Например,

 

sign:= [‘+’, ‘-‘];

Конструктор множества может содержать диапазон значений базового типа. Тогда во множества включаются все элементы диапазона. Например,

 

digits:= [‘0’ .. ‘9’];

letter:= [‘a’ .. ‘z’];

Обе формы конструирования множеств могут сочетаться. Например,

 

letter:= [‘a’ .. ‘z’, ‘A’ .. ‘Z’];

Конструктор вида [] обозначает пустые множества.

В программе можно использовать множественны тип как константы, в этом случае их определяют следующим способом:

 

Const YesOrNo= [‘Y’, ‘y’, ‘N’, ‘n’];

Можно множественный тип определить как типизированную константу:


Const digits: set of char= [‘0’ .. 9’];

При описании множественного тип как констант допускается использование знака “+” (слияние множеств). Например,

 

Const Yes= [‘Y’, ‘y’]; No= [‘N’, ‘n’];

YesOrNo= Yes+ No;

С множественными типами Паскаля можно выполнять действия объединения, исключения и пересечения.

Объединение множественных типов содержит элементы, которые принадлежат хотя бы одному множеству, при этом каждый элемент входит в объединение только один раз. Операция объединения множеств обозначается знаком ‘+’.

Пример объединения множественных типов:

Type symbol= set of char;

Var small, capital, latin: symbol; ……………… small:= [‘a’ .. ‘z’]; capital:= [‘A’ .. ‘Z’]; latin:= small + capital; {образованы множества латинских букв путем объединения множеств small и capital}

 

Возможно объединять множественные типы и отдельные элементы. Например,

 

small:= [‘c’ .. ‘z’];

small:= small + [‘a’] +[‘b’];

Исключение определяется как разность множественных типов, в котором из уменьшаемого исключаются элементы, входящие в вычитаемое. Если в вычитаемом есть элементы, отсутствующие в уменьшаемом, то они никак не влияют на результат. Операция исключения обозначается знаком ‘-‘. Пример исключения множественных типов Паскаля

letter:= [‘a’ .. ‘z’]; {множества букв латинского алфавита} glasn:= [‘a’, ‘e’, ‘o’, ‘u’, ‘i’, ‘y’]; {множества гласных букв} soglasn:= letter-glasn; {образовано множества согласных букв путем исключения из множества всех букв множества гласных букв}

 

Пресечение множественных типов– множества, содержащие элементы, одновременно входящие в оба множества. Операция пересечения множеств обозначается знаком ‘*’.

Пример пересечения множественных типов

Type chisla= set of byte; Var z,x,y: chisla; ……….. x:= [0..150]; y:= [100..255]; z:= x*y {получено множества чисел из диапазона 100..150 в результате пересечения двух множеств}

 

Операции отношения множественных типов Наряду с рассмотренными выше операциями, над значениями множественного типа определены и некоторые операции отношения. Операндами операций над множественными значениями в общем случае являются множественные выражения. Среди операций отношения над значениями множественного типа особое место занимает специальная операция проверки вхождения элемента во множества, обозначаемая служебным словом in. В отличие от остальных операций отношения, в которых значения обоих операндов относятся к одному и тому же множественному типу значений, в операции in первый операнд должен принадлежать базовому типу, а второй – множественному типу значений, построенному на основе этого базового типа. Результатом операции отношения, как обычно, является логическое значение (true или false).

Страницы: 1, 2, 3, 4

рефераты
Новости