Экономика және басқару институтының



бет12/21
Дата28.01.2018
өлшемі1,51 Mb.
#35109
1   ...   8   9   10   11   12   13   14   15   ...   21

Дәріс мазмұны



Операции, определенные над множествами:

1. Объединение, пересечение и разность множеств – эти операции обозначаются символами ‘+’, ‘*’, ‘-’ соответственно и обозначают традиционные действия, принятые над множествами в математике:



- объединение множеств (A+B);






- пересечение множеств (A*B);



- разность множеств (A-B);

Например:

[10]+[100, 1000] = [10, 100, 1000];

[5..10]+[15] = [5, 6, 7, 8, 9, 10, 15];

[1..5]*[3..10] = [3..5];

[-10..10] - [-15..5] = [5..10].



2. Проверка принадлежности элемента множеству(X in A) – булевская операция, результат которой true, если элемент X содержится в множестве A, false – если не содержится. X имеет тот же тип, что и элементы множества A.

Например:

100 in [10, 100, 1000] = true;

X in [1,2,10] = true, если X=1 или X=2 или X=10.



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

A = B – равенство множеств;

A <> B – неравенство множеств;

A <= B – множество A входит в множество B;

A >= B – множество B входит в множество A.

Например:



операция

результат

[1, 3, 5, 7] = [1, 3, 5]

false

[1, 2, 3] = [3, 1, 2]

true

[2, 6, 18, 56] >= [6, 18]

true

и т.д.
Пример программы с использованием множества

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



1-й вариант

var


M : set of char;

str : string;

c : char;

i,n : integer;

begin

M := []; {M – пустое множество}



n:=0; {переменная, считающая количество различных букв в строке}

writeln ( ‘ Введите строку ‘ );

readln ( str );

for i:=1 to length(str) do M := M + [str[i]]; {формирование множества, содержащего все буквы, входящие в строку}

for c := ‘A’ to ‘z’ do {Подсчет количества элементов

if (c in M) then n:=n+1; в множестве}

writeln ( ‘ Количество различных элементов в строке равно ‘,n);

end.


2-й вариант

var


M : set of char; str : string; c : char; i,n : integer;

begin


M := []; {M – пустое множество}

n:=0; {переменная, считающая количество различных букв в строке}

writeln ( ‘ Введите строку ‘ );

readln ( str );

for i:=1 to length(str) do

if not( str[i] in M) then

begin

M := M + [str[i]]; {формирование множества, содержащего все буквы, входящие в строку}



n:=n+1;

end;


writeln ( ‘ Количество различных элементов в строке равно ‘,n);

end.



Одномерные массивы


Массивы — это множество элементов, причем все элементы могут быть разнородными. В Perl нет понятия массива чисел или массива строк. Массив не может быть многомерным. Можно реализовать массив массивов и, таким образом, сделать массив двумерным. Массив обозначается символом "@" перед именем. Примеры массивов:

@a = (1,2,3);


@b = (4,5,6,2.5,"test");
@c = (@a,@b);
@in =
$q = $c[3]; # 4

Индексирование элементов массива начинается с цифры 0. Поэтому в нашем примере четвертый элемент массива с будет индексироваться как $c[4].


Ассоциативные массивы


Ассоциативные массивы — это двухколоночная таблица. Первая колонка — ключ, а вторая колонка — связанное с ним значение. Ассоциативные массивы называют еще хешированными таблицами или просто хешами. Дело в том, что значение можно извлечь из таблицы прямо, указав ключ. При этом используется алгоритм хеширования по ключу.

Для краткости будем называть ассоциативный массив хешем. Обозначается переменная типа хеш символом "%" перед именем. Примеры хешей и обращений к их элементам:

%a = ("test",1,"test2",2);
$c = $a{test}; # $c=1

В первом случае хеш инициируется как обычный массив. Во втором примере мы выбираем значение определенным ключом "test". Результат этой операции, скаляр, помещается в переменную $c.



Дәріс 25

: Тақырыбы: Модельдер құру технологиясы.

Мақсаты : Мод ельдер түсінігі және оның түрлері

[1] 210-2213 беттер

Дәріс мазмұны:



Достарыңызбен бөлісу:
1   ...   8   9   10   11   12   13   14   15   ...   21




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет