Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Анализ элементов массива. Обычно алгоритмы данной группы осуществляют последовательный перебор и накопление сведений об элементах массива с последующим вычислением характеристик всей



Обычно алгоритмы данной группы осуществляют последовательный перебор и накопление сведений об элементах массива с последующим вычислением характеристик всей последовательности значений.

К задачам подобного рода можно отнести: вычисления суммы и среднеарифметического значений элементов, нахождение количества определённых элементов, вычисление статистических характеристик (отклонений, медиан, дисперсий) и т.п.

Некоторые из этих задач решаются с помощью нескольких последовательных переборов всех элементов массива.

Рассмотрим в качестве примера программу, которая вычисляет процент положительных значений среди ненулевых элементов массива.

Алгоритм решения задачи представлен на рисунке 17.

На рисунке 17 блоки 2, 3, 4 используются для ввода исходных данных. Блок 3 организует цикл с параметром i, который, изменяясь от 1 n (n – количество элементов в массиве), перебирает все индексы элементов массива. Блок 4 в каждом новом проходе цикла заполняет последовательно каждый из элементов массива.

Блок 5 инициализирует служебные переменные: chNO используется для подсчёта количества ненулевых элементов, chP используется для подсчёта количества положительных элементов.

Далее блок 6 организует перебор всех элементов массива, аналогично блоку 3. В этом цикле каждый элемент проверяется на положительность и отличность от 0. Если элемент положительный (блок 7), то увеличивается на 1 значение переменной chP (блок 8). Затем снова выполняется проверка: если элемент не равен нулю (блок 9), то увеличивается на 1 значение переменной chNO (блок 10).

Рисунок 17 – Блок-схема алгоритма вычисления процента положительных значений среди ненулевых элементов массива

После окончания цикла вычисляем требуемый процент (блок 11) и выводим полученное значение (блок 12).

В таблице 8 приведена трассировка части алгоритма (рис. 17). Каждая строка трассировочной таблицы соответствует выполнению определённого алгоритмического блока. В колонках представлены значения определённых переменных, или выражений, необходимых для пояснения алгоритма. Для удобства восприятия жирным в таблице выделены значения, которые изменились во время выполнения соответствующего блока.

Таблица 8 – Трассировка алгоритма подсчёта количества
положительных и ненулевых элементов

№ блока i chNO chP A[i] A
         
...
        -2 -2       -1
        -2 -2       -1
        -2 -2       -1
        -2 -2       -1
          -2       -1
          -2       -1
          -2       -1
          -2       -1
          -2       -1
          -2       -1
          -2       -1
          -2       -1
          -2       -1
          -2       -1
          -2       -1
          -2       -1
          -2       -1
          -2       -1
        -1 -2       -1
        -1 -2       -1
        -1 -2       -1
        -1 -2       -1
        -1 -2       -1
        -1 -2       -1
...

Реализация алгоритма в программу выглядит следующим образом:





Дата публикования: 2014-11-26; Прочитано: 278 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...