SlideShare a Scribd company logo
1 of 12
«Програмування із 
Delphi. 
застосуванням множин»
«Программирование с использованием множеств» 
План темы: 
1. Понятие множества и его назначение в 
программировании. 
2. Описание множеств в программе. 
3. Операции над множествами. 
4. Примеры программирования с 
использованием множеств.
•Множество – это структурированный тип 
данных, состоящий из неупорядоченного 
набора различных однотипных элементов. 
•Элементами множества могут быть 
данные типов char (символ) или byte 
(целое число от 0 до 255). 
•Максимальное количество элементов в 
множестве равно 256. 
•В программировании множества 
упрощают запись сложных условий.
•Для определения переменных типа 
множество используется следующий 
формат: <Имя переменной>: set of <тип>; 
• Примеры: 
Var m1: set of char; 
m2: set of byte; 
m3: set of (‘a’..’z’); 
m4: set of (1,3,5,7,9);
• Формирование множества. Примеры: 
//Множество всех русских букв: 
m1:=[‘а’..’я’]+[‘A’..’Я’]; 
//Множество прописных гласных русских букв: 
m1:=[‘а’,’о’,’э’,’у’,’е’,’ё’,’ы’,’и’,’ю’,’я’]; 
//Пустое множество: 
m2:=[]; 
//Множество четных чисел: 
for i:=0 to 127 do m2:=m2+[2*i];
• Добавление элемента в множество. 
Примеры: 
Include(m1,’i’); 
//или то же самое: 
m1:=m1+[‘i’]; 
• Удаление элемента из множества. 
Примеры: 
Exclude(m2,0); 
//или то же самое: 
m2:=m2-[0];
• Объединение множеств (C:=A+B) - 
множество C состоит из элементов, входящих 
или в A или в B. Пример: 
A:=[0,1,3]; B:=[2..5]; C:=A+B; 
//множество C будет равно [0..5]. 
• Разность множеств (C:=A-B) - множество C 
состоит из элементов множества A, не 
входящих в множество B. Пример: 
A:=[0..5]; B:=[2,4,6]; C:=A-B; 
//множество C будет равно [0,1,3,5].
• Пересечение множеств (C:=A*B) - 
множество C состоит из элементов, 
одновременно входящих в A и в B. Пример: 
A:=[0..3]; B:=[2..5]; C:=A*B; 
//множество C будет равно [2,3]. 
• Проверка равенства множеств (A=B) - 
результат равен TRUE, если множества A и B 
состоят из одних и тех же элементов. Пример: 
A:=[5,3,1]; B:=[1,5,3]; If A=B then …; 
//результат проверки TRUE.
• Проверка неравенства множеств (A<>B) - 
результат равен TRUE, если множества A и B 
состоят из различных элементов. Пример: 
A:=[0,1,3]; B:=[0,1]; If A<>B then… 
// результат проверки TRUE. 
• Проверка подмножества (A<=B) - результат 
равен TRUE, если все элементы множества A 
являются элементами множества B. Пример: 
A:=[5,3,1]; B:=[1,5,3,7]; If A<=B then …; 
//результат проверки TRUE.
• Проверка надмножества (A>=B) - результат 
равен TRUE, если все элементы множества B 
являются элементами множества A. Пример: 
A:=[0,1,3]; B:=[0,1]; If A>=B then… 
// результат проверки TRUE. 
• Проверка принадлежности (x in A) - результат 
равен TRUE, если элемент x входит в 
множество A. Пример: 
A:=[5,3,1]; x:=3; 
If x in A then …; 
//результат проверки TRUE.
1. Задана строка текста на русском языке. Выписать все 
гласные буквы (прописными, в алфавитном порядке, не 
повторяясь), которые входят в данный текст. 
var s1,s2: string; 
m1,m2: set of char; 
i: integer; c: char; 
Begin 
{…Ввод строки s1} 
s1:=AnsiLowerCase(s1); 
m1 := [‘а’,’о’,’э’,’у’,’е’,’ё’,’ы’,’и’,’ю’,’я’]; 
s2:=‘’; m2:=[]; 
For i := 1 to length(s1) do 
If s1[i] in m1 then Include(m2,s1[i]); 
For c:=‘а’ to ‘я’ do 
If c in m2 then s2:=s2+c; 
{…Вывод s2} 
End.
2. Заданы массивы A и B целых чисел со значением элементов от 0 до 
255. Построить массив C, состоящий из тех чисел, которые есть и в A 
и в B. 
var A,B,C:array[1..256] of Byte; 
mA,mB,mC: set of Byte; 
i,j,n,m: Integer; 
Begin 
{…Ввод n,m,A,B. n – кол-во эл. в A, m – в кол-во эл. в B.} 
mA:=[]; mB:=[]; mC:=[]; 
For i := 1 to n do Include(mA, A[i]); 
For i := 1 to m do Include(mB, B[i]); 
mC:=mA*mB; j:=0; 
For i:=0 to 255 do 
If i in mC then begin 
j:=j+1; C[j]:=i; 
end; 
{…Вывод С.} 
End.

