
IT ФЭЛ, кафедра МНЭ, 2 сем, Matlab / ЛР6 / Lab6
.docxМИНОБРНАУКИ РОССИИ
Санкт-Петербургский государственный
электротехнический университет
«ЛЭТИ» им. В.И. Ульянова (Ленина)
Кафедра микро- и наноэлектроники
отчет
по лабораторной работе
по дисциплине «Информационные технологии»
Тема: «Алгоритм генерирование подмножеств»
Студент гр. 1282 |
|
БОГДАН |
Преподаватель |
|
Фирсов Д. Д. |
Санкт-Петербург
2022
Задание 1.
Задача: Ввести с клавиатуры элементы массива размерности N (размерность так же задается пользователем вручную). Основываясь на алгоритме, представленном в блок-схеме на рисунке 1, составить код программы, реализующий алгоритм поиска генерирование подмножеств из заданного массива. В результате выполнения алгоритма, программа должна вывести все возможные подмножества из элементов заданного массива.
Ход работы:
n = input ('Введите количество элементов массива ');
disp (n);
for m=1:n
A(m)= input ('Введите элемент массива ');
end
disp (A);
k=2^n;
for i=1:k
fprintf '{';
for j=1:n
if bitand(i-1, bitshift(1,j-1))
fprintf('%d',A(j));
end
end
disp('}');
end
Листинг программы:
>> lab6
введите количество элементов массива 3
3
введите элемент массива 5
введите элемент массива 3
введите элемент массива 2
5 3 2
{}
{5}
{3}
{53}
{2}
{52}
{32}
{532}
Вывод: В ходе выполнения лабораторной работы был реализован алгоритм генерирования подмножеств. Результатом алгоритма стал вывод всех возможных подмножеств из элементов заданного массива.