VIP STUDY сегодня – это учебный центр, репетиторы которого проводят консультации по написанию самостоятельных работ, таких как:
  • Дипломы
  • Курсовые
  • Рефераты
  • Отчеты по практике
  • Диссертации
Узнать цену

Работа с множествами в среде pascalabc

Внимание: Акция! Курсовая работа, Реферат или Отчет по практике за 10 рублей!
Только в текущем месяце у Вас есть шанс получить курсовую работу, реферат или отчет по практике за 10 рублей по вашим требованиям и методичке!
Все, что необходимо - это закрепить заявку (внести аванс) за консультацию по написанию предстоящей дипломной работе, ВКР или магистерской диссертации.
Нет ничего страшного, если дипломная работа, магистерская диссертация или диплом ВКР будет защищаться не в этом году.
Вы можете оформить заявку в рамках акции уже сегодня и как только получите задание на дипломную работу, сообщить нам об этом. Оплаченная сумма будет заморожена на необходимый вам период.
В бланке заказа в поле "Дополнительная информация" следует указать "Курсовая, реферат или отчет за 10 рублей"
Не упустите шанс сэкономить несколько тысяч рублей!
Подробности у специалистов нашей компании.
Код работы: K011041
Тема: Работа с множествами в среде pascalabc
Содержание
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное учреждение высшего профессионального образования «Дагестанский государственный университет народного хозяйства»

Факультет информационных технологий и управления



РАБОТА С МНОЖЕСТВАМИ В СРЕДЕ PASCALABC

(курсовая работа)



Выполнил студент 

1-го курса, 1-й группы 

Абдулазизов З.М.

_______________

(подпись)



Научный руководитель 

Ахмедова З.А.

_______________

(подпись)



«__»_________20__г.

Оценка ___________.































Множества в языке Pascal

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

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

Диапазон значений типа - это набор всех возможных подмножеств, состоящих из элементов базового типа. В выражениях Паскаля значения элементов набора указаны в квадратных скобках: [1,2,3,4], ['a', 'b', 'c'], ['a' .. 'г'].

Если в наборе нет элементов, он называется пустым и обозначается []. Число элементов множества называется его емкостью.

Набор может принимать все значения базового типа. Базовый тип не должен превышать 256 возможных значений. Таким образом, базовым типом набора могут быть байтовые, char, boolean и производные типы.

Набор в памяти хранится как битовый массив, в котором каждый бит указывает, принадлежит ли элемент объявленному набору, или нет. Максимальное количество элементов набора - 256, а данные типа набора могут занимать не более 32 байт.

Количество байтов, выделенных для типа данных набора, рассчитывается по формуле:

ByteSize = (max div 8) - (min div 8) + 1,

Где max и min - верхняя и нижняя границы базового типа заданного множества.

Число байтов для конкретного элемента «E» вычисляется по формуле:

ByteNumber = (E div 8) - (min div 8),

Номер бита внутри этого байта:

BitNumber = E mod 8

Неважно, как писать элементы набора внутри конструктора. Например, [1, 2, 3] и [3, 2, 1] - эквивалентные множества.

Каждый элемент в наборе подсчитывается только один раз. Следовательно, множество [1, 2, 3, 4, 2, 3, 4, 5] эквивалентно [1..5].

Переменные множественного типа описываются следующим образом:

Var<идентификатор>: набор <базового типа>;

Например:

Var A, D: Set of Byte; 

																               B: Set Of 'a'..'z'; 

																C: Set Of Boolean;



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

Множественная переменная может получать только определенное значение в результате операции присваивания:

<Несколько переменных>: = <множественное выражение>;

Например:

A: = [50, 100, 150, 200];

B: = ['m', 'n', 'k']; C: = [True, False]; 

D: = A;



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





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

Объединение двух множеств A и B является множеством, состоящим из элементов, входящих, по крайней мере, в одно из множеств A или B. Знак операции объединения в Pascal "+".




Примеры:

1) [1, 2, 3, 4] + [3, 4, 5, 6] => [1, 2, 3, 4, 5, 6]

