Преобразование матриц
Рефераты >> Программирование и компьютеры >> Преобразование матриц

Исходный массив из 8 элементов расположен по вертикали, и сортировка осуществляется по возрастанию значений его элементов. На первом проходе наверх на первую позицию «всплывает» самый «лёгкий» (наименьший) элемент (6) – «пузырёк», а все остальные «тонут», на втором проходе – «всплывают» уже два элемента: 12 – на вторую позицию и 18 – на пятую и т.д. отсортированные элементы массива отделены от не отсортированных чертой. На четвёртом проходе массив оказывается уже от сортированным, однако, если в алгоритме не предусмотреть специальных мер, будут выполнены оставшиеся 3 прохода, являющиеся холостыми.

На рис.8 приведён алгоритм сортировки массива Bиз nэлементов по возрастанию методом «пузырька». Для исключения холостых проходов в этот алгоритм вводится «флаг» - ячейка Ф (рис.9). В начале каждого прохода «флаг» сбрасывается Ф=0 (блок 3). Если в процессе прохождения будет хотя бы одна перестановка, то флаг поднимается Ф=1 (блок 7), разрешая переход к следующему проходу (блок 8). Если в процессе очередного прохода не будет ни одной перестановки, то флаг останется опущенным, и в блоке 8 управление будет передано на окончание сортировки. Если в алгоритмах, приведённых на рис. 8 (блок 4) и рис. 9 (блок 5), отношение > заменить на отношение <, то массив будет отсортирован по убыванию значений элементов.

5. Алгоритм основной программы и его описание.

По результатам анализа задания можно составить укрупненную схему алгоритма последовательной структуры (рис. 10).

Блок-схема: данные: Ввод размера 1

Блок-схема: типовой процесс: Ввод элементов 2

Блок-схема: типовой процесс: Вектор из сумм элементовБлок-схема: типовой процесс: H=K–M Блок-схема: типовой процесс: M=2*BБлок-схема: типовой процесс: K=NTБлок-схема: типовой процесс: C*A=N

Блок-схема: данные: Печать элементов А, В, С.

3

4

Отладочная печать

матрицы N

5

Отладочная печать

6 матрицы К

Отладочная печать

Блок-схема: знак завершения: КонецБлок-схема: типовой процесс: Сортировка по убыванию и итоговый вывод матрицы М

7

Печать

результирующей

8 матрицы Н

9

Рис. 10. Укрупненная схема алгоритма

решения задачи

Проведём детализацию в последовательности, определяемой нумерацией блоков на рис. 1.

1. Ввод размеров матриц А, В, С. В данном блоке определён ввод размеров квадратных матриц А, В, С (z – размер матриц).

Имя подпрограммы: VVOD

 

Имя подпрограммы: TRAN

Входные параметры: количество элементов z*z

Входные параметры: А – матрица, размером z*z

I=1(1)z

I=1(1)z

 

J=1(1)z

 

J=1(1)z

 

Ввод элементов

   

AТ[i,j]=B[j,i]

Выходные параметры: А – матрица размером z*z.

Выходные параметры: В – матрица размером z*z

Рис.11. Детализация блока 2 Рис. 12. Детализация блока 5

схемы алгоритма. схемы алгоритма.

Имя подпрограммы YMN

Входные параметры: А, В – матрицы размером z*z

 

I=1(1)z

J=1(1)z

 

S=0

K=1(1)z

 

S=S+A[i,k]*B[k,j]

C[i,j]=S

Выходные параметры: матрица С размером z*z

Рис. 13. Детализация блока 4

схемы алгоритма


Страница: