Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мет_пом_РГР_2_БМТ.doc
Скачиваний:
4
Добавлен:
20.08.2019
Размер:
350.21 Кб
Скачать

28

Методическая помощь по выполнению РГР №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 могут возникнуть следующие проблемы:

  1. Не будет нужных элементов ( к = 0 ), например, если все чётные по номеру элементы равны 0. В этом случае нужно принять Sg = 0.

  2. Потребуется извлечь корень чётной степени из отрицательного значения произведения ( например, если 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.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]