More Related Content

What's hot

4.4 Таблица виртуальных методов
4.4 Таблица виртуальных методов4.4 Таблица виртуальных методов
4.4 Таблица виртуальных методовDEVTYPE
 
3.2 Методы
3.2 Методы3.2 Методы
3.2 МетодыDEVTYPE
 
модуль 03 строки
модуль 03 строкимодуль 03 строки
модуль 03 строкиYevgeniy Gertsen
 
презентации продолжение банкета
презентации продолжение банкетапрезентации продолжение банкета
презентации продолжение банкетаstudent_kai
 
основы программирования на языке C
основы программирования на языке Cосновы программирования на языке C
основы программирования на языке Cstudent_kai
 
2.2 Стек вызовов
2.2 Стек вызовов2.2 Стек вызовов
2.2 Стек вызововDEVTYPE
 
способы задания функций
способы задания функцийспособы задания функций
способы задания функцийalexredhill
 
Cоставной
CоставнойCоставной
CоставнойOlgaDask
 
3.3 Конструкторы и деструкторы
3.3 Конструкторы и деструкторы3.3 Конструкторы и деструкторы
3.3 Конструкторы и деструкторыDEVTYPE
 
Уравнение касательной
Уравнение касательнойУравнение касательной
Уравнение касательнойEkaterina
 
Программирование линейных алгоритмов
Программирование линейных алгоритмовПрограммирование линейных алгоритмов
Программирование линейных алгоритмовAndrey Dolinin
 
вывод алфавитно цифровой информации
вывод алфавитно цифровой информациивывод алфавитно цифровой информации
вывод алфавитно цифровой информацииLungu
 
Программирование разветвляющихся алгоритмов
Программирование разветвляющихся алгоритмовПрограммирование разветвляющихся алгоритмов
Программирование разветвляющихся алгоритмовAndrey Dolinin
 
Программирование циклических алгоритмов
Программирование циклических алгоритмовПрограммирование циклических алгоритмов
Программирование циклических алгоритмовAndrey Dolinin
 
сбор урока
сбор урокасбор урока
сбор урокаLIANA180
 
Matlab: Вычисление предела
Matlab: Вычисление пределаMatlab: Вычисление предела
Matlab: Вычисление пределаDmitry Bulgakov
 

What's hot (20)

4.4 Таблица виртуальных методов
4.4 Таблица виртуальных методов4.4 Таблица виртуальных методов
4.4 Таблица виртуальных методов
 
3.2 Методы
3.2 Методы3.2 Методы
3.2 Методы
 
модуль 03 строки
модуль 03 строкимодуль 03 строки
модуль 03 строки
 
презентации продолжение банкета
презентации продолжение банкетапрезентации продолжение банкета
презентации продолжение банкета
 
основы программирования на языке C
основы программирования на языке Cосновы программирования на языке C
основы программирования на языке C
 
2.2 Стек вызовов
2.2 Стек вызовов2.2 Стек вызовов
2.2 Стек вызовов
 
способы задания функций
способы задания функцийспособы задания функций
способы задания функций
 
Cоставной
CоставнойCоставной
Cоставной
 
3.3 Конструкторы и деструкторы
3.3 Конструкторы и деструкторы3.3 Конструкторы и деструкторы
3.3 Конструкторы и деструкторы
 
