лаборатория занятия. разработка алгоритма и программы для анализа операций группирования

DOCX 9 стр. 51,3 КБ Бесплатная загрузка

Предварительный просмотр (5 стр.)

Прокрутите вниз 👇
1 / 9
3-лабораторная занятия. разработка алгоритма и программы для анализа операция группирование. цель работы: приобрести навыки работы с комбинаториками группирования. 2.1. используемый теоретический материал 2.1.2. размещения с повторениями определение: пусть даны n различных видов предметов, которые можно разместить по k различным местам, причем выбирать предметы можно с повторениями (т.е. можно выбрать несколько предметов одного вида). такие выборки называются размещениями с повторениями, а их количество вычисляется по формуле: . 2.1.3. сочетания с повторениями определение: сочетания, содержащие m элементов, в которых любой элемент может присутствовать некоторое число раз, не превосходящее m, называются сочетаниями из n элементов по m с повторениями. подсчет числа сочетаний с повторениями осуществляется по формуле: . . 2.2. примеры решения задачи с повторением. рассмотрим (n,r)-выборки, т.е. выборки r элементов из n-элементного множества. упорядоченная (n,r)-выборка называется размещением из n по r, неупорядоченная – сочетанием из n по r. естественно, что при одних и тех же из n и r размещений больше, чем …
2 / 9
r do begin write(b[(k mod n)+1]:1); k:=k div n; end; write(' '); end; writeln; end. здесь массив b – множество целых чисел, но он может быть и множеством действительных, булевых, символьных, буквенных и т.д. переменных. каждый элемент множества b и сам может быть массивом, множеством, страницей текста и т.д. как видно, в программе razmp2 по сравнению с программой razmp добавился только ввод массива b и изменился вывод размещений. программу нетрудно дописать так, чтобы она выводила не все размещений с повторениями, а те из них, которые обладают определенными свойствами. надо определить, к примеру, размещения с повторениями, сумма значений на позициях у которых равна (больше, меньше) определенного числа. для программа, выводящая размещения с повторениями с суммой значений на позициях, равной восьми, имеет вид: program razmp3; const n=5; r=3; var i,j,a,k,s,p:integer; begin a:=n; for i:=2 to r do a:=a*n; for i:=1 to a do begin k:=i-1;s:=0; for j:=1 to r do begin s:=s+(k …
3 / 9
быть корректными, т.е. не должно оказаться, что таких выборок не существует. например, нет таких (5,3)-размещений с повторениями, сумма значений на позициях в которых больше пятнадцати. на примере (5,3)-размещений с повторениями рассмотрим задачу пересчета. следующая программа определяет, сколько существует таких выборок, что сумма значений на позициях в выборке равна восьми. program razmp3; const n=5; r=3; var i,j,a,k,s,p:integer; begin p:=0;a:=n; for i:=2 to r do a:=a*n; for i:=1 to a do begin k:=i-1;s:=0; for j:=1 to r do begin s:=s+(k mod n)+1; k:=k div n; end; if s=8 then p:=p+1; end; writeln('p=',p:8); end. здесь s–сумма значений на позициях, а p–число размещений, удовлетворяющих заданному условию. все условия, которые можно задать с помощью производящей функции, можно задать и программах, но не наоборот. энумераторы и денумераторы (производящии функции) позволяют только учесть любую корректную комбинацию условий, относящихся к наличию или отсутствию элементов множества в выборках. таким образом, условия, например, на сумму значений на позициях в выборке …
4 / 9
первой позиции в сочетании не больше (n-r-1)-r+1=n, т.е. элементы дублирования из увеличенного множества на первой позиции никогда не окажутся. на второй позиции может оказаться первый элемент дублирования, равный (n+1). на третьей позиции в сочетании могут оказаться уже два элемента дублирования, равные (n+1) или (n+2). на последней позиции может оказаться любой их элементов дублирования.если на первой позиции в сочетании число, а на всех остальных позициях элементы дублирования, то сочетание состоит из r одинаковых значений, равных значению на первой позиции в сочетании. программа sochp осуществляет перечисление всех (n,r)-сочетаний c повторениями: program sochp; const n=5; r=3; var i,j,l,c,f:integer; m:array[1..(n+r-1)] of integer; mp:array[1..r] of integer; begin c:=r+1; for i:=r+2 to n+r-1 do c:=c*i; f:=1;for i:=2 to n-1 do f:=f*i;c:=c div f; for i:=1 to n+r-1 do begin m[i]:=i; if i n then mp[j]:=mp[m[j]-n];write(mp[j]:1); end; write(' '); end; writeln; end. можно предложить алгоритм, основанный на способе получения формулы = здесь каждому (n,r)-сочетанию с повторениями ставится …
5 / 9
длины (n+r-1). для вышеприведенных примеров для двоичного вектора 1001101 (7,3)-сочетание без повторений будет {2,3,6}, а для 01111000 – {1,6,7}. значит программа должна переводить {2,3,6} в {2,2,4}, а {1,6,6} – в {1,5,5}. программа sochp1 переводит ((n+r-1),r)-сочетание без повторений в (n,r)-сочетание с повторениями. program sochp1; const n=5; r=3; var i,j,l,c,f:integer; m:array[1..r] of integer; begin c:=r+1; for i:=r+2 to n+r-1 do c:=c*i; f:=1;for i:=2 to n-1 do f:=f*i;c:=c div f; for i:=1 to n do begin m[i]:=i; if i 1. перестановка, обладающая указанным свойством, называется беспорядком. для того чтобы получить все беспорядки, надо в подпрограмму per вместо блока вывода на дисплей for j:=1 to r f do write (m1[r-j+1]:1); write(' '); вставить другой блок вывода на дисплей: g:=0; for j:=1 to r do if m1[r-j+1]=r-j+1 then g:=1; if g=0 then begin for j:=1 to r f do write (m1[r-j+1]:1); write(' '); end; таким образом мы получили перечисление всех беспорядков. аналогично можно устроить и …

Хотите читать дальше?

Скачайте все 9 страниц бесплатно через Telegram.

Скачать полный файл

О "лаборатория занятия. разработка алгоритма и программы для анализа операций группирования"

3-лабораторная занятия. разработка алгоритма и программы для анализа операция группирование. цель работы: приобрести навыки работы с комбинаториками группирования. 2.1. используемый теоретический материал 2.1.2. размещения с повторениями определение: пусть даны n различных видов предметов, которые можно разместить по k различным местам, причем выбирать предметы можно с повторениями (т.е. можно выбрать несколько предметов одного вида). такие выборки называются размещениями с повторениями, а их количество вычисляется по формуле: . 2.1.3. сочетания с повторениями определение: сочетания, содержащие m элементов, в которых любой элемент может присутствовать некоторое число раз, не превосходящее m, называются сочетаниями из n элементов по m с повторениями. подсчет числа сочетаний с повторениями о...

Этот файл содержит 9 стр. в формате DOCX (51,3 КБ). Чтобы скачать "лаборатория занятия. разработка алгоритма и программы для анализа операций группирования", нажмите кнопку Telegram слева.

Теги: лаборатория занятия. разработка… DOCX 9 стр. Бесплатная загрузка Telegram