Цель работы: приобретение практических навыков разработки программы, создающей и управляющей базой данных, на языке программирования Паскаль, изучить синтаксис и правила создания и обработки переменных типа множество.
Контрольные вопросы:
1. Дайте определение множество.
2. Чем отличается множество от массива?
3. Каким образом осуществляется обмен данными между основной программой и подпрограммой?
Задачи:
1. Из множества целых чисел 1..20 выделить: множество чисел, делящихся без остатка на 6; множество чисел, делящихся без остатка или на 2, или на 3
2. Из множества целых чисел 1..100 выделить множество чисел, являющихся, в свою очередь, квадратами целых чисел
3. Из множества целых чисел 1..100 выделить множество чисел на которые делится без остатка число 444. Вывести это множество на экран
4. Пусть заданы множество А и множество В целых чисел, вывести напечатать все элементы множества А которые не входят в множество В.
5. Вывести все элементы множества А, которые не входят в множество В
6. Множество: Подсчитать количество гласных в множестве s, построить множество простых чисел от 0 до 99
7. Из множества целых чисел 1…20 выделить: множество чисел, делящихся на 6 без остатка
8. Из множества целых чисел [1..500] получить множество чисел, являющихся квадратами нечетных чисел и вывести их на экран
9. Задано множество целых чисел от 1 до 255. Получить из этого множества новое множество, в которой отсутствуют числа, кратные 3
10. Задать множество, элементы которого - случайные числа из некоторого диапазона целых чисел; напечатать все элементы этого множества и подсчитать их количество
Литературы:
Основная литература:
1. Абрамов В.Г., Трифонов Н.П., Трифонова Г.Н. Введение в язык Паскаль. - М.: Наука, 1988. - 320 с.
|
2. Абрамов С.А., Зима Е.В. Начала программирования на языке Паскаль. - М.: Наука, 1987. - 112 с.
3. Вирт Н. Алгоритмы и структуры данных./Пер. с англ. М.: Мир, 1989. - 360 с.
4. Грогоно П. Программирование на языке Паскаль. - М.: Мир, 1982. - 382 с.
5. Дантеманн Дж., Мишел Дж., Тейлор Д. Программирование в среде Delphi: Пер. с англ. - Киев: НИПФ “ДиаСофтЛтд.”, 1995. - 608 с.
6. Епанешников, Фолкнер Д.Р. Delphi: Пер.с англ.- М.: БИНОМ, 1995. - 464 с.
7. Орлик С.В. Секреты Delphi на примерах: - М.: БИНОМ. - 316 с.
Дополнительная литература:
1. Перминов О.Н. Программирование на языке Паскаль. - М.: Радио и связь, 1988.
2. Пильшиков В.Н. Сборник упражнений по языку Паскаль: Учеб. пособие для вузов. - М.: Наука, 1989. - 160 с.
3. Прайс Д. Программирование на языке Паскаль: Практ. руководство. - М.: Мир, 1987. - 232 с.
4. Рубенкинг Н. Турбо Паскаль для Windows: В 2 т.; Пер. с англ.М.: Мир, 1993- 536 с.
5. Фаронов В.В. Турбо Паскаль. В 3-х книгах. Книга 1. Основы Турбо Паскаля. - М.: Учеб.-инж.центр МВТУ-ФЕСТО ДИДАКТИК, 1992. - 304 с.
6. Фаронов В.В. Паскаль и Windows. - М.: Учеб.-инж.центр МВТУ-ФЕСТО ДИДАКТИК, 1994. - 539 с.
Методические указания:
Множество — это структурированный тип данных, представляющий собой набор взаимосвязанных по какому-либо признаку или группе признаков объектов, которые можно рассматривать как единое целое. Каждый объект в множестве называется элементом множества.
Все элементы множества должны принадлежать одному из порядковых типов, содержащему не более 256 значений. Этот тип называется базовым типом множества. Базовый тип задается диапазоном или перечислением.
Область значений типа множество — набор всевозможных подмножеств, составленных из элементов базового типа. В выражениях на языке Паскаль значения элементов множества указываются в квадратных скобках: [1,2,3,4], ['а',‘b','с'], ['a'..'z'].
|
Если множество не имеет элементов, оно называется пустым и обозначается как []. Количество элементов множества называется его мощностью.
Множество может принимать все значения базового типа. Базовый тип не должен превышать 256 возможных значений. Поэтому базовым типом множества могут быть byte, char, boolean и производные от них типы.
Множество в памяти хранится как массив битов, в котором каждый бит указывает является ли элемент принадлежащим объявленному множеству или нет. Максимальное число элементов множества 256, а данные типа множество могут занимать не более 32 байт.
Число байтов, выделяемых для данных типа множество, вычисляется по формуле:
ByteSize = (max div 8) - (min div 8) + 1,
где max и min — верхняя и нижняя границы базового типа данного множества.
Номер байта для конкретного элемента Е вычисляется по формуле:
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 <идентификатор>: set of <базовый тип>;
Например:
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;Кроме того, выражения могут включать в себя операции над множествами.