Уравнение касательной
Уравнение касательнойУравнение касательной
Уравнение касательной
 
82
8282
82
 
8 3-3
8 3-38 3-3
8 3-3
 
Программирование линейных алгоритмов
Программирование линейных алгоритмовПрограммирование линейных алгоритмов
Программирование линейных алгоритмов
 
вывод алфавитно цифровой информации
вывод алфавитно цифровой информациивывод алфавитно цифровой информации
вывод алфавитно цифровой информации
 
алфавит
алфавиталфавит
алфавит
 
Программирование разветвляющихся алгоритмов
Программирование разветвляющихся алгоритмовПрограммирование разветвляющихся алгоритмов
Программирование разветвляющихся алгоритмов
 
8 3-5
8 3-58 3-5
8 3-5
 
Программирование циклических алгоритмов
Программирование циклических алгоритмовПрограммирование циклических алгоритмов
Программирование циклических алгоритмов
 
сбор урока
сбор урокасбор урока
сбор урока
 
Matlab: Вычисление предела
Matlab: Вычисление пределаMatlab: Вычисление предела
Matlab: Вычисление предела
 

Viewers also liked

урок№13 паскаль
урок№13 паскальурок№13 паскаль
урок№13 паскальuchitel18
 
урок№1 паскаль
урок№1 паскальурок№1 паскаль
урок№1 паскальuchitel18
 
Поняття Програми. Мови програмування.
Поняття Програми. Мови програмування.Поняття Програми. Мови програмування.
Поняття Програми. Мови програмування.Anatolii Barannik
 
Cтворення сайту в системі Ucoz
Cтворення сайту в системі UcozCтворення сайту в системі Ucoz
Cтворення сайту в системі UcozAnatolii Barannik
 
метод проектів на уроках математики
метод проектів на уроках математикиметод проектів на уроках математики
метод проектів на уроках математикиІван Кузбит
 
мови програмування 8
мови програмування 8мови програмування 8
мови програмування 8Юра Гасіч
 

Viewers also liked (11)

урок№13 паскаль
урок№13 паскальурок№13 паскаль
урок№13 паскаль
 
Вирази
ВиразиВирази
Вирази
 
урок№1 паскаль
урок№1 паскальурок№1 паскаль
урок№1 паскаль
 
Csharp04
Csharp04Csharp04
Csharp04
 
Лекція 2 - C#
Лекція 2 - C#Лекція 2 - C#
Лекція 2 - C#
 
Лекція3
Лекція3Лекція3
Лекція3
 
Поняття Програми. Мови програмування.
Поняття Програми. Мови програмування.Поняття Програми. Мови програмування.
Поняття Програми. Мови програмування.
 
Cтворення сайту в системі Ucoz
Cтворення сайту в системі UcozCтворення сайту в системі Ucoz
Cтворення сайту в системі Ucoz
 
метод проектів на уроках математики
метод проектів на уроках математикиметод проектів на уроках математики
метод проектів на уроках математики
 
C#- Лекція 1
C#- Лекція 1C#- Лекція 1
C#- Лекція 1
 
мови програмування 8
мови програмування 8мови програмування 8
мови програмування 8
 

Similar to 08 set

массивы.строки
массивы.строкимассивы.строки
массивы.строкиdasha2012
 
Дополнительные возможности Javascript
Дополнительные возможности JavascriptДополнительные возможности Javascript
Дополнительные возможности JavascriptDenis Latushkin
 
Cpp/cli particularities
Cpp/cli particularitiesCpp/cli particularities
Cpp/cli particularitiesmcroitor
 
задания с олейник
задания с олейникзадания с олейник
задания с олейникguest1a21938
 
Массивы в Java
Массивы в JavaМассивы в Java
Массивы в Javametaform
 
Встреча №9. Алгоритмы и коллекции стандартных библиотек C++, C#, Java, Object...
Встреча №9. Алгоритмы и коллекции стандартных библиотек C++, C#, Java, Object...Встреча №9. Алгоритмы и коллекции стандартных библиотек C++, C#, Java, Object...
Встреча №9. Алгоритмы и коллекции стандартных библиотек C++, C#, Java, Object...CocoaHeads
 
