Delphi. Pascal
Материалы
Урок 7. Множества и записи
Множества
Тип множества | Описание множества | Пример |
Постоянное множество (константа) | [ тип-элемента ] | const a = [ 0..100 ]; |
Переменное множество (переменная) | set of [ тип-элемента ] | var a: set of [ '0'..'9', '+', '-' ]; |
Пример описания постоянного множества | Элементы множества |
const A = [ 'A'..'Z', 'a'..'z' ]; | Буквы латинского алфавита |
const B = [ 'a'..'z' ]; | Малые буквы латинского алфавита |
const C = [ 'А'..'Я', 'а'..'п', 'р'..'я', 'Ё', 'ё' ]; | Буквы алфавита-кириллицы |
const D = [ 'А'..'Я' ]; | Большие буквы алфавита-кириллицы |
const M = [ '0'..'9' ]; | Цифровые символы от 0 до 9 |
const N = [ 0..100 ]; | Целые числа от 0 до 100 |
Пример описания переменного множества | Элементы множества |
var a set of [ 'A'..'Z', 'a'..'z' ]; | Буквы латинского алфавита |
var b set of [ 'a'..'z' ]; | Малые буквы латинского алфавита |
var c set of [ 'А'..'Я', 'а'..'п', 'р'..'я', 'Ё', 'ё' ]; | Буквы алфавита-кириллицы |
var d set of [ 'А'..'Я' ]; | Большие буквы алфавита-кириллицы |
var m set of [ '0'..'9' ]; | Цифровые символы от 0 до 9 |
var n set of [ 0..100 ]; | Целые числа от 0 до 100 |
Операция | Результат операции | Пример |
М1 + М2 | Объединение множеств М1 и М2 | ['0'..'9'] + ['+'] |
М1 - М2 | Разность множеств М1 и М2 | ['a'..'z'] - ['x'..'z'] |
М1 * М2 | Пересечение множеств М1 и М2 | ['a'..'m'] * ['c', 'i', 'n'] |
Операция | Когда результат операции равен true | Пример |
значение in множество | Значение является элементом множества | not (s[i] in ['a'..'z']) |
М1 = М2 | Множества М1 и М2 равны между собой | |
М1 <> М2 | Множества М1 и М2 не равны | |
М1 < М2 | Множество М1 является подмножеством множества М2 | |
М1 <= М2 | Множество М1 является подмножеством множества М2 или равно М2 | |
М1 > М2 | Множество М1 является надмножеством множества М2 | |
М1 >= М2 | Множество М1 является надмножеством множества М2 или равно М2 | |
type
Color = (Red, Green, Yellow, Blue, Black);
Colors = set of Color;
var
c1, c2, res: Colors; //Переменная c типа Colors
Colors = set of Color;
var
c1, c2, res: Colors; //Переменные типа Colors
Объединение
c1:=[Red, Green, Yellow];
c2:=[Green, Blue];
//Теперь множество res состоит
//из элементов Red, Green, Yellow и Blue
res:=c1 + c2;
Пересечение
c1:=[Red, Green, Yellow];
c2:=[Green, Blue];
//Теперь множество res состоит
//из элемента Green
res:=c1 * c2;
Разность
c1:=[Red, Green, Yellow];
c2:=[Green, Blue];
//Теперь множество res состоит
//из элементов Red и Yellow
res:=c1 - c2;
Операторы > < >= <= ...
c1:=[Red, Green, Yellow];
c2:=[Green, Red];
if c1>=c2 then
//c1 есть подмножество c2
Writeln('c1 is a subset of c2')
else
//c1 не есть подмножество c2
Writeln('c1 is not a subset of c2');
Оператор in
c1:=[Red, Green, Yellow];
if Red in c1 then
//Элемент Red принадлежит множеству c1
...
else
//Элемент Red не принадлежит множеству c1
...
Типы и записи
Описание типа записи | Пример |
имя типа = record | type data = record |
имя-1: тип-1; | x:integer; |
имя-2: тип-2; | y:integer; |
имя-N: тип-N; | t:string; |
end; | end; |
var a1, a2, a3: data; |
var
//Определяем переменную book как запись
book: Record
Title: String;
Author:String;
Pages: Integer;
end;
//Конец записи
...
//Задаем название
book.Title:='De machina computativa firmicis fundata.';
//Задаем автора
book.Author:='Osco do Casco';
//Задаем количество страниц
book.Pages:=212;