- •Часть 3. Определить наименьший по модулю элемент среди не принадлежащих отрезку [a/2;b/2] элементов второй трети массива.
- •3.1 Основной алгоритм
- •Часть 1. Вычислить значения 33 элементов одномерного целочисленного массива r в интервале (-7,6) с использованием генератора случайных чисел.
- •3.2 Алгоритм получения элементов вектора
- •Часть 2. Вычислить среднегеометрическое значение четных по номеру элементов второй половины массива.
- •3.3 Алгоритм вычисления среднегеометрического значения
- •Часть 3. Определить наименьший по модулю элемент среди не принадлежащих отрезку [a/2;b/2] элементов второй трети массива.
- •Запишем элементы второй трети массива:
- •При решении данной задачи могут быть следующие ситуации:
- •3.4 Алгоритм определения минимального по модулю элемента среди не принадлежащих [a/2,b/2] элементов второй трети массива
- •Дополнение к части 4. Упорядочить элементы массива r по возрастанию значений.
- •Часть 4. Упорядочить не отрицательные элементы третьей четверти массива по убыванию обратных значений.
- •3.5 Упорядочение массива
Методическая помощь по выполнению РГР №2
Алгоритмы и программы
01.03.2012
УГНТУ
Кирлан Л.Д.
Постановка задачи
Разработать программу получения и обработки одномерного массива, состоящую из 4 частей.
Часть 1. Вычислить значения 33 элементов одномерного целочисленного массива R в интервале (-7,6) с использованием генератора случайных чисел.
Для получения целого случайного числа x на отрезке [a, b] в языке Паскале используется следующий оператор:
x := a + ROUND((b-a)RANDOM (100)100).
Чтобы при каждом новом запуске программы получить новую последовательность случайных чисел, необходимо в начале программы исполнить оператор RANDOMIZE.
Часть 2. Вычислить среднегеометрическое значение четных по номеру элементов второй половины массива.
Среднегеометрическое значение ненулевых элементов заданного массива A = {a1, a2, a3, …, an} вычисляется по формуле
где К-количество ненулевых элементов в массиве.
Часть 3. Определить наименьший по модулю элемент среди не принадлежащих отрезку [a/2;b/2] элементов второй трети массива.
Определить элемент массива – это значит найти его положение (индекс) в массиве и его значение. Если требуемому условию удовлетворяют несколько элементов, то нужно установить индекс и значение каждого из них.
Часть 4. Упорядочить не отрицательные элементы третьей четверти массива по убыванию обратных значений.
В исходном массиве упорядочиваются только те элементы, которые удовлетворяют заданным условиям, при этом остальные элементы своё положение сохраняют и вспомогательный массив не используется.
Для проверки правильности упорядочения всего массива или его части выводить все его элементы.
Часть 2. Вычислить среднегеометрическое значение четных по номеру элементов второй половины массива.
Среднегеометрическое значение ненулевых элементов заданного массива A = {a1, a2, a3, …, an} вычисляется по формуле
где К-количество ненулевых элементов в массиве.
Для вычисления среднегеометрического значения сначала нужно выделить в общем виде номера элементов второй половины. Номер первого элемента второй половины вычисляется по формуле [n/2]+1 (квадратные скобки обозначают операцию выделения целой части значения выражения. Использование данной операции при определении номеров элементов в большинстве случаев позволяет равномерно разделить массив на части): [17/2] + 1 = [8,5] + 1 = 8 + 1 = 9.
Запишем элементы второй половины
x9 x10 x11 x12 x13 x14 x15 x16 x17
2 0 0 4 0 -2 -1 -1 1
Выделим подчёркиванием нужные элементы: чётные по номеру, ненулевые значения.
Нужных элементов к = 3, их произведение 4*(-2)*(-1) = 8. Среднегеометрическое значение Sg = .
При вычислении Sg могут возникнуть следующие проблемы:
Не будет нужных элементов ( к = 0 ), например, если все чётные по номеру элементы равны 0. В этом случае нужно принять Sg = 0.
Потребуется извлечь корень чётной степени из отрицательного значения произведения ( например, если x16 = 1 ). Это некорректная операция, нужно принять Sg = 0.
Выявленные возможные проблемы нужно учесть при разработке алгоритма.
Можно записать математическую формулировку задачи данной части:
где: k – количество нужных (четных по номеру, ненулевых) элементов во второй половине массива R; - произведение нужных элементов.
3.1 Основной алгоритм
Часть 1. Вычислить значения 33 элементов одномерного целочисленного массива r в интервале (-7,6) с использованием генератора случайных чисел.
Для получения целого случайного числа x на отрезке [a, b] в языке Паскале используется следующий оператор:
x := a + ROUND((b-a)RANDOM (100)100).
Чтобы при каждом новом запуске программы получить новую последовательность случайных чисел, необходимо в начале программы исполнить оператор RANDOMIZE.