| 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;
| |