Основы визуальной алгоритмизации. Афанасьева Т.В. - 27 стр.

UptoLike

Составители: 

2
7
Рис.18. Алгоритм поиска максимального значения в массиве
Таблица 4. Таблица трассировки алгоритма примера 10.
Номер элемен-
та массива К
Значение эле-
мента А (К)
Номер макси-
мального М
Значение мак-
симальнго А(М)
Проверка
А(К)>А(М)
131 3 Нет
271237да
302 7 нет
492
4
7
9
да
Рассмотрим несколько более сложных алгоритмов, в которых осущест-
вляется изменение порядка следования элементов в одномерном массиве . К
таким алгоритмам относят алгоритмы с перестановкой элементов местами,
алгоритмы удаления некоторых элементов или циклического переноса неко-
торых элементов в начало или конец массива.
Основным требованием при составлении алгоритмов обработки масси-
вов является неиспользование дополнительных массивов.
Чтобы точнее уяснить постановку задачи следует сначала рассмотреть
частные решения для конкретных наборов входных данных (провести ана-
лиз), затем обобщить полученное решение и определить набор решаемых
задач. Составив визуальный алгоритм, его следует проверить на различных
наборах исходных данных. Эти наборы исходных данных требуется подби-
рать таким образом, чтобы при заполнении таблиц трассировок проверить
все пути вычислений данного алгоритма от начальной вершины до конечной.
Пример 11.Составить алгоритм решения и таблицу трассировки следующей задачи. В одномерном массиве
поменять местами 2-ой нулевой элемент и последний положительный элемент. Применить нисходящее про-
ектирование алгоритма.
Решение. Пусть одномерный массив содержит 9 элементов: (5, 0, 4, -3, -7, 0, -2, -4, 0). Среди этих элементов
имеются три нулевых значения, отрицательные и положительные значения. Второй нулевой элемент имеет
порядковый номер 6, а последний положительный элемент - номер 3, его значение равно 4. Если поменять
местами 2-ой нулевой элемент и последний положительный в исходном массиве (5,0,4
,-3,-7,0,-2,-4,0)
то получим новый массив, в котором изменен порядок следования элементов 5, 0, 0
,-3,-7,4,-2,-4,0.
Основными операциями алгоритма будут: поиск второго нулевого элемента массива, поиск по-
следнего положительного элемента массива и перестановка найденных элементов. Отметим, что для пере-
становки элементов необходимо знать номера переставляемых элементов. На рис.19изображен обобщен-
ный алгоритм решения задачи, который в дальнейшем будет детализирован.
НАЧАЛО
Ввод мас-
сива
Определение номера
второго нулевого
элемента
Перестановка эле-
ментов в массиве
Вывод
массива
КОНЕ
Ц
Определение номера
последнего
элемента >0