2) []+[‘a’..’z’]+[‘A’..’E’, ‘k’]  => [‘A’..’E’, ‘a’..’z’]

3) [5<4, true and false] + [true]  => [false, true]



Пересечение двух множеств A и B представляет собой множество, состоящее из элементов, которые одновременно появляютсяв множестве A и в множестве B. Знак операции пересечения в Pascal "*"

Примеры:

1) [1, 2, 3, 4] * [3, 4, 5, 6] => [3, 4] 

2) [‘a’..’z’]*[‘A’..’E’, ‘k’]  => [‘k’]

3) [5<4, true and false] * [true]  => []





Разностью двух множеств A и B называется множество, состоящее из элементов множества A, не входящих во множество B.



Примеры:

1a) [1, 2, 3, 4] - [3, 4, 5, 6] => [1, 2]

1b)  [3, 4, 5, 6] - [1, 2, 3, 4]  => [5, 6]

2a) [‘a’..’z’]-[‘A’..’E’, ‘k’]  => [‘a’..’j’, ‘i’..’z’]

2b) [‘A’..’E’, ‘k’] - [‘a’..’z’]  => [‘A’..’E’]

3a) [5<4, true and false] - [true] => [false]

3b) [true] - [5<4, true and false] => [true]



Операция возникновения. Это операция, которая устанавливает связь между множеством и скаляром, тип которого совпадает с базовым типом набора. Если x - такая скалярная величина, а M - множество, то входная операция записывается как: x в M.





Структурированные типы данных

Структурированные типы данных определяют наборы одинаковых или разных типов компонентов. Типы компонентов формируются из других типов (простых, структурированных, указателей и т. Д.). Данные.

В языке Pascal существуют следующие структурированные типы.

тип-массив;

тип-запись;

тип-множество;

тип-файл.

Массив

																Тип массива - фиксированное количество упорядоченных компонентов того же типа, снабженное индексами. Он может быть одномерным и многомерным. Чтобы указать тип массива, используйте массив зарезервированных слов, за которым следует индексный тип компонентов (в квадратных скобках), а затем после типа слова самих компонентов:

																type

																<имя типа> = array[<тип индекса(индексов)>] of <тип компонент>;

																

																Пример:

																type

																Arr = array[1..3] of Real; {тип—массив из 3 вещественных чисел}

																Matrix =  array[1..3, 1..2] of Integer;  {тип - двумерный массив целых чисел, состоящий из 3 строк и 2 столбцов}



Введя тип массива, вы можете указать переменные или типизированные константы этого типа. Размерность массива может быть любой, компоненты могут быть любыми, включая структурированные, типы, индексы (индексы) могут быть любого типа, за исключением типа Longint.

При указании значения константного массива компоненты, которые указывают круглые скобки и разделяются запятыми, и если массив является многомерным, внешние скобки соответствуют левому индексу, заключенные в них круглые скобки являются следующим индексом и т. д.

Например:

																var

																Ml, M2: array [1..3] of Real;

																Matr: array[1..3, 1..2] of Integer;



Запись

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

Пример:

																type

																Complex = record   {Тип комплексных чисел}

																Re: Real;

																Im: Real

																end;

																

																Data = record	   {Тип - дата рождения}

																Year: Integer;

																Month: 1..12;

																Day: 1..31

																end;

																

																Person = record	   {Тип - сведения о сотруднике}

																Name: string[20];

																Sex: (Male, Female);

																Age: Integer;

																Married: Boolean 

																end;



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

Пример:

																type

																Figure = (Square, Triangle, Circle); 

																Param = record

																X, Y: Real;	{координатыточкипривязки}

																

																case Fig: Figure of	{параметрыфигур}

																Square: (Side: Real);

																Triangle: (Sidel, Side2, Angle: Real); 

																Circle: (Radius: Real) 

																end; 

																varMySquare, MyCircle: Param;



