Смекни!
smekni.com

Перестановка строк и столбцов массива случайным образом (стр. 1 из 2)

Министерство сельского хозяйства и продовольствия

Республики Беларусь

УО "Новопольский государственный аграрно-экономический колледж"

Курсовой проект

по дисциплине: "Основы алгоритмизации и программирования"

на тему: Перестановка строк и столбцов массива случайным образом

КП-22СПО.27.34-ПЗ

Новое Поле 2010


Задание

на выполнение курсового проекта

по дисциплине "Основы алгоритмизации и программирования"

Учащейся IIкурса 22 СПО группы УО "Новопольский государственный аграрно-экономический колледж"Хвесечко Мальвины Владимировны

1. Исходные данные: Массив

2. План курсового проекта: Введение

1 Постановка задачи

1.1Назначение и функции программы

1.2 Математическая формулировка задачи

1.3 Информационная база задачи

1.3.1 Входная информация

1.3.2 Выходная информация

1.4 Системное меню

1.5.Контрольные примеры

2 Описание программы

3 Описание применения

Заключения

Список используемых источников

Приложения

Дата выдачи " "2010 г.

Срок выполнения задания:

Преподаватель Е. А Ермошкина

УТВЕРЖДЕНО

Председатель ЦКГ.Р. Степанькова

Протокол №6 от 14.01.2010 года


Содержание

Введение

1. Постановка задачи

1.1 Назначение и функции программы

1.2 Математическая формулировка задачи

1.3 Информационная база задачи

1.3.1 Входная информация

1.3.2 Выходная информация

1.4 Системное меню

2. Описание программы

3. Описание применения

Заключения

Список используемых источников

Приложения


Введение

Массив – это множество однотипных элементов, объединённых общим именем и занимающих в компьютере определённую область памяти.

Количество элементов в массиве всегда конечно.

В общем случае массив - это структурированный тип данных, состоящий из фиксированного числа элементов, имеющих один и тот же тип.

Название регулярный тип (или ряды) массивы получили за то, что в них объединены однотипные (логически однородные) элементы, упорядоченные (урегулированные) по индексам, определяющим положение каждого элемента в массиве.

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

Элементами массива могут быть данные любого типа, включая структурированные.

Тип элементов массива называется базовым. Особенностью языка Паскаль и Delphi является то, что число элементов массива фиксируется при описании и в процессе выполнения программы не меняется.

Элементы, образующие массив, упорядочены таким образом, что каждому элементу соответствует совокупность номеров (индексов), определяющих его местоположение в общей последовательности. Доступ к каждому отдельному элементу осуществляется путем индексирования элементов массива. Индексы представляют собой выражения любого скалярного типа (чаще целого), кроме вещественного.

Тип индекса определяет границы изменения значений индекса. Для описания массива предназначено словосочетание array of (массив из). Одномерные массивы

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

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

Если двумерный массив имеет число строк равное числу столбцов, то такой массив (матрица) называют квадратным, например, массивы 3х3, 4х4, 5х5 и т.д. являются квадратными в отличие от массивов 2х4, 5х3, и.т.д.

1. Постановка задачи

1.1 Назначение и функции программы

В этой программе задается массив, из N-элементов в котором применяется перестановка строк и столбцов случайным образом. Данные программы применяются при решении научно-технических и экономических задач обработки совокупностей большого количества значений.

1.2 Математическая формулировка задачи

Математическими прообразами массивов являются векторы и матрицы с числовыми компонентами. В языках программирования все элементы массива объединяются общим именем – идентификатором массива. Элементы массива последовательно располагаются в памяти компьютера. При обращении к элементу массива указывается имя массива (идентификатор), индекс и тип. Если каждый элемент массива имеет только один индекс, то такой массив называют линейным или одномерным. Массивы, элементы которых имеют два индекса, называют двумерными.

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

Если двумерный массив имеет число строк равное числу столбцов, то такой массив (матрица) называют квадратным, например, массивы 3х3, 4х4, 5х5 и т.д. являются квадратными в отличие от массивов 2х4, 5х3, и.т.д.

Операции с массивами. Типичными операциями при работе с массивами являются:

· вывод массива;

· ввод массива;

· поиск максимального или минимального элемента массива;

· поиск заданного элемента массива;

· сортировка массива.

Вывод массива. Под выводом массива понимается вывод на экран монитора (в диалоговое окно) значений элементов массива.

Если в программе необходимо вывести значения всех элементов массива, то для этого удобно использовать инструкцию for, при этом переменная-счетчик инструкции for может быть использована в качестве индекса элемента массива.

Ввод массива. Под вводом массива понимается процесс получения от пользователя (или из файла) во время работы программы значений элементов массива.

"Лобовое" решение задачи ввода элементов массива — для каждого элемента массива создать поле ввода. Однако если требуется ввести достаточно большой массив, то такое решение неприемлемо. Представьте форму, например, с десятью полями редактирования!

Очевидно, что последовательность чисел удобно вводить в строку таблицы, где каждое число находится в отдельной ячейке. Ниже рассматриваются два варианта организации ввода массива с использованием компонентов StringGrid и Memo.

Сортировка массива. Под сортировкой массива подразумевается процесс перестановки элементов массива, целью которого является размещение элементов массива в определенном порядке. Например, если имеется массив целых чисел а, то после выполнения сортировки по возрастанию должно выполняться условие:


с а[1] < а[2] < .. .< a[SIZE]

где SIZE — верхняя граница индекса массива.

Сортировка методом обмена

В основе алгоритма лежит обмен соседних элементов массива. Каждый элемент массива, начиная с первого, сравнивается со следующим, и если он больше следующего, то элементы меняются местами. Таким образом, элементы с меньшим значением продвигаются к началу массива (всплывают), а элементы с большим значением — к концу массива (тонут). Поэтому данный метод сортировки обменом иногда называют методом "пузырька". Этот процесс повторяется столько раз, сколько элементов в массиве, минус единица.

На (рис. 1.2.1) цифрой 1 обозначено исходное состояние массива и перестановки на первом проходе, цифрой 2 — состояние после перестановок на первом проходе и перестановки на втором проходе, и т. д.

Рисунок 1.2.1 ― Процесс сортировки массива

Следует отметить, что максимальное необходимое количество циклов проверки соседних элементов массива равно количеству элементов массива минус один. Вместе с тем, возможно, что массив реально будет упорядочен за меньшее число циклов. Например, последовательность чисел 5 1 2 3 4, если ее рассматривать как представление массива, будет упорядочена за один цикл, и выполнение оставшихся трех циклов не будет иметь смысла.

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

Если вся таблица содержит однородную информацию, например, только целые числа, то такая таблица может быть представлена как двумерный массив.

В общем виде инструкция объявления двумерного массива выглядит так:

Vary <имя >:Array[1..N,1..M] of <тип >;

где:

· Имя — имя массива;

· array — слово языка Delphi, указывающее, что объявляемый элемент данных является массивом;

· 1..N,1..M — целые константы, определяющие диапазон изменения индексов и, следовательно, число элементов массива;

· Тип — тип элементов массива.

1.3 Информационная база задачи

Для того чтобы использовать элемент массива, нужно указать имя массива и индексы элемента. Первый индекс обычно соответствует номеру строки таблицы, второй — номеру колонки.