Часть 2. Сортировка одномерных массивов

Лабораторная работа № 7

Часть 1. Одномерные массивы

Цель работы. Получение практических навыков при работе со сложными типами данных – векторами

Массив – это совокупность конечного числа данных одного типа. Простейшим примером массива может служить линейная таблица. Значения, образующие линейную таблицу, являются элементами массива, а их порядковые номера в таблице называются индексами. Можно сказать, что одномерный массив соответствует понятию вектора. Индекс определяет положение элемента массива относительно его начала.

Общая форма описания переменной:

var<имя>:array |<тип-индексов>| of<тип-элементов>

Выбор отдельной компоненты одномерного массива осуществляется указанием идентификатора массива, за которым в квадратных скобках следует индексное выражение. Индексное выражение должно давать значение, лежащие в диапазоне, определяемом типом индекса. Например: M[1],M[2],…,M[n].

Для организации автоматического ввода случайных значений следует воспользоваться функцией random(n). Эта функция возвращает случайное число из диапазона от 0 до n–1. Для этого необходимо в основной программе инициализировать датчик случайных чисел командой randomize.

Формат вызова функций Random:

random (m), где m – значение, указывающее на правую границу диапазона выдаваемых значений.

Например, требуется заполнить одномерную таблицу размерностью 10, числами на диапазоне от 0 до 10.

program vector_full;

const n=10;

type vector=array[1…n] of integer;

var v:vector;

procedure enter(var vect: vector);

var i: integer;

Begin

for i: =1 to n do

vect[i]:=random(11);

end;

Begin

randomize;

enter(v);

end.

Задание. По заданному условию сформировать одномерный массив (вектор), вывести на печать и произвести операции по обработке полученных компонент массива. Для всех вариантов исходными данными являются одномерный массив, элементы которого задаются с помощью датчика случайных чисел от – 50 до +50, и целое положительное число К.

Вариант 1. Определить число элементов массива, больших К.

Вариант 2. Вычислить сумму первых К элементов массива с нечетными индексами.

Вариант 3. Найти произведение двух соседних элементов массива, наиболее близкое по модулю к К.

Вариант 4. Вычислить произведение последних K элементов массива.

Вариант 5. Найти сумму элементов массива с нечетными индексами, по модулю меньших К.

Вариант 6. Вычислить максимальную разность между К и суммой двух соседних элементов массива.

Вариант 7. Определить число элементов массива с четными индексами, по модулю не меньших К.

Вариант 8. Найти сумму тех элементов массива с нечетными индексами, каждый из которых по модулю меньше К.

Вариант 9. Найти разность между К и суммой всех положительных элементов массива с четными индексами.

Вариант 10. Определить индекс элемента массива, наиболее близкого к К.

Вариант 11. Определить число элементов массива, меньших К.

Вариант 12. Вычислить сумму последних К элементов массива с четными индексами.

Вариант 13. Найти произведение двух соседних элементов масси­ва, наиболее удаленное по модулю от К.

Вариант 14. Найти произведение модулей первых К элементов массива.

Вариант 15. Найти сумму элементов массива с четными индексами, значение которых превышает К.

Вариант 16. Вычислить минимальную разность между К и суммой модулей двух соседних элементов массива.

Вариант 17. Определить индекс элемента массива, наиболее отдаленного от К.

Вариант 18. Найти сумму трех соседних элементов массива наиболее отдаленную от К.

Вариант 19. Найти разность между К и суммой всех положительных элементов массива с четными индексами.

Вариант 20. Найти сумму тех элементов массива с четными индексами, каждый из которых по модулю не превосходит К.

Часть 2. Сортировка одномерных массивов

Цель работы. Научиться использовать различные алгоритмы упорядочивания.

Рассмотрим массив целых или действительных чисел А 1,…, Аn. Пусть требуется переставить элементы этого массива так, чтобы после перестановки они были упорядочены по возрастанию А 1< А 2<…< Аn . Эта задача называется задачей сортировки или упорядочение массива. Для решения этой задачи можно воспользоваться следующими алгоритмами (другие варианты упорядочения, например, по убыванию А 1> А 2>…> Аn, различаются незначительно):


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: