- •«Обработка одномерных массивов данных»
- •Часть 1. Вычислить значения 36 элементов одномерного целочисленного массива t в интервале (-6,9) с использованием генератора случайных чисел.
- •Часть 2. Вычислить среднеарифметическое значение нечетных по номеру элементов первой половины массива.
- •Часть 3. Определить максимальное значение среди отрицательных элементов второй трети массива.
- •Часть 4. Упорядочить каждые третьи элементы всего массива по убыванию абсолютных значений.
- •3.4 Алгоритм определения максимального значения элемента среди отрицательных элементов второй трети массива.
- •Алгоритм решения задачи
- •3.1 Основной алгоритм
- •3.2 Алгоритм получения элементов вектора
- •3.3 Алгоритм вычисления среднеарифметического значения нечетных по номеру элементов первой половины массива
- •3.5 Упорядочение массива
- •4. Таблицы переменных задачи
- •Текст программы на Паскале
- •6. Результаты расчета
Алгоритм решения задачи
При разработке алгоритме будем использовать метод декомпозиции: решение задачи сначала опишем в виде основного алгоритма, использующего вспомогательные алгоритмы решения задач частей задания. Затем опишем вспомогательные алгоритмы – модули решения задач каждой части. При разработке и описании алгоритмов используются элементарные структуры алгоритмов, составляющие основу структурного программирования.
Основной алгоритм.
При разработке основного алгоритма нужно учесть обязательные требования, сформулированные в постановке задачи и рекомендации по разработке сложных программ:
Необходимо задачу решать в общем виде, для любых допустимых значений исходных данных.
Предусмотреть возможность выполнения 3 вариантов расчёта. Введём вспомогательную переменную Vr для управления вариантом расчёта: если Vr =0 – тестовый расчёт, Vr = 1 – без Randomize, любое другое значение Vr – расчёт с Randomize.
Модули должны быть относительно независимы: обязательно иметь имя, свои входные, выходные и промежуточные данные, не использовать глобальные переменные, ввод и вывод данных в модуле может быть только в случае необходимости.
Действия алгоритма поясняются на естественном языке, в обозначениях постановки задачи, не используются конструкции языка программирования
3.1 Основной алгоритм
3.2 Алгоритм получения элементов вектора
1
Vr – вариант расчёта
n – количество элементов
a – нижняя граница
b – верхняя граница
Vector
Vr≠1
2
нет
3
да
Randomize
i=1, n, 1
4
ti=a+round((b–a)·
·random(100)/100)
5
Выход
6
T(1:n) - вектор
3.3 Алгоритм вычисления среднеарифметического значения нечетных по номеру элементов первой половины массива
1
function sa
n, t(1:n)
2
p=0
k=0
3
i=1,[n/2], 1
i-нечетно
4
нет
да
k=k+1
p=ti+p
5
k>0
6
нет
да
7
8
Sa
9
10
Выход
Sa
3.4 Алгоритм определения максимального значения элемента среди отрицательных элементов второй трети массива.
1
function max
2
mx=a
i=[n/3]+1,
2*[n/3]
3
max=mx
Ti<0
нет
4
да
5
7
Ti>mx
нет
да
mx=Ti
6
8
Выход
