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

UptoLike

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

3
1
Для проверки правильности работы полученного алгоритма составим таблицу трассировки для одномерно-
го массива из 9 элементов: (5, 0, 4, -3, -7, 0, -2, -4, 0), приведенных в примере 11. Напомним, что заполне-
ние таблицы происходит по строкам. Считаем, что все начальные значения числовых переменных равны 0.
В таблице 5 выполнена трассировка фрагмента поиска второго нулевого и последнего положительного эле-
ментов (их номеров), а в таблице 6 выполнена трассировка следующего фрагмента алгоритма по переста-
новке в массиве найденных элементов, где K- текущий номер элемента,A[K]-текущее значение элемента
массива, М- количество нулей, обнаруженных в массиве при анализе очередного элемента,P-номер второго
нулевого элемента массива,S-номер последнего положительного элемента массива,A[S]-значение по-
следнего положительного элемента массива,A[P]-значение второго нулевого элемента массива.
Таблица 5.Таблица трассировки операций Таблица 6. Таблица трассировки
поиска второго нулевого элемента и перестановки найденных элемен-
последнего положительного тов массива
К Входной мас-
сив А(К)
M М=2 Р SA(P)
А(6)
Q А(S)
А(3)
Выходной мас-
сив А(К)
15 0Нет 100415
20 1Нет 4042 0
3 4 3 4003 0
4-3 4 -3
5-7 5 -7
6 0 2 Да 6 6 4
7-2 7 -2
8-4 8 -4
90 3Нет 90
Пример 12. Составить алгоритм удаления в одномерном массиве элемента с максимальным значением.
Решение. Анализ постановки задачи позволяет выделить две последовательно решаемые задачи: поиск эле-
мента с максимальным значением и удаление этого значения из массива. Алгоритм первой задачи был рас-
смотрен ранее в примере 10 (рис.18). В этом алгоритме был определен номер максимального значения М, а
максимальное значение определялось как А(М). Удаление элемента из массива приводит к уменьшению
количества элементов массива за счет их перемещения на позицию удаляемого. Например, требуется уда-
лить максимальное значение в массиве (2,4,13,5,7). Максимальное значение в этом примере равно 13. После
удаления количество элементов данного массива уменьшится на 1 и станет равным 4, а массив примет вид
(2,4,5,7). Таким образом, можно сделать вывод , что для удаления элемента из массива необходимо знать его
номер, например М, удаление производится путем сдвига на одну позицию влево всех следующих зауда-
ляемым элементов А(М)=А(М+1), этот сдвиг должен осуществляться под управлением цикла. Цикл завер-
шит свою работу, когда последний элемент массива сдвинется на место предпоследнего элемента .
После приведенных рассуждений и используя алгоритмическое решение примера 10, изображенное на
рис.18, составим алгоритм удаления элемента с максимальным значением из одномерного массива из N
элементов (см. рис.26).