Основы визуальной алгоритмизации


Алгоритмы обработки одномерных числовых массивов - часть 5


Так как задачи  поиска необходимых для перестановки элементов алгоритмически решены (рис. 22), то рассмотрим задачу перестановки элементов.Для реализации перестановки найденных элементов достаточно воспользоваться управляющей структурой следования. Для того, чтобы во время перестановки не потерять  переставляемые значения используем дополнительную переменную Q, временно хранящую одно из переставляемых значений элемента массива, в частности, второе нулевое значение.На рис. 23 представлен универсальный алгоритм перестановки двух элементов одномерного массива, имеющих порядковые номера P и S .


 

                                                             

Рис. 23.Фрагмент перестановки двух элементов массива, с номерами S и P      


Подводя итог для алгоритмического решения примера 11, приведем  на рис. 24  алгоритм  для вывода элементов преобразованного массива  после перестановки найденных элементов.

 

Рис. 24. Алгоритм вывода элементов массива


            Таким образом, процесс проектирование первоначального алгоритма перестановки второго нулевого  элемента и последнего положительного элемента в одномерном массиве завершен. Полученный алгоритм представлен на рис.25. Следует заметить, что целью решения примера 11 было показать процесс нисходящего проектирования  алгоритма " сверху-вниз " с использованием декомпозиции и метода структурной алгоритмизации. Отметим, что с целью упрощения в полученном алгоритме не рассматриваются ситуации, когда в составе элементов массива отсутствуют положительные значения или нулевые значения в количестве большем одного.

Подпись: +

 

 


Рис.25. Алгоритм перестановки второго нулевого и последнего положительного элемента в одномерном массиве

 

 

 

 

 Для проверки правильности работы полученного алгоритма составим таблицу трассировки для одномерного массива из 9 элементов:  (5, 0, 4, -3, -7, 0, -2, -4, 0),  приведенных  в примере 11.


Начало  Назад  Вперед