Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Алгоритмы вычисления суммы и произведения↑ ⇐ ПредыдущаяСтр 4 из 4 Содержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте
Алгоритм вычисления суммы и произведения рассмотрим на следующем примере (Рис. 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; просмотров: 730; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.216.126.33 (0.005 с.) |