Школа-студия разработки приложений для iOS. Лекция 1. Objective-C
Школа-студия разработки приложений для iOS. Лекция 1. Objective-CШкола-студия разработки приложений для iOS. Лекция 1. Objective-C
Школа-студия разработки приложений для iOS. Лекция 1. Objective-CГлеб Тарасов
 
Лекция 1 часть 3 декартово произв
Лекция 1 часть 3 декартово произвЛекция 1 часть 3 декартово произв
Лекция 1 часть 3 декартово произвИрина Гусева
 
AlgoCollections (RUS)
AlgoCollections (RUS)AlgoCollections (RUS)
AlgoCollections (RUS)Anton Bukov
 
OOP in JavaScript - Presentation by Eugene Kalosha
OOP in JavaScript - Presentation by Eugene KaloshaOOP in JavaScript - Presentation by Eugene Kalosha
OOP in JavaScript - Presentation by Eugene KaloshaRostyslav Siryk
 
Вторая лекция по основам ruby для студентов itc73.ru
Вторая лекция по основам ruby для студентов itc73.ruВторая лекция по основам ruby для студентов itc73.ru
Вторая лекция по основам ruby для студентов itc73.ruAlexander Shcherbinin
 
лабораторная работа №2
лабораторная работа №2лабораторная работа №2
лабораторная работа №2Zhanna Kazakova
 
JavaScript. Basics (in russian)
JavaScript. Basics (in russian)JavaScript. Basics (in russian)
JavaScript. Basics (in russian)Mikhail Davydov
 
Ob pr simv
Ob pr simvOb pr simv
Ob pr simvMou Sk
 
291 цикл уроков на тему массивы
291 цикл уроков на тему  массивы291 цикл уроков на тему  массивы
291 цикл уроков на тему массивыsany0507
 
паскаль. часть1
паскаль. часть1паскаль. часть1
паскаль. часть1igorm9so
 

Similar to 08 set (20)

массивы.строки
массивы.строкимассивы.строки
массивы.строки
 
Дополнительные возможности Javascript
Дополнительные возможности JavascriptДополнительные возможности Javascript
Дополнительные возможности Javascript
 
одномерные массивы
одномерные массивыодномерные массивы
одномерные массивы
 
Cpp/cli particularities
Cpp/cli particularitiesCpp/cli particularities
Cpp/cli particularities
 
задания с олейник
задания с олейникзадания с олейник
задания с олейник
 
Массивы в Java
Массивы в JavaМассивы в Java
Массивы в Java
 
Встреча №9. Алгоритмы и коллекции стандартных библиотек C++, C#, Java, Object...
Встреча №9. Алгоритмы и коллекции стандартных библиотек C++, C#, Java, Object...Встреча №9. Алгоритмы и коллекции стандартных библиотек C++, C#, Java, Object...
Встреча №9. Алгоритмы и коллекции стандартных библиотек C++, C#, Java, Object...
 
Школа-студия разработки приложений для iOS. Лекция 1. Objective-C
Школа-студия разработки приложений для iOS. Лекция 1. Objective-CШкола-студия разработки приложений для iOS. Лекция 1. Objective-C
Школа-студия разработки приложений для iOS. Лекция 1. Objective-C
 
ООП_лекция_11
ООП_лекция_11ООП_лекция_11
ООП_лекция_11
 
Лекция 1 часть 3 декартово произв
Лекция 1 часть 3 декартово произвЛекция 1 часть 3 декартово произв
Лекция 1 часть 3 декартово произв
 
msumobi2. Лекция 1
msumobi2. Лекция 1msumobi2. Лекция 1
msumobi2. Лекция 1
 
AlgoCollections (RUS)
AlgoCollections (RUS)AlgoCollections (RUS)
AlgoCollections (RUS)
 
OOP in JavaScript - Presentation by Eugene Kalosha
OOP in JavaScript - Presentation by Eugene KaloshaOOP in JavaScript - Presentation by Eugene Kalosha
OOP in JavaScript - Presentation by Eugene Kalosha
 
