«Программирование с использованием множеств» Delphi. Тема 8:

Презентация:



Advertisements
Похожие презентации
Для добавления текста щелкните мышью Структурированные типы данных. Множества 11 класс.
Advertisements

Множества. Множество- ограниченный, неупорядоченный набор различных элементов одного типа. Примеры множеств: Множество арабских цифр. Множество знаков.
Множественный тип данных А+В А*В. Множество - конечная совокупность элементов, принадлежащих некоторому базовому типу. Базовый тип –перечислимые типы.
Тема: Множества.. Множество – совокупность однотипных элементов, рассматриваемых как единое целое. Примеры множеств: [ 3, 4, 7, 9, 12] [ ] [ a,
Множества Выход Множества. Описание типа множество. Множество – это структурированный тип данных, представляющий собой набор взаимосвязанных по какому-либо.
Множественный тип данных Множество в языке Паскаль – это ограниченный набор различных элементов одного (базового) типа, которые рассматриваются как единое.
Множества. Внутреннее представление.. Механизм внутреннего представления Каждое значение базового типа представляется одним битом. В память заносится.
Тип данных множества. Множества ограниченный упорядочный набор различных элементов одного базового типа. Базовый тип – совокупность всех возможных элементов.
МНОЖЕСТВА. ОПРЕДЕЛЕНИЕ Множество – это набор однотипных объектов. Характер связей между объектами подразумевается программистом и никак не контролируется.
Множества PASCAL. Примеры объявления: 1 способ2 способ Type MN1=set of char; MN2=set of byte; MN3=set of 0..9; MN4=set of 0..9; MN5=set of K..R; MN6=set.
Структурированные типы в Pascal Pascal Структурированные типы данных в Pascal характеризуются множественностью образующих тип элементов. К этим типам относятся.
Статичні структури даних.. 2 Статические данные переменная (массив) имеет имя, по которому к ней можно обращаться размер заранее известен (задается при.
Массивы Структура типов данных типы простые структурированные 1.Целые (integer, longint) 2.Вещественные (real) 3.Логические (boolean) 4.Символьные (string,
Программирование на языке Паскаль Массивы. Определение массива Многие задачи, которые решаются с помощью ЭВМ, связаны с обработкой массивов. Массив -
Множественный тип данных. Представление множеств. Операции над множествами.
A[1,1]A[1,2]A[1,3]A[1,4]A[1,5] A[2,1]A[2,2]A[2,3]A[2,4]A[2,5] A[3,1]A[3,2]A[3,3]A[3,4]A[3,5] A[4,1]A[4,2]A[4,3]A[4,4]A[4,5] Двумерный массив можно представить.
Структурные типы данных. Примеры: Строка текста Классный журнал Таблица результатов соревнований Таблица Пифагора ? (ваши примеры)
Задача Разбить предложение по словам. В предложении могут быть знаки «.», «!», «?» и «,»
Шутилина Л.А., A[1,1]A[1,2]A[1,3]A[1,4]A[1,5] A[2,1]A[2,2]A[2,3]A[2,4]A[2,5] A[3,1]A[3,2]A[3,3]A[3,4]A[3,5] A[4,1]A[4,2]A[4,3]A[4,4]A[4,5]
Система типов данных в языке Паскаль Перечисляемый тип, тип- диапазон, множество.
Транксрипт:

«Программирование с использованием множеств» Delphi. Тема 8:

«Программирование с использованием множеств» План темы: 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.

Проверка неравенства множеств (AB) - результат равен TRUE, если множества A и B состоят из различных элементов. Пример: A:=[0,1,3]; B:=[0,1]; If AB then… // результат проверки TRUE. Проверка подмножества (A

Проверка надмножества (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.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.