русс | укр

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

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

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

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


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

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


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


Типизированная константа

Нетипизированная константа

Неименованная константа

Множество-константа

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

Множества

 

Еще один структурированный тип данных - это множество (set). В нем может содержаться не более 256 элементов.

 

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

 

 

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

 

var <имя_множества>: set of <тип_элементов_множества>;

 

Элементы могут принадлежать к любому порядковому типу, размер которого не превышает 1 байт (256 элементов). Например:

 

var s1: set of char; {множество из 256-ти элементов}

s2: set of 'a'..'z','A'..'Z'; {множество из 52-х элементов}

s3: set of 0..10; {множество из 11-ти элементов}

s4: set of boolean; {множество из 2-х элементов}

 

 

 

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

 

[<список_элементов>]

 

Список элементов может быть задан перечислением элементов нового множества через запятую, интервалом или объединением этих двух способов. Элементы и границы интервалов могут быть переменными, константами и выражениями. Если левая граница интервала окажется больше правой, результатом будет пустое множество.

 

Примеры конструирования и использования различных множеств:

 

if c in ['a','e','i','o','u']

then writeln('Гласная буква');

if set1 < [k*2+1..n,13] then set1:=[];

 

 

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



 

 

Задать множество как типизированную константу можно в разделе const:

 

<имя_константы> : set of <тип_элементов> =[<список_элементов>];

 

Например:

 

type cipher = set of '0'..'9';

const odds: cipher = ['1','3','5','7','9'];

vowels: set of 'a'..'z' = ['a','o','e','u','i'];

 

 

Все теоретико-множественные операции реализованы и в языке Pascal:

 

1) Пересечение двух множеств s1 и s2: s:=s1*s2;

2) Объединение двух множеств s1 и s2: s:=s1+s2;

3) Разность двух множеств s1 и s2 (все элементы, которые принадлежат множеству s1 и одновременно не принадлежат множеству s2)1): s:=s1-s2;

4) Проверка принадлежности элемента el множеству s (результат этой операции имеет тип boolean): el in s

5) Обозначение для пустого множества: []

6) Создание множества из списка элементов: s:=[e1,_,eN];

7) Проверка двух множеств на равенство или строгое включение (результат этих операций имеет тип boolean):

s1 = s2

s1 > s2

s1 < s2

 

Не существует никакой процедуры, позволяющей распечатать содержимое множества. Это приходится делать следующим образом:

 

{s: set of type1; k: type1}

for k:= min_type1 to max_type1

do if k in s then write(k);

 

Пример. Дана не пустая последовательность символов. Требуется построить и вывести множество, элементами которого являются встречающиеся в последовательности цифры от 3 до 9, буквы от A до F и знаки препинания. Признаком окончания последовательности является символ 0.

 

program M;

var ch:char;

s:string;

begin

write ('Введите строку символов (0-выход): ');

s:='';

repeat

read (ch);

if (ch in ['3'..'9']) or (ch in ['A'..'F']) or (ch in [',','.',';',':','-']) then s:=s+ch;

until ch='0';

writeln(s);

end.

 



<== предыдущая лекция | следующая лекция ==>
Конкатенация | 


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


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

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

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


 


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

 
 

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

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