Uproshhenie vyrazhenij 5_klass_2
Uproshhenie vyrazhenij 5_klass_2Uproshhenie vyrazhenij 5_klass_2
Uproshhenie vyrazhenij 5_klass_2
 
Вторая лекция по основам ruby для студентов itc73.ru
Вторая лекция по основам ruby для студентов itc73.ruВторая лекция по основам ruby для студентов itc73.ru
Вторая лекция по основам ruby для студентов itc73.ru
 
лабораторная работа №2
лабораторная работа №2лабораторная работа №2
лабораторная работа №2
 
JavaScript. Basics (in russian)
JavaScript. Basics (in russian)JavaScript. Basics (in russian)
JavaScript. Basics (in russian)
 
Ob pr simv
Ob pr simvOb pr simv
Ob pr simv
 
291 цикл уроков на тему массивы
291 цикл уроков на тему  массивы291 цикл уроков на тему  массивы
291 цикл уроков на тему массивы
 
паскаль. часть1
паскаль. часть1паскаль. часть1
паскаль. часть1
 

More from pogromskaya

електронні матеріали
електронні матеріалиелектронні матеріали
електронні матеріалиpogromskaya
 
Проектування реляційних БД
Проектування реляційних БДПроектування реляційних БД
Проектування реляційних БДpogromskaya
 
Моделі даних в БД. ER-діаграми
Моделі даних в БД. ER-діаграмиМоделі даних в БД. ER-діаграми
Моделі даних в БД. ER-діаграмиpogromskaya
 
Реляційна модель БД
Реляційна модель БДРеляційна модель БД
Реляційна модель БДpogromskaya
 
інтегровані уроки
інтегровані урокиінтегровані уроки
інтегровані урокиpogromskaya
 
Розгортання
РозгортанняРозгортання
Розгортанняpogromskaya
 
Прецедентів
ПрецедентівПрецедентів
Прецедентівpogromskaya
 
Компонентів
КомпонентівКомпонентів
Компонентівpogromskaya
 
Діяльності
ДіяльностіДіяльності
Діяльностіpogromskaya
 
Взаємодії
ВзаємодіїВзаємодії
Взаємодіїpogromskaya
 
Введення Uml
Введення UmlВведення Uml
Введення Umlpogromskaya
 

More from pogromskaya (20)

електронні матеріали
електронні матеріалиелектронні матеріали
електронні матеріали
 
Проектування реляційних БД
Проектування реляційних БДПроектування реляційних БД
Проектування реляційних БД
 
Моделі даних в БД. ER-діаграми
Моделі даних в БД. ER-діаграмиМоделі даних в БД. ER-діаграми
Моделі даних в БД. ER-діаграми
 
Реляційна модель БД
Реляційна модель БДРеляційна модель БД
Реляційна модель БД
 
САПР_СALS
САПР_СALSСАПР_СALS
САПР_СALS
 
інтегровані уроки
інтегровані урокиінтегровані уроки
інтегровані уроки
 
ікт
іктікт
ікт
 
сапр
сапрсапр
сапр
 
Розгортання
РозгортанняРозгортання
Розгортання
 
Прецедентів
ПрецедентівПрецедентів
Прецедентів
 
Компонентів
КомпонентівКомпонентів
Компонентів
 
Діяльності
ДіяльностіДіяльності
Діяльності
 
Взаємодії
ВзаємодіїВзаємодії
Взаємодії
 
Станів
СтанівСтанів
Станів
 
Введення Uml
Введення UmlВведення Uml
Введення Uml
 
Класів
КласівКласів
Класів
 
MW
MWMW
MW
 
C-S
C-SC-S
C-S
 
ппс
ппсппс
ппс
 
ПВПС
ПВПСПВПС
ПВПС
 

