русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Массивы


Дата добавления: 2014-02-04; просмотров: 831; Нарушение авторских прав


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

 

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

 

VAR a:CHAR;

READ(a);
IF a IN [‘y’,’Y’,’д’,’Д’] THEN …

 

Подобный подход гораздо логичнее и проще, чем написание сложного условия вида IF (a='Y') OR (a='Y')…

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

Объединениемножеств A+B образует новое множество, в которое входят элементы и первого, и второго исходных множеств. Поскольку одинаковых элементов в множествах не бывает по определению (один элемент – один бит), то при объединении два одинаковых элемента превращаются в один. Обозначается операция объединения знаком "+". Схематически операция объединения показана на Рис. 2.2.

 

Рис. 5.2. Объединение множеств.

Рассмотрим пример:

 

TYPE ts=SET OF CHAR;
VAR a,b,c:ts;

a:=[’a’..’c’]; b:=[’d’..’f’];
c:=a+b;

 

Объединение множеств [’a’,’b’,’c’] и [’d’,’e’,’f’] приведет к результату ['a','b','c','d','e','f'].

Пересечениемножеств A*B заключается в нахождении тех элементов, которые есть и в первом множестве, и во втором. Операция пересечения обозначатся знаком "*". Ее схема показана на Рис. 2.3

 

Рис. 5.3. Пересечение множеств.

В нашем примере:

 

TYPE ts=SET OF CHAR;
VAR a,b,c:ts;

a:=[’a’..’d’]; b:=[’d’..’f’];
c:=a*b;

 

Пересечение множеств [’a’,’b’,’c’, ’d’] и [’d’,’e’,’f’] приведет к результату ['d'] – этот элемент присутствовал в обоих множествах сразу. Если общих элементов нет, результатом пересечения будет пустое множество [].



Вычитаниемножеств A-B образует множество, в котором присутствуют только те элементы множества А, которых нет в множестве В (Рис. 2.4).

 

Рис. 5.4. Вычитание множеств.

 

Вычитание множеств [’a’,’b’,’c’, ’d’] и [’d’,’e’,’f’] приведет к результату [’a’,’b’,’c’] – эти элементы не присутствовали во втором множестве.

 

 

Массив(array) – самый распространенный сложный тип данных. Массив однороден: все его элементы имеют один и тот же базовый тип.Массив в памяти – структура данных с прямым доступом к каждому элементу (в отличие от файла на диске). Это означает, что для считывания содержимого элемента массива с номером 25 не нужно просматривать предыдущие 24 элемента (сравните CD и кассету). Нужный элемент в массиве находится по его индексу. В описании массива тип индекса также надо указывать. Таким образом, в описании массива присутствуют два типа данных:

1. тип данных каждого элемента массива;

2. тип данных индекса массива.

 



<== предыдущая лекция | следующая лекция ==>
Множества. Массивы | Индуктивные функции


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 2.799 сек.