
- •Часть 1
- •Предмет и задачи информатики
- •История эвм
- •Состав вычислительной системы
- •Аппаратное обеспечение
- •Программное обеспечение
- •Операционная система
- •Кодирование Двоичный код
- •Кодирование чисел
- •Кодирование текстовых данных
- •Кодирование графических данных
- •Представление цвета в машинной графике
- •Кодирование звуковой информации
- •Прикладное программное обеспечение Системы обработки текстов
- •Интегрированный пакет Microsoft Office
- •Текстовый процессорWord
- •Создание в документе листа Microsoft Excel
- •О рисунках и других графических объектах
- •Закрепление областей листа
- •Скрытие и отображение столбцов и строк
- •Выделение фрагментов документа
- •Ввод данных с клавиатуры
- •Ввод текста
- •Ввод чисел
- •Ввод формул с клавиатуры
- •Установка границ ячеек
- •Работа с диаграммами
- •Работа с базами данных Основные понятия
- •Объекты базы данных
- •Запросы
- •Страницы
- •Макросы и модули
- •Безопасность баз данных
- •Технологии программирования
- •Алгоритм, программа
- •Интегрированная среда разработки приложений в Delphi
- •Стандарт и диалекты языка
- •Основы Паскаля
- •Основные понятия языка Алфавит
- •Имена и идентификаторы
- •Программные элементы
- •Описания
- •Раздел констант
- •Типизированные константы
- •Переменные
- •Функции и процедуры
- •Правила записи текста программы
- •Концепция данных
- •Основные типы данных Целые типы
- •Битовые операции
- •Вещественные типы
- •Тип дата-время
- •Символьные типы
- •Логические типы
- •Выражения
- •Оператор присваивания
- •Составной оператор
- •Раздел меток
- •Оператор перехода
- •Пустой оператор
- •Раздел типов
- •Условный оператор
- •Перечислимые типы (перечни)
- •Оператор варианта
- •Ограниченные типы
- •Операторы цикла
- •Операторы цикла с параметром
- •Оператор цикла с постусловием
- •Оператор цикла с предусловием
- •Регулярные типы (массивы)
- •Многомерные массивы
- •Комбинированные типы (записи)
- •Оператор присоединения
- •Подпрограммы
- •Подпрограммы-процедуры
- •Подпрограммы-функции
- •Формальные и фактические параметры
- •Параметры-значения
- •Параметры-переменные
- •Параметры-константы
- •ПроцедураExit
- •Процедурные типы
- •Множественные типы
- •Оглавление
- •Часть 1
Множественные типы
Понятие множества – одно из основных в математике.
Тип множествозадает неупорядоченную совокупность неповторяющихся элементов.Переменная типа множество– это совокупность элементов из заданного множества. ВDelphiдопускаются только конечные множества, причемэлементы множества должны быть значениями одного типа. Тип элементов множества принято называтьбазовым типом множества.
Число элементов исходного множества не может быть более 256. Для задания элементов множества может использоваться любой порядковый тип, однако порядковые номера элементов множества, т.е. значения функции ord, должны находиться в пределах от 0 до 255.
Конкретные значения множественного типа задаются с помощью конструктора множества, представляющего собой список элементов множества, заключенных в квадратные скобки
<конструктор множества>::=[]|[<элемент>{,<элемент>}]
<элемент>::=<выражение>|<выражение1>..<выражение2>
Считается, что порядок перечисления элементов не играет роли, и каждый элемент учитывается только один раз.
Пример.
[] – пустое множество; [1..1] – множество [1];
['d'..'a'] – эквивалентно [];
[1,2,3,2..5,6,4,3,] – эквивалентно [1..6].
Неверные записи:
[2.7,3.14] – тип real не может быть базовым;
[5,'f'] – элементы разных типов; ['abc','deg'] – производный тип.
Синтаксис задания множественного типа
<задание множественного типа>::=set of<базовый тип>
<базовый тип>::=<имя базового типа>|<задание базового типа>
При задании множественного типа необходимо задать базовый тип, из значений которого состоят конкретные значения множественного типа. В совокупность значений множественного типа входят все возможные множества, являющиеся комбинациями значений базового типа. Пустое множество входит в любой множественный тип значений.
Пример.
Пусть задан тип M=setof1..3 , тогда множества
[],[1],[2],[3],[1,2],[1,3],[2,3],[1,2,3]
являются значениями заданного множественного типа.
Переменные множественного типа называют переменными-множествамии описывают в разделе описания переменных. Присвоить значения переменным-множествам можно оператором присваивания.
В Delphiимеется ряд встроенных операций для данных множественного типа (+,*,-и операции отношения).
Операции отношениянад множествамиAиB
A=B–AиBсовпадают;
A<>B–AиBне совпадают;
A<=B– все элементыAпринадлежатB;
A>=B– все элементыBпринадлежатA;
x inA– элемент x входит вA.
Пример.
Пусть заданы следующие типы и переменные:
Type Mn=set of 1..50;
Var A, B, C: Mn;
. . . . . . . . . . .
A:=[3,5,9,10];B:=[1,7,9,10];
Тогда можно выполнить следующие операции (в фигурных скобках указан результат):
объединение:C:=A+B–{1,3,5,7,9,10};
пересечение: C:=A*B – {9,10};
разность: C:=A-B – {3,5}, C:=B-A – {1,7};
проверка эквивалентности:A=B– {False};
проверка неэквивалентности:A<>B– {True};
проверка, является ли одно множество подмножеством другого:A>=B– {False},A<=B– {False};
проверка, входит ли заданный элемент в заданное множество:3 in A– {True},3 in B– {False}.
Операции < и > – недопустимы над операндами множественного типа. С использованием множественных операций могут строиться множественные выражения. Старшинство операций аналогично старшинству при вычислении арифметических выражений: в первую очередь выполняются операции в скобках, затем *, после чего+и-в порядке следования слева направо.
Пример.
[1,2,5,6,7]*[2..6] + [3,9] = [2,3,5,6,9]
В Delphiимеются две встроенные подпрограммы для работы с множествами:Exclude(A,x)– удалить из множестваAэлементx,Include(A,x)– вставить элементxво множествоA.