08 set

  • 1. «Програмування із Delphi. застосуванням множин»
  • 2. «Программирование с использованием множеств» План темы: 1. Понятие множества и его назначение в программировании. 2. Описание множеств в программе. 3. Операции над множествами. 4. Примеры программирования с использованием множеств.
  • 3. •Множество – это структурированный тип данных, состоящий из неупорядоченного набора различных однотипных элементов. •Элементами множества могут быть данные типов char (символ) или byte (целое число от 0 до 255). •Максимальное количество элементов в множестве равно 256. •В программировании множества упрощают запись сложных условий.
  • 4. •Для определения переменных типа множество используется следующий формат: <Имя переменной>: set of <тип>; • Примеры: Var m1: set of char; m2: set of byte; m3: set of (‘a’..’z’); m4: set of (1,3,5,7,9);
  • 5. • Формирование множества. Примеры: //Множество всех русских букв: m1:=[‘а’..’я’]+[‘A’..’Я’]; //Множество прописных гласных русских букв: m1:=[‘а’,’о’,’э’,’у’,’е’,’ё’,’ы’,’и’,’ю’,’я’]; //Пустое множество: m2:=[]; //Множество четных чисел: for i:=0 to 127 do m2:=m2+[2*i];
  • 6. • Добавление элемента в множество. Примеры: Include(m1,’i’); //или то же самое: m1:=m1+[‘i’]; • Удаление элемента из множества. Примеры: Exclude(m2,0); //или то же самое: m2:=m2-[0];
  • 7. • Объединение множеств (C:=A+B) - множество C состоит из элементов, входящих или в A или в B. Пример: A:=[0,1,3]; B:=[2..5]; C:=A+B; //множество C будет равно [0..5]. • Разность множеств (C:=A-B) - множество C состоит из элементов множества A, не входящих в множество B. Пример: A:=[0..5]; B:=[2,4,6]; C:=A-B; //множество C будет равно [0,1,3,5].
  • 8. • Пересечение множеств (C:=A*B) - множество C состоит из элементов, одновременно входящих в A и в B. Пример: A:=[0..3]; B:=[2..5]; C:=A*B; //множество C будет равно [2,3]. • Проверка равенства множеств (A=B) - результат равен TRUE, если множества A и B состоят из одних и тех же элементов. Пример: A:=[5,3,1]; B:=[1,5,3]; If A=B then …; //результат проверки TRUE.
  • 9. • Проверка неравенства множеств (A<>B) - результат равен TRUE, если множества A и B состоят из различных элементов. Пример: A:=[0,1,3]; B:=[0,1]; If A<>B then… // результат проверки TRUE. • Проверка подмножества (A<=B) - результат равен TRUE, если все элементы множества A являются элементами множества B. Пример: A:=[5,3,1]; B:=[1,5,3,7]; If A<=B then …; //результат проверки TRUE.
  • 10. • Проверка надмножества (A>=B) - результат равен TRUE, если все элементы множества B являются элементами множества A. Пример: A:=[0,1,3]; B:=[0,1]; If A>=B then… // результат проверки TRUE. • Проверка принадлежности (x in A) - результат равен TRUE, если элемент x входит в множество A. Пример: A:=[5,3,1]; x:=3; If x in A then …; //результат проверки TRUE.
  • 11. 1. Задана строка текста на русском языке. Выписать все гласные буквы (прописными, в алфавитном порядке, не повторяясь), которые входят в данный текст. var s1,s2: string; m1,m2: set of char; i: integer; c: char; Begin {…Ввод строки s1} s1:=AnsiLowerCase(s1); m1 := [‘а’,’о’,’э’,’у’,’е’,’ё’,’ы’,’и’,’ю’,’я’]; s2:=‘’; m2:=[]; For i := 1 to length(s1) do If s1[i] in m1 then Include(m2,s1[i]); For c:=‘а’ to ‘я’ do If c in m2 then s2:=s2+c; {…Вывод s2} End.
  • 12. 2. Заданы массивы A и B целых чисел со значением элементов от 0 до 255. Построить массив C, состоящий из тех чисел, которые есть и в A и в B. var A,B,C:array[1..256] of Byte; mA,mB,mC: set of Byte; i,j,n,m: Integer; Begin {…Ввод n,m,A,B. n – кол-во эл. в A, m – в кол-во эл. в B.} mA:=[]; mB:=[]; mC:=[]; For i := 1 to n do Include(mA, A[i]); For i := 1 to m do Include(mB, B[i]); mC:=mA*mB; j:=0; For i:=0 to 255 do If i in mC then begin j:=j+1; C[j]:=i; end; {…Вывод С.} End.