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

UptoLike

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

2
8
Рис. 19. Обобщенный алгоритм к примеру 11
Ввод количества и значений элементов массива осуществляется вначале в отдельном блоке ввода,
который реализуется по схеме алгоритма ввода элементов массива, изображенного на рис.16.
Поиск второго нулевого элемента массива будем осуществлять в цикле, проверяя значение очеред-
ного элемента на 0. Если очередной элемент равен 0, то для подсчета количества таких элементов использу-
ем реккурентную формулу M=M+1. В тот момент времени, когда значение М=2, нам необходимо запомнить
номер текущего элемента массива, так как это и есть искомый второй положительный элемент исходного
массива. На рис.20 приведен фрагмент алгоритма, реализующего поиск второго нулевого элемента в неко-
тором массиве А из N элементов.
Рис. 20. Фрагмент алгоритма поиска второго нулевого элемента в массиве А, со-
стоящем из N элементов. Здесь К- номер очередного элемента, А(К)-значение
очередного элемента,m-количество нулевых элементов, Р- номер второго нулево-
го элемента в массиве
Поиск последнего положительного элемента массива будем осуществлять аналогично в цикле, за-
поминая номер очередного элемента, значение которого больше нуля, в дополнительной переменной S.
Учитывая тот факт, что после того как будут просмотрены и проверены на положительность все элементы
массива в переменной S будет храниться номер последнего положительного элемента массива. На рис.21
представлен фрагмент алгоритма поиска последнего положительного элемента в массиве А.
Рис. 21. Фрагмент алгоритма поиска последнего положительного элемента
Рассмотрим фрагменты алгоритма, приведенные на рис.20и 21. Можно заметить, что оба этих фрагмента
выполняют поиск под управлением цикла, с одинаковым числом повторений, равным количеству элементов
исходного массива N. Поэтому в итоговом алгоритме решения задачи примера 11 вместо композиции этих
двух фрагментов в виде двух последовательных циклов можно использовать параллельное выполнение
операций поиска под управлением одного цикла, который приведен на рис. 22.
+
+
m:=m+1
m=2
K=N
A
[K]=0
K
:=1 , m=0
K:=K+1
P:=K
+
+
S=K
K:=K+1