Реферат по предмету "Информатика, программирование"


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

Министерствосельского хозяйства и продовольствия
РеспубликиБеларусь
УО «Новопольскийгосударственный аграрно-экономический колледж»
Курсовойпроект
подисциплине: «Основы алгоритмизации и программирования»
на тему:Перестановка строк и столбцов массива случайным образом
КП-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]
где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;
fori:= 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.3.1 Входная информацияДан массив, в котором расставлены числаслучайным образом, где будет осуществляется перестановка строк и столбцов.1.3.2 Выходная информация
Мы получили массив сслучайно расставленными числами, в котором переставляются строки и столбцыуказанными нами способами.
1.4 Системное меню
Использование компонентаStringGrid. Значоккомпонента StringGrid находится на вкладке Additional. На форме создаем однутаблицу, она будет выглядеть как матрица с задаваемой нами размерностью изаполнением. Для ввода массива удобно использовать компонент StringGrid.
StringGrid ― служитдля представления текстовых данных в виде таблицы. Доступ к каждому элементутаблицы происходит через свойство Cell. А ещё этот Компонент StringGridпредставляет собой таблицу, ячейки которой содержат строки символов. Примериспользования компонента StringGrid для ввода массива — программа,осуществляющая поиск в массиве заданного элемента.
А так же на формеприсутствуют 6 Edit’ов и 5 Button’ов.
Edit ― стандартныйуправляющий элемент Windows для ввода. Он может быть использован дляотображения короткого фрагмента текста и позволяет пользователю вводить текство время выполнения программы. В первые два Edit'а мы вводим саму розмерность матрицы по которой ирысуется вся таблица. В следующих четырех Edit’ах мы указываем номера строк или столбцов при помощи,которых и выполняется перестановка строк и столбцов случайным образом, а так жемы указываем размерность самой таблицы.
Buttonпозволяет выполнить какие-либо действия при нажатии кнопки во время выполненияпрограммы. В Delphi все делается очень просто. Поместив TButton на форму, Вы подвойному щелчку можете создать заготовку обработчика события нажатия кнопки.Далее нужно заполнить заготовку кодом. При нажатии кнопки Button мы перестанавливаемстроки и столбцы. НА форме (рис.2) присутствует кнопка «Нарисовать матрицу»- эта кнопка создает только очертания матрицы, а кнопка «Заполнить»заполняет уже нарисованную нами таблицу рандомно поставленными числами. Кнопки «ОК»выполняют действия перестановки строк и столбцов. А так же есть ещё одна кнопкаButton, которая означаетВЫХОД, при нажатии на эту кнопку наша программа, которая запускается, послевыполнения определенных операций, автоматически закрывается.
Принемалом усердии смотрим результат.Наша форма на данный момент имеет следующийвид представленный на (рис. 1.4.1):

/>
Рисунок 1.4.1 ―Форма программы
2. Описаниепрограммы
Данная программа содержитчетыре процедуры, каждая из них выполняет свои операции заданные мной. Двепроцедуры, переводят из строковых значений, в числовые:
1) procedureButton1Click(Sender: TObject);
2) procedureButton2Click(Sender: TObject);
Процедура «Выхода»:
procedureButton3Click(Sender: TObject);
Она работает следующим образом:при нажатии на кнопку «Выход», программа заканчивает свою работу изакрывается.
При помощи этойпроцедуры:
procedure Button4Click(Sender: TObject); ― мы можем создать массив, с размерностьюуказанной нами в ручную. Эта процедура выполняет только те действия илиоперации при помощи которых мы можем осуществить появление самой «таблицы»массива
Данная процедура «procedure FormCreate(Sender: TObject);»выводит два диалоговых окна с сообщением подсказкой.
Эта процедура «procedure Button5Click(Sender: TObject);» процедура заполнения, она рандомно или (случайнымобразом) заполняет массив «таблицу».
/>3. Описаниеприменения
При запуске этойпрограммы у нас появляется диалоговое окно приветствия, имеющее следующий вид (рис.3.1).
/>
Рисунок 3.1 ―Диалоговое окно программы
При нажатии на кнопку «ОК»у вас появится ещё одно диалоговое окно изображенное на (рис.3.2), в которомбудет указан инструктаж что надо делать Если строго выполнять все указания диалоговыхокон то у вас все получится.
/>
Рисунок 3.2 – Окносоздания массива (таблицы)
При нажатии а кнопку «ОК»появится Диалоговое окно формы (рис. 3.3), значения (1,1) обведенные красным этозначения в которые можно ввести все те числа какие вам захочется. Сейчас я вампокажу как все это должно выглядеть. Для начала мы введем числа (рис.3.4).Потом при нажатии на кнопку «Нарисовать массив» Выскочит следующееокно пояснение изображенноена (рис. 3.5). После нажатия на кнопку «ОК» у нас появится таблица сзаданной нами розмерностью. Ниже приведены рисунки «Диалоговых окон»при помощи которых идет пояснение каждого хода программы (краткий инструктаж попрограмме). На (рис.3.8) изображено окно (предупреждение), которое отвечает зато что когда вы введете число больше чисел заданных в массиве то вам будетвыведено окно предупреждение, и вы будете вынуждены ввести заново числа толькоте числа которые входят в пределы массива заданного вами. На (рис.3.9)изображено окно предупреждение которое отвечает за то, что при введенииодинаковых чисел в пределе массива, то оно вас предупредит что бы вы этого неделали. К (рис.3.10) и (рис.3.11) идут аналогичные пояснения как и к (рис.3.8)и (рис.3.9) но только для столбцов./>
Рисунок 3.3 – Диалоговоеокно «форма»

/>
Рисунок 3.4 – Пример вводачисел
/>
Рисунок 3.5 – Пояснение кследующим действиям/>
Рисунок 3.6 – Диалоговоеокно
/>
Рисунок 3.7 – Диалоговоеокно

/>
Рисунок 3.8 – Диалоговоеокно
/>
Рисунок 3.9 – Диалоговоеокно
/>
Рисунок 3.10 – Диалоговоеокно

/>
Рисунок 3.11 – Диалоговоеокно
/>
Рисунок 3.12 – Диалоговоеокно
/>
Рисунок 3.13 – Диалоговоеокно

/>
Рисунок 3.14 – Диалоговоеокно
Если вы действовалистрого по этим рисункам то вы добились успеха.
Заключение
В ходе работы с курсовымпроектом я научилась работать с компонентами и другими данными.
Данная программа имеетмножество кнопок, при помощи которых можно выполнить определенны операции.Такие как создание массива и саму перестановку строк и столбцов.
Эту программу можнооптимизировать добавив строку «Меню».
Но данная программасодержит ещё и множество диалоговых окон «уведомлений», при помощикоторых и происходит весь процесс выполнения программы.
матрицамассив программа диалоговый
Списокиспользуемых источников
1. Чертик А.А.,Борисок В.В., Корвель Ю.И. Delphi.Трюки и эффекты. СПб.: Питер, 2007. С. 10-48, 72-90.
2. Флёнов М.Е. Delphi в шутку и в серьез: что умеютхакеры. СПб.: Питер, 2006. С. 15-102.
3. Фаронов В.В. Delphi. Программирование на языке высокогоуровня: Учебник для вузов. 48-49, 306-316.
4. Фаронов В.В. Delphi. Программирование на языке высокогоуровня: Учебник для вузов. 49-51, 317-352.
5. Бобровский С.И. Delphi 7. Учебный курс. СПб.: Питер, 2008.С. 151-182.


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.