Вариантная часть начинается со слова case, за которым следует переменная выбора варианта (в примере Fig) с типом. Далее указываются константы значения, которые могут принимать переменные выбора варианта (в примере Квадрат, Треугольник, Круг). После каждой константы поля этого варианта записи записываются в круглых скобках в круглых скобках с указанием их типов. Скобки необходимы, даже если для этого варианта отсутствует вариантная часть. Следует отметить, что вариантная часть не заканчивается концом концевой скобки, как в обычной конструкции CASE, поскольку конечный конец всего типа.

Множество

																В языке Pascal типом набора является множество - степень исходного набора объектов типа заказа, т. Е. Множество всех возможных комбинаций объектов исходного набора. Число элементов исходного набора в TurboPascal не может быть больше 256, а порядковые номера элементов (то есть значения функции Ord) должны быть между 0 и 255.

																Чтобы указать тип набора, вы должны использовать зарезервированные слова set и of, а затем указать элементы этого набора, обычно в форме перечисления или диапазона, например:

																

																type

																Alfa = set of 'A'..'Z';

																Count = set of (Plus, Minus, Mult, Divid);

																Ten = set of 0..9;

																Number = set of '0'..'9' ;

																

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

																var

																CharVal: Alfa;

																Operation: Count; 

																const

																Index: Ten = [0, 2, 4, 6, 8];

																Digit: Number = ['0'..'9'];



Примечание. 

Так же как и для других структурированных типов, тип-множество можно ввести непосредственно при задании переменных или типизированных констант: 

																var

																CharVal: set of 'A'..'Z';

																Operation: set of (Plus, Minus, Mult, Divid); 

																const

																Index: set of 0..9 = [0, 2, 4, 6, 8];

																Digit: set of '0'..'9'=['0'..'9'];



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

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

Для множеств определены следующие операции:

+  - объединение множеств;

-  - разность множеств; 

*  - пересечение множеств; 

=  - проверка эквивалентности двух множеств;

<> - проверка неэквивалентности двух множеств;

<= - проверка, является ли левое множество подмножеством правого множества; 

>= - проверка, является ли правое множество подмножеством левого множества; 

in - проверка, входит ли элемент, указанный слева, в множество, указанное справа.

Файл

Типичный файл представляет собой последовательность компонентов одного и того же типа, расположенных на внешнем устройстве (в стандарте языка в качестве основы берется местоположение данных на лентах). Компоненты могут быть любого типа, за исключением типа файла (или содержащего компоненты типа файла) и типа объекта. Количество компонентов в файле не объявлено. Чтобы указать тип файла, используйте файл зарезервированных слов и значение, а затем укажите тип компонента файла.

Пример.

																type

																Number = file of Integer;    {тип-файлцелыхчисел}

																Symb = file of 'A'..'Z';     {тип—файлпрописныхлатинскихбукв}



Стандартный тип текста определяет тип файла, который содержит символы, которые объединены в строки. Обратите внимание, что текстовый тип в TurboPascal не эквивалентен Char-файлу. Введя тип файла, вы можете определить переменные типа файла:

VarFl, F2: Число; F3: текст; FF4: Символы;



Переменные файла имеют специальное приложение. Выше них вы не можете выполнять какие-либо операции (присваивать значение, сравнивать и т. Д.). Их можно использовать только для выполнения операций над файлами (чтение, запись, удаление файла и т. Д.). Работа с файлами будет рассмотрена в разделе 11. Кроме того, с помощью переменной файла вы можете получить информацию о конкретном файле (тип, параметры, имя файла и т. Д.).





















Махачкала, 2017.......................
Для получения полной версии работы нажмите на кнопку "Узнать цену"
Узнать цену Каталог работ

Похожие работы:

Отзывы

Выражаю благодарность репетиторам Vip-study. С вашей помощью удалось решить все открытые вопросы.

Далее
Узнать цену Вашем городе
Выбор города
Принимаем к оплате
Информация
Наши преимущества:

Экспресс сроки (возможен экспресс-заказ за 1 сутки)
Учет всех пожеланий и требований каждого клиента
Онлай работа по всей России

Сезон скидок -20%!

Мы рады сообщить, что до конца текущего месяца действует скидка 20% по промокоду Скидка20%