Обработка одномерных массивов данных
Автор: Arturhncidsnci • Сентябрь 6, 2022 • Лабораторная работа • 2,709 Слов (11 Страниц) • 271 Просмотры
Министерство образования и науки Российской Федерации
Федеральное государственное бюджетное образовательное учреждение высшего образования «Уфимский государственный нефтяной технический университет»
Кафедра вычислительной техники и инженерной кибернетики
ОТЧЁТ
по лабораторной работе №4
“Обработка одномерных массивов данных”
Вариант № 352
Студент гр. БАГ-21-02 ____________ А.Р.Габдиев
(подпись, дата)
Ст. преподаватель ____________ Р.М.Харисов
(подпись, дата)
Уфа 2022
Постановка задачи
Разработать программу получения и обработки одномерного массива, состоящую из 4 частей.
Часть 1. Вычислить значения 33 элементов одномерного целочисленного массива Т в интервале (-7 ,9) c использованием генератора случайных чисел.
Для получения целого случайного числа x на отрезке [a, b] в языке Паскале используется следующий оператор:
x :=a + ROUND((b-a)*RANDOM (100)/100).
Чтобы при каждом новом запуске программы получить новую последовательность случайных чисел, необходимо в начале программы исполнить оператор RANDOMIZE.
Часть 2. Вычислить среднеквадратичное значение нечётных по номеру элементов второй трети массива.
[pic 1]
Часть 3. Определить элемент, самый близкий к заданному числу С среди отрицательных элементов первой половины массива.
Часть 4. Упорядочить чётные по значению элементы всего массива по возрастанию обратных значений.
Обязательные требования к программе.
1. Программу разработать для решения задачи в общем виде, для произвольных значений исходных данных: количества элементов n (2<=n<=100) и отрезка [a, b] (b>=a).
2. Решение каждой части в программе реализовать в виде процедуры.
3. Предусмотреть 3 варианта исполнения программы:
- Тестовый расчёт
- Решение задачи для одной и той же последовательности случайных значений элементов массива при новом запуске программы для одних и тех же исходных данных (Randomize не используется).
- Решение задачи для новой последовательности случайных значений элементов массива при новом запуске программы (c Randomize).
Анализ задачи.
Часть 1.
Исходными данными являются значения количества элементов в массиве n и отрезок [a,b].
Порядок решения задачи: сначала нужно получить одномерный массив (часть 1), затем можно вычислить параметр массива (часть 2) или найти нужный элемент (часть 3). Упорядочение массива (часть 4) нужно выполнить в последнюю очередь, так как перестановка элементов массива при упорядочении может повлиять на вычисление параметра массива и определение нужного элемента.
Для лучшего понимания задачи, выявления её особенностей выполним тестовый расчёт.
Возьмём любые исходные данные, например n=12, а = -1, b = 3, c = 3. Запишем 12 случайных целых чисел от -1 до 3 – это значения элементов массива V для тестового расчёта.
0 2 1 0 1 -1 3 0 -1 0 1 3
Часть 2.
Для вычисления среднеквадратичного значения сначала нужно выделить в общем виде номера элементов второй трети массива. Номер первого найдем по формуле: n/3 + 1=12/3+1=5. Номер последнего найдем по формуле: 2*12/3=8.
Запишем элементы второй трети массива
X5 X6 X7 X8
1 -1 3 0
Выделим подчёркиванием нужные элементы: нечётные по номеру.
Нужных элементов k = 2. Среднеквадратичное значение
Qt = = [pic 2][pic 3]
Часть 3.
Для определения элемента, самого близкого к заданному числу С среди отрицательных элементов первой половины массива, запишем номер первого элемента – 1, а последнего будет соответствовать n/2 = 12/2 = 6.
Запишем элементы первой половины массива:
X1 X2 X3 X4 X5 X6
0 2 1 0 1 -1
Выделим подчёркиванием нужные элементы: отрицательные.
Нужных элементов 1, самое близкое значение к С = 3, это -1, такое значение имеет один элемент: X6= -1.
Часть 4.
При выборочном упорядочивании чётных по значению элементов сначала нужно выделить необходимую часть массива, в нашем случае это весь массив.
...