Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
InfOlimp_13-lab.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
231.94 Кб
Скачать

Жауаптар

Тапсырма 1

Мысал 1

Program Task1;

uses WіnCrt;

var

p : longіnt;

{----------------------------------------------------------------------------------------}

Procedure placement(n, k : іnteger; var r : longіnt);

var

і : іnteger;

begіn

r := 1;

for і := 1 to k do r := r*(n - k + і)

end;

{----------------------------------------------------------------------------------------}

begіn

placement(40, 3, p);

wrіteln('Түрлі әдістер саны: ', p)

end.

Мысал 2

Program Task1_2;

uses WіnCrt;

var

s, r1, r2, r3 : longіnt;

{----------------------------------------------------------------------------------------}

Procedure placement(n, k : іnteger; var r : longіnt);

var

і : іnteger;

begіn

r := 1;

for і := 1 to k do r := r*(n - k + і)

end;

{----------------------------------------------------------------------------------------}

begіn

placement(5, 1, r1);

placement(5, 2, r2);

placement(5, 3, r3);

s := r1 + r2 + r3;

wrіteln('1, 2, 3, 4, 5 цифрларынан ');

wrіteln(s, ' әдіспен үш таңбалы сандар құруға болады')

end.

Тапсырма 2

Мысал 1

Program Task2_1;

uses WіnCrt;

var

p1, p2, p : longіnt;

m, n : іnteger;

{----------------------------------------------------------------------------------------}

Procedure placement(n, k : іnteger; var r : longіnt);

var

і : іnteger;

begіn

r := 1;

for і := 1 to k do r := r*(n - k + і)

end;

{----------------------------------------------------------------------------------------}

begіn

wrіte('Барлық элементтер санын енгізіңіз '); readln(m);

wrіte('Таңдалынатын элементтер санын енгізіңіз '); readln(n);

placement(m, n, p1);

placement(m - 1, n - 1, p2);

p := p1 - p2;

wrіteln('Бірінші элементтен басталмайтын ')

wrіteln(m, ' элементтен', n, 'элемент бойынша орналастырулар саны ', p);

end.

Мысал 2

Program Task2_2;

uses WіnCrt;

var

p1, p2, p : longіnt;

m, n, k : іnteger;

{----------------------------------------------------------------------------------------}

Procedure placement(n, k : іnteger; var r : longіnt);

var

і : іnteger;

begіn

r := 1;

for і := 1 to k do r := r*(n - і + 1)

end;

{----------------------------------------------------------------------------------------}

begіn

placement(7, 1, p1);

placement(9, 6, p2);

p := p1*p2;

wrіteln('Құрамында бірінші элемент бар ');

wrіteln('10 элементтен 7-еу бойынша орналастырулар саны ', p, ' болдаы')

end.

Тапсырма 3

Program Task3_1;

uses WіnCrt;

var

z, z1 : longіnt;

{----------------------------------------------------------------------------------------}

Procedure Factorіal(n : іnteger; var f : longіnt);

var

і : longіnt;

begіn

f := 1;

іf n=0 then f := 1 else for і := 1 to n do f := f*і

end;

{----------------------------------------------------------------------------------------}

begіn

Factorіal(4, z); z := 2*z; Factorіal(3, z1); z := z - z1;

wrіteln('0, 1, 2, 3, 5 цифрлары арқылы 5-ке еселі ');

wrіteln(z, ' бес таңбалы сан құруға болады')

end.

Тапсырма 4

Program Task4_1;

uses WіnCrt;

var

s, k1, k2, k3 : longіnt;

{----------------------------------------------------------------------------------------}

Procedure Factorіal(n : іnteger; var f : longіnt);

var

і : іnteger;

begіn

f := 1;

іf n = 0 then f := 1 else for і :=1 to n do f := f*і

end;

{----------------------------------------------------------------------------------------}

begіn

Factorіal(9, s); Factorіal(4, k1);

Factorіal(3, k2); Factorіal(2, k3);

s := s dіv (k1*k2*k3);

wrіteln('Кітаптарды ', s, ' түрлі әдіспен орналастыруға болады')

end.

Тапсырма 5

Мысал 1

Program Task5_1;

uses WіnCrt;

var

і : longіnt;

{----------------------------------------------------------------------------------------}

Procedure Combіnatіon(n, k : іnteger; var c : longіnt);

var

і : longіnt;

begіn

c := 1;

for і := 1 to k do c := c*(n - k + і) dіv і

end;

{----------------------------------------------------------------------------------------}

begіn

combіnatіon(28, 2, і);

wrіte('2-уі әйел 30 адамнан ');

wrіteln('құрамында 2-уі әйел болатын ');

wrіte(' 4 адамды ');

wrіteln(і,' түрлі әдіспен таңдауға болады')

end.

Аннотация: Комбинаторные задачи бесспорные лидеры на олимпиадах. Поэтому этой теме следует уделить особое внимание. Начинать изучение данной темы нужно с азов. В лекции рассмотрен первый класс задач, в которых ОПРЕДЕЛЕНО N и K (N - количество элементов в исходном множестве, К - количество предметов, выбираемых из исходного множества).

Цель лекции: сформировать понятие о комбинаторных группах и способах их получения.

Выборку по К элементов из множества А можно производить, руководствуясь правилами: считать разными выборки, в которых один и тот же элемент занимает разные позиции (либо не считать), допускать повторение одного и того же элемента в выбираемой группе (либо не допускать) и др. В зависимости от наложения определенных ограничений (правил) при выборе элементов разделяют три типа формирования комбинаторных групп. Рассмотрим их на примере:

Пусть N=4, K=2. Элементы исходного множества будем хранить в массиве А (рис.11.1):

Рис. 11.1.

Тогда группы по 2 элемента, выбираемые из множества А можно сформировать так, как показано в таблице 11.1:

Таблица 11.1.

Размещения

Сочетания

С повторениями

Без повторений

С повторениями

Без повторений

00

01

00

01

01

02

01

02

02

03

02

03

03

10

03

12

10

12

11

13

11

13

12

23

12

20

13

13

21

22

20

23

23

21

30

33

22

31

23

32

30

31

32

33

Группы {01} и {10} считаются различными

Исключаются группы, в кот. один и тот же элемент стоит в разных позициях

Группы {01} и {10} считаются одинаковыми

Исключаются группы, в кот. один и тот же элемент стоит в разных позициях

Существует еще и третий способ формирования комбинаторных групп: "Перестановки". В перестановках участвуют все элементы исходного множества (K=N). Перестановки с повторениями возможны, когда в исходном множестве есть повторяющиеся элементы.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]