Автор работы: Пользователь скрыл имя, 26 Ноября 2013 в 20:20, контрольная работа
Часть 1. Вычислить значения 39 элементов одномерного целочисленного массива Y в интервале (-10; 10) с использованием генератора случайных чисел.
Для получения целого случайного числа x на отрезке [a, b] в языке Паскале используется следующий оператор:
x := a + ROUND((b-a)*RANDOM (100)/100).
Министерство образования и науки Российской Федерации
Государственное образовательное учреждение высшего профессионального образования
«УФИМСКИЙ ГОСУДАРСТВЕННЫЙ НЕФТЯНОЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»
Кафедра вычислительной техники
РАСЧЕТНОЕ ЗАДАНИЕ №2
Вариант № 85, 999
по дисциплине «Информатика»
Выполнил студент гр. БМТ1-11-03 _______________ _________________________
Принял доцент каф.ВТИК ________________ _________________________
подпись, дата
Уфа 2012
Постановка задачи
Разработать программу
получения и обработки
Для получения целого случайного числа x на отрезке [a, b] в языке Паскале используется следующий оператор:
x := a + ROUND((b-a)*RANDOM (100)/100).
Чтобы при каждом новом запуске программы получить новую последовательность случайных чисел, необходимо в начале программы исполнить оператор RANDOMIZE.
Среднегеометрическое значение вычисляется по формуле
где К-количество ненулевых элементов в массиве.
Часть 3. Определить значение, по модулю самое близкое к заданному числу С среди нечетных по значению элементов всего массива.
Определить элемент массива – это значит найти его положение (индекс) в массиве и его значение. Если требуемому условию удовлетворяют несколько элементов, то нужно установить индекс и значение каждого из них.
В исходном массиве упорядочиваются только те элементы, которые удовлетворяют заданным условиям, при этом остальные элементы своё положение сохраняют и вспомогательный массив не используется.
Для проверки правильности упорядочения всего массива или его части выводить все его элементы.
Обязательные требования к программе.
1. Программу разработать для
решения задачи в общем виде,
для произвольных значений
2. Решение каждой части в програм
3. Предусмотреть 3 варианта исполнения программы:
Тестовый расчёт
Решение задачи для одной и той же последовательности случайных значений элементов массива при новом запуске программы для одних и тех же исходных данных ( Randomize не используется).
Решение задачи для новой последовательности случайных значений элементов массива при новом запуске программы (c Randomize).
где: k – количество нужных (четных
по номеру, ненулевых) элементов во второй
половине массива R;
- произведение нужных элементов.
где: k – количество нужных ( ненулевых)
элементов в массиве V;
Для определения значения, по модулю наиболее близкого к заданному числу С среди нечетных элементов всего массива не требуется предпринимать каких-либо дополнительных действий.
2 0 0 4 0 -2 -1 -1 1
При выборочном упорядочивании элементов массива сначала выделим нужную часть массива. Первый элемент второй трети массива имеет номер [n/3] + 1 = [17/3] +1 = [5,67] +1 = 5 + 1 = 5, последний элемент, соответственно, имеет номер [2n/3] = [34/3] = [11,33] = 11.
Модуль обратного
Упорядоченные элементы -3 2 3 4 0 0 4
При разработке алгоритме будем использовать метод декомпозиции: решение задачи сначала опишем в виде основного алгоритма, использующего вспомогательные алгоритмы решения задач частей задания. Затем опишем вспомогательные алгоритмы – модули решения задач каждой части. При разработке и описании алгоритмов используются элементарные структуры алгоритмов, составляющие основу структурного программирования.
При разработке основного алгоритма нужно учесть обязательные требования, сформулированные в постановке задачи и рекомендации по разработке сложных программ:
3.2 Алгоритм получения элементов вектора
3.5 Упорядочение массива
Program RGR_2;