![](/user_photo/2706_HbeT2.jpg)
- •Аннотация
- •Содержание
- •Интегрированная среда программирования Turbo Pascal 7.0
- •Основные понятия языка Turbo Pascal 7.0
- •Алфавит языка
- •Структура программы
- •Раздел объявления меток
- •Раздел объявления констант
- •Строковые и символьные константы
- •Простые типы данных
- •Выражения Арифметические выражения
- •Математические функции
- •Условные выражения и операции отношения
- •Логические выражения и операции
- •Процедуры ввода – вывода информации Процедуры ввода информации Read, ReadLn
- •Процедуры записи Write, WriteLn
- •Форматы процедуры вывода Write
- •Простые операторы
- •Оператор присваивания
- •Примеры решения задач
- •Оператор безусловного перехода Goto
- •Структурированные операторы
- •Составной оператор
- •Условный оператор If
- •Примеры решения задач
- •Условный оператор Case
- •Примеры решения задач
- •Оператор цикла For
- •Особенности выполнения оператора For
- •Примеры решения задач
- •Оператор цикла Repeat…Until
- •Особенности выполнения оператора Repeat
- •Примеры решения задач
- •Оператор повтора While
- •Особенности выполнения оператора While
- •Примеры решения задач
- •Вложенные циклы
- •Массивы
- •Одномерные массивы Основные понятия
- •Описание массива
- •Заполнение массива
- •6.1.4 Примеры решения задач
- •1. Алгоритмы поиска и присвоения значений элементам массива
- •2. Алгоритмы нахождения суммы, произведения и количества элементов массива. Работа с индексами элементов массива
- •3. Алгоритмы нахождения наибольшего или наименьшего элемента массива и его индекса
- •6.2 Двумерные массивы
- •6.2.1 Основные понятия
- •6.2.2 Описание массива
- •6.1.3 Заполнение и вывод элементов двумерного массива
- •6.1.4 Примеры решения задач
- •1. Алгоритмы действий над элементами двумерного массива
- •2 Алгоритмы формирования одномерного массива
- •3 Алгоритмы нахождения наибольшего и наименьшего элементов двумерного массива
- •7. Множества
- •7. 1 Операции над множествами
- •7.2 Примеры решения задач
- •8. Строки
- •8.1 Строковые выражения
- •8.2 Стандартные процедуры и функции для обработки строковых данных
- •Обнаруживает первое появление в строке St2 подстроки St1. Результат равен номеру той позиции, где находится первый символ подстроки St1.
- •8.3 Примеры решения задач
- •1.Задачи на подсчет символов.
- •2. Задачи на замену символов.
- •3. Задачи на удаление символов.
- •4. Задачи на вставку символов.
- •9. Процедуры и функции, определенные пользователем
- •9.1 Процедуры пользователя
- •1 Вариант
- •2 Вариант
- •9.2 Функции пользователя Формат описания функции:
- •9.3 Параметры
- •9.3.1 Параметры – значения
- •9.3.2 Параметры - переменные
- •10 Модуль crt. Процедуры и функции модуля crt
- •11 Модуль Graph
- •11.1 Классификация типов драйверов и видеорежимов
- •11.2 Инициализация графики
- •11.3 Переключение между текстовым и графическим режимами
- •11.4 Система координат
- •Отображение строк
- •11.5 Управление текущим указателем
- •11.6 Отображение точки на экране
- •11.7 Определение параметров пикселов
- •11.8 Отображение отрезков прямых линий
- •11.9 Вычерчивание линий различных стилей
- •11.10 Построение прямоугольников
- •11.10.1 Построение прямоугольника на плоскости
- •11.10.2 Построение закрашенного прямоугольника
- •11.11 Установка стиля заполнения
- •11.13 Построение заполненных областей изображения
- •11.13.1 Построение заполненного сектора эллипса
- •11.13.2 Построение заполненного эллипса
- •11.13.3 Построение заполненных сложных геометрических фигур
- •Список литературы
7. Множества
Множество – структурированный тип данных, представляющих набор взаимосвязанных по какому-либо признаку или группе признаков объектов, которое можно рассматривать как единое целое. Каждый объект в множестве называется элементом множества. Все элементы множества должны принадлежать одному из скалярных типов, кроме вещественного. Значения элементов множества указываются в квадратных скобках. Например:
[1,2,3,4]; [‘f’,’d’,’c.’]; [‘a’..’z’]
Формат:
Type
<имя типа>= set of <элемент1, элемент2, …,элементn>;
Var
<идентификатор>:<имя типа>;
или
Var
<идентификатор>:set of <элемент1, элемент2, …,элементn >;
Например:
Type
Pros=set of (1,3,5,7,13);
Nom=set of 1..31;
Var
Pr: Pros;
N: Nom;
Buk: set of (‘A’,’S’, ‘Z’,’J’);
S: Set Of Byte;
Количество элементов множества не более 256. Объем памяти, занимаемый одним элементом множества, составляет 1 бит.
7. 1 Операции над множествами
С множествами допускаются все операции отношения (=, <>, >=, <=), операции объединения, пересечения, разности множеств и операция in.
Результат выражений: True, False.
Операция «=».
-
Значение А
Значение В
Выражение
Результат
[1,2,3,5]
[1,2,3,5]
A=B
True
[‘a’,’b’,’c’]
[‘a’,’c’]
A=B
False
[‘a’..’z’]
[‘z’..’a’]
A=B
True
Операция «<>»
-
Значение А
Значение В
Выражение
Результат
[1,2,3]
[1,2,3,4]
A<>B
True
[‘a’..’z’]
[‘b’..’z’]
A<>B
True
[‘a’..’n’]
[‘n’..’a’]
A<>B
False
Операция «>=». Результат операции A>=B True, если все элементы множества B содержатся в множестве A.
-
Значение А
Значение В
Выражение
Результат
[1,2,3,4]
[4,2,3]
A>=B
True
[‘a’..’z’]
[‘b’..’t’]
A>=B
True
Операция «<=». Результат операции A<=B True, если все элементы множества A содержатся в множестве B.
-
Значение А
Значение В
Выражение
Результат
[1,2,3]
[1,2,3,4]
A<=B
True
[‘d’..’h’]
[‘a’..’z’]
A<=B
True
Операция in
Используется для проверки принадлежности какого-либо элемента указанному множеству. Результат операции – значение True, если элемент принадлежит множеству, и False – в противном случае.
-
Значение А
Выражение
Результат
2
If A in [1,2,3] Then…
True
‘v’
If A in [‘a’..’n’] Then…
False
При использовании операции in множество в [ ] не обязательно описывать в разделе описаний. Операция in позволяет эффективно производить сложные проверки условий. Например:
If (A=1) OR (A=2) OR (A=3) OR (A=4) OR (A=5) OR (A=6) Then …
можно заменить:
If A in {1..6] Then …
Допускается запись:
If NOT(X in M) Then…
Объединение множеств (+)
Объединением двух множеств является третье множество, содержащее элементы обоих множеств.
-
Значение А
Значение В
Выражение
Результат
[1,2,3]
[1,4,5]
A+B
[1,2,3,4,5]
[ ]
[ ]
A+B
[ ]
А+В
Пересечение множеств (*)
Пересечением двух множеств является третье множество, которое содержит элементы, входящие одновременно в оба множества.
-
Значение А
Значение В
Выражение
Результат
[1,2,3]
[1,4,2,5]
A*B
[1,2]
[‘a’..’z’]
[‘b’..’z’]
A*B
[‘b’..’z’]
[ ]
[ ]
A*B
[ ]
А*В
Разность множеств (-)
Разностью двух множеств является третье множество, которое содержит элементы первого множества, не входящие во второе.
-
Значение А
Значение В
Выражение
Результат
[1,2,3,4]
[1,3,4]
A-B
[2]
[X1,X2,X3,X4]
[X4,X1]
A-B
[X2,X3]
А-В
Преимущества при использовании множеств:
-
Упрощаются сложные операторы If.
-
В ряде случаев экономится память, время компиляции и выполнения.
Недостаток:
Pascal не поддерживает ввод-вывод элементов множества.