Алгоритмы вычисления суммы и произведения 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Алгоритмы вычисления суммы и произведения



Алгоритм вычисления суммы и произведения рассмотрим на следующем примере (Рис. 5.2):

Пример.  Дан одномерный массив из N элементов A[1, N]. Требуется найти сумму положительных элементов и произведение элементов, принадлежащих интервалу [B, C].

Следует оговорить, что предварительно идентификатору суммы Sum необходимо присвоить значение Sum = 0, а идентификатору произведения Pr = 1.

 

 

Структура алгоритма, приведенного на Рис. 5.2:

1. Ввод количества элементов в массиве.

2. Ввод массива.

3. Ввод границ интервала для вычисления произведения.

4. Подготовка идентификаторов суммы и произведения.

5. Организация цикла по идентификатору i от 1 до N с шагом 1.

6. Проверка условия положительности элемента массива A[i].

7. Увеличение значения суммы на положительный элемент массива A[i].

8. Проверка условия принадлежности элемента массива A[i] интервалу [B, C].

9. Формирование произведения элементов массива.

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



5.3 Алгоритмы определения экстремального элемента

Задача поиска максимального (минимального) элемента массива возникает при решении различных задач при упорядочивании, анализе данных, масштабировании информационных массивов и реализовывается в двух алгоритмах:

1. Поиск максимального (минимального) элемента массива.

2. Поиск максимального (минимального) элемента массива принадлежащего некоторому интервалу, например [B; C].

Алгоритм поиска максимального (не нарушая общности, данный алгоритм рассмотрим для случая определения максимального элемента массива) элемента в массиве основан на следующей идее (Рис. 5.3). Идентификатору максимального элемента присваивается значение первого элемента массива, идентификатору его индекса – присваивается 1. Затем в цикле каждый элемент массива сравнивается с максимальным, и в случае, если он больше максимального, выполняется переадресация с фиксированием номера этого элемента в массиве.

Алгоритм поиска минимального элемента в интервале (Рис. 5.4) основан на том, что проверяется, принадлежит ли элемент массива заданному интервалу. Если элемент принадлежит интервалу, то сначала необходимо идентификатору минимального значения присвоить значение первого из элементов массива, принадлежащих интервалу. Это выполняется с помощью флажка – переключателя, которому вначале алгоритма присваивается фиксированное значение. Как только найден первый элемент, принадлежащий заданному интервалу, идентификатору минимального значения присваивается это значение, запоминается его индекс и значение флажка меняется.

Для второго, третьего и т.д. элементов массива, принадлежащих заданному интервалу, производится сравнение с найденным значением минимального элемента из интервала. Если рассматриваемый элемент массива меньше минимального, то идентификатору минимального элемента присваивается его значение и запоминается его номер.

Переход на эту ветвь алгоритма осуществляется по изменившемуся значению флажка.

Если элемент массива не принадлежит интервалу или принадлежащий элемент массива не меньше минимального, то рассматривается следующий элемент массива.

По окончании обработки массива проверяется значение флажка. Если это значение равно начальному, то в заданном интервале не  оказалось ни одного элемента массива. Об этом выдается соответствующее сообщение пользователю, в противном случае на выдается значение минимального элемента и его номер в массиве.

 

 


Структура алгоритма Рис. 5.4:

1. Ввод количества и элементов массива А.

2. Ввод интервала значений.

3. Первоначальное значение флажка и счетчика циклов.

4. Приращение счетчика циклов.

5. Проверка условия завершения цикла.

6. Проверка значения флажка.

7. Вывод сообщения об отсутствии элементов в заданном интервале.

8. Вывод минимального значения и его индекс.

9. Проверка принадлежности элемента массива заданному интервалу.

10. Проверка значения флажка.

11. Изменение значения флажка – найден первый элемент массива, принадлежащий заданному интервалу.

12.  Сравнение текущего элемента с минимальным.

13. Переадресация, определение номера минимального элемента в массиве.

 

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

Вопросы для самопроверки

1. В чем особенность обработки массивов данных?

2. Какие циклические алгоритмы вам известны?

3. Какие циклические алгоритмы применяют при обработке массивов?

4. Какие типичные задачи встречаются при обработке одномерных массивов?

 



Поделиться:


Последнее изменение этой страницы: 2020-12-09; просмотров: 696; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.223.124.244 (0.008 с.)