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

2016-07-30СтудИзба

Описание файла

Документ из архива "Перестановка строк и столбцов массива случайным образом", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "50370"

Текст из документа "50370"

Размещено на http://www.allbest.ru/

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

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

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

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

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

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

КП-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. Описание применения

Заключения

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

Приложения

  1. Введение

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

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

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

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

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

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

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

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

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

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

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

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

  1. 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 Информационная база задачи

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

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

s := 0;

for j := 1 to 12 do

s := s + itog[2, j];

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

s:=0;

for i:= 1 to 6 do // шесть моделей автомобилей

for j := 1 to 12 do //12 месяцев s := s + itog[i,j];

В приведенном фрагменте программы каждый раз, когда внутренний цикл (цикл по j) завершается, во внешнем цикле значение i увеличивается на единицу и внутренний цикл выполняется вновь. Таким образом, к текущему значению переменной s последовательно прибавляются значения элементов массива itog: itog[l,l], itog[l,2], ..., itog[l,12], itog[2,l], itog[2,2], itog[2,12] и т. д.

Массивы, элементы которых имеют два индекса, называют двумерными.

Двухмерный массив удобно представить в виде матрицы с двойными индексами.

В таком массиве каждый элемент имеет двойной индекс. Первая цифра индекса указывает номер строки, вторая номер столбца. Элементы, где номер строки и номер столбца одинаковы, называют элементами главной диагонали. Так как каждый элемент массива имеет индекс, то индекс показывает место элемента в массиве.

Генератор случайных чисел. Случайные числа – результаты случайного выбора в конечном множестве значений (игровой кубик, жребий, лотерея).

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

Функция random(x) – датчик случайных чисел в диапазоне от 0 до x-1 на языке Паскаль. Random(В-А+1)+А; - от А до В.

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

      2. Дан массив, в котором расставлены числа случайным образом, где будет осуществляется перестановка строк и столбцов.

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

Мы получили массив с случайно расставленными числами, в котором переставляются строки и столбцы указанными нами способами.

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Нашёл ошибку?
Или хочешь предложить что-то улучшить на этой странице? Напиши об этом и получи бонус!
Бонус рассчитывается индивидуально в каждом случае и может быть в виде баллов или бесплатной услуги от студизбы.
Предложить исправление
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5120
Авторов
на СтудИзбе
444
Средний доход
с одного платного файла
Обучение Подробнее