70980

Исследование методов сортировки массивов

Курсовая

Информатика, кибернетика и программирование

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

Русский

2014-10-30

175.5 KB

15 чел.

Министерство образования Республики Башкортостан

Уфимский Государственный Авиационный Технический Университет

                                                                           Кафедра информатики

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

«Исследование методов сортировки массивов»

Выполнил: студент

Факультета АД

гр. Т10 АД-123

Петров А.Н..

Приняла: Рамбургер О.Л.

г. Уфа, 2005г.

Содержание:

1. О рабочей среде Visual Basic.

2.Блок-схемы и описание методов.

2.1.Метод простых вставок.

2.2.Метод пузырька.

3.Описание всех окон программы.

4.Инструкция пользователю.

5. список литературы
1. О рабочей среде
Visual Basic

Язык программирования BASIC – Beginner's All purpose Symbolic Instruction Code (универсальный символьный программный код для начинающих) был разработан сотрудниками Дартмутского колледжа (США) в 1964 г. Первоначальная его версия включала всего 14 служебных слов и предназначалась для обучения программированию. С тех пор было создано более 100 версий этого языка, реализованных на различных ЭВМ.

Первый персональный компьютер IBM PC имел 16-разрядный BASIC, разработанный корпорацией IBM. Позже его сменил GW-BASIC и QUICK-BASIC, разработанный корпорацией Microsoft. В QUICK-BASIC была убрана нумерация строк и добавлен компилятор, превращающий BASIC-программу в полноценный исполняемый (.exe) файл. Не оставила без внимания язык BASIC и корпорация Borland, разработавшая в 1987 г. интегрированную среду программирования Turbo-Basic.

Интегрированная среда разработки приложений Visual Basic

Visual Basic развился из первоначального языка Basic и в настоящее время содержит несколько сотен команд, функций и ключевых слов, многие из которых связаны непосредственно с графическим интерфейсом пользователя GUI (Graphical User Interface) операционной системы Windows. Используя Visual Basic даже начинающие программисты могут создавать полезные программы, зная лишь несколько ключевых слов. При этом профессиональные программисты имеют все необходимые средства для разработки сложных приложений, функционирующих под управлением Windows.

В 1992 г. корпорацией Microsoft был разработан и выпущен Visual Basic 1.0 - относительно простой язык программирования для Windows 3.1. Затем были выпущены Visual Basic 3.0, 4.0, 5.0 и наконец Visual Basic 6.0. Версии 5.0 и 6.0 отличаются незначительно: в шестой версии улучшено ядро и добавлен ряд новых функций. ПомимоVisual Basic существует еще язык макросов для приложений Microsoft Office (Word, Excel и т.п.). Он называется VBA (Visual Basic for Application). С его помощью можно разрабатывать макрокоманды для автоматизации работы с приложениями Microsoft Office.

Интегрированная среда разработки приложений Microsoft Visual Basic (в дальнейшем изложении Visual Basic), обладая простыми в обращении средствами визуального проектирования, позволяет в полной мере использовать преимущества графической среды

Windows и быстро конструировать эффективные приложения. Помимо Visual Basic существуют и другие языки визуального программирования с аналогичными возможностями: Borland Delphi, Borland C++ Builder.

Visual Basic – один из первых языков, поддерживающих событийно-управляемое программирование (event-driven programming). Этот стиль хорошо согласуется со стандартом графического пользовательского интерфейса. Традиционно программирование ориентировалось на поэтапное описание конкретного процесса. Однако современные компьютерные приложения слишком сложны и данный стиль программирования для них не подходит.

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

Программы, или как принято говорить - приложения, разрабатываемы для Windows, имеют, как правило, стандартный пользовательский интерфейс: окна-формы, на которых располагаются окна для текстов или рисунков, меню, кнопки управления и другие элементы. Каждый из этих объектов обладает определенными свойствами: цвет, размеры, надписи и другие. Кроме этого, каждое конкретное приложение в режиме взаимодействия с пользователем посредством вышеупомянутых объектов, выполняет те или иные действия, приводящие к получению определенного результата. Для получения какого-либо конкретного действия должна быть написана соответствующая команда в тексте программы на языке Visual Basic. Таким образом разработка приложения включает следующие этапы:

- создание интерфейса пользователя с использованием средств визуального программирования, в процессе которого на формах размещаются необходимые объекты из набора стандартных элементов интерфейса Windows;

- установка свойств для формы и размещенных на ней объектов (размеры, цвет, надписи и др.);

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

Разработанная корпорацией Microsoft интегрированная среда разработки приложений Visual Basic объединяет в себе множество функций, позволяющих выполнять визуальное проектирование интерфейса приложения, ввод и редактирование исходного текста программы, компиляцию и отладку приложений.

2.1.Метод простых вставок.

Допустим, что элементы a1,...,ai-1 уже упорядочены, тогда среди оставшихся (ai,...,an) находим минимальный элемент и меняем его местами с i-тым элементом. И т.д. пока массив не будет полностью упорядочен

Блок-схема 1. Метод простых встав

2.2.Метод пузырька.

Последовательно просматриваем числа a1,...,an находим наименьшее i такое, что a i > ai+1. Поменять ai и ai+1 местами, возобновить просмотр с элемента ai+1 и т.д. Тем самым наибольшее число передвинется на последнее место. Следующие просмотры начинать опять сначала, уменьшая на единицу количество просматриваемых элементов. Массив будет упорядочен после просмотра в котором участвовали только первый и второй элементы.

Блок-Схема 2.Метод пузырька

   

.

3.Описание всех окон программы.

Form1.

Form1 главное окно программы. Отсюда запускаются все остальные окна.

Программа данного окна:

Private Sub Isl_b_Click()

Form5.Show

End Sub

Private Sub viv_a_Click()

Form6.Show

Form1.Hide

End Sub

Private Sub Isl_a_Click()

Form4.Show

End Sub

Private Sub Help_a_Click()

Form2.Show

End Sub

Private Sub Help_b_Click()

Form3.Show

End Sub

Private Sub Input_a_Click()

filepath = "1.txt"

Open filepath For Input As #1

Do While Not EOF(1)  

   

For i = 1 To 10

     Line Input #1, current_string     

     A(i) = current_string + vbCrLf

  Next i

  Loop

Close #1

End Sub

Private Sub viv_b_Click()

Form8.Show

Form1.Hide

End Sub

 

Form2.

Form2 содержит справку об авторе.

Form3.

Form3 содержит справку о программе.

Form4.

Form4 содержит визуализацию методов

Private Sub Command1_Click()

Randomize

CommonDialog1.ShowOpen

f = CommonDialog1.FileName

Open f For Output As #1

l = 0

Print #1, "Метод пузырька"

Print #1, ""

For i = 500 To 5000 Step 100

For j = 1 To i

V(j) = Rnd * 200 - 200

Next j

Sk = Timer

For k = 1 To i

For j = i To k + 1 Step -1

If V(j - 1) > V(j) Then

p = V(j - 1)

V(j - 1) = V(j)

V(j) = p

End If

Next j

Next k

Sn = Timer

l = l + 1

U(l) = Sn - Sk

Print #1, "Количество элементов в массиве = ", i

Print #1, "Время сортировки = ", U(l)

Print #1, ""

Next i

l = 0

Print #1, "Метод простых вставок."

Print #1, ""

For i = 500 To 5000 Step 100

For j = 1 To i

G(j) = Rnd * 200 - 200

Next j

Sk = Timer

For k = 2 To i

W = G(k): j = 1

Do While W > G(j)

j = j + 1

Loop

For q = k To j + 1 Step -1

G(q) = G(q - 1)

Next q

G(j) = W

Next k

Sn = Timer

l = l + 1

H(l) = Sn - Sk

Print #1, "Количество элементов в массиве = ", i

Print #1, "Время сортировки = ", H(l)

Print #1, ""

Next i

Close #1

End Sub

Private Sub Command3_Click()

Form4.Hide

Form1.Show

End Sub

Private Sub Command2_Click()

Randomize

m = 0

For i = 500 To 5000 Step 100

For j = 1 To i

V(j) = Rnd * 200 - 200

Next j

Sk = Timer

For k = 1 To i

For j = i To k + 1 Step -1

If V(j - 1) > V(j) Then

p = V(j - 1)

V(j - 1) = V(j)

V(j) = p

End If

Next j

Next k

Sn = Timer

m = m + 1

U(m) = Sn - Sk

T = U(m)

Next i

Picture1.Scale (500, T)-(5000, U(1))

m = 0

For i = 500 To 4900 Step 100

m = m + 1

Picture1.Line (i, U(m))-(i + 100, U(m + 1)), QBColor(5)

Next i

For i = 500 To 5000 Step 100

Picture1.Line (i, 0)-(i, 0.5), QBColor(4)

If i Mod 500 = 0 Then Picture1.Print i

If i = 4900 Then Picture1.Print i

Next i

End Sub

Private Sub Command4_Click()

Randomize

m = 0

For i = 500 To 5000 Step 100

For j = 1 To i

G(j) = Rnd * 200 - 200

Next j

Sk = Timer

For k = 2 To i

W = G(k): j = 1

Do While W > G(j)

j = j + 1

Loop

For q = k To j + 1 Step -1

G(q) = G(q - 1)

Next q

G(j) = W

Next k

Sn = Timer

m = m + 1

H(m) = Sn - Sk

R = H(m)

Next i

Picture1.Scale (500, R)-(5000, H(1))

m = 0

For i = 500 To 4900 Step 100

m = m + 1

Picture1.Line (i, H(m))-(i + 100, H(m + 1)), QBColor(7)

Next i

For i = 500 To 5000 Step 100

Picture1.Line (i, 0)-(i, 0.5), QBColor(6)

If i Mod 500 = 0 Then Picture1.Print i

If i = 4900 Then Picture1.Print i

Next i

End Sub

Form6.

 На данной форме содержиться сортировка методом пузырька.

Порграмма сортировки массива методом пузыпька представленная на Form6:

Private Sub Command1_Click()

Picture1.Cls

For i = 1 To 10

B(i) = A(i)

Next i

For i = 1 To 9

For j = 10 To i + 1 Step -1

If B(j - 1) > B(j) Then

p = B(j - 1)

B(j - 1) = B(j)

B(j) = p

End If

Next j

Next i

For j = 1 To 10

Z(j) = B(11 - j)

Picture1.Print Z(j);

Next j

End Sub

Private Sub Command2_Click()

Form6.Hide

Form1.Show

End Sub

Form8.

 Form8 содержит визуализацию упорядочивания массива с помощью метода пузырька.

Порграмма визуализация сортировки массива представленная на Form8:

Private Sub Command1_Click()

Picture1.Cls

Amax = A(1)

For i = 1 To 10

If Amax < A(i) Then Amax = A(i)

Next i

For i = 1 To 10

If Amin > A(i) Then Amin = A(i)

Next i

Picture1.Scale (1, Amax)-(100, Amin)

d = 0

k = 0

For n = 1 To 10

Z(n) = A(11 - n)

k = Z(n)

f = n * 10

Picture1.Line (d, k)-(f, 0), QBColor(n), BF

d = n * 10

Picture2.Print Z(n);

Next n

For l = 1 To 10000 Step 0.001

Next l

For i = 1 To 9

d = 0

k = 0

For j = 10 To i + 1 Step -1

If A(j - 1) > A(j) Then

p = A(j - 1)

A(j - 1) = A(j)

A(j) = p

End If

Next j

 Picture1.Cls

 Picture2.Cls

 For n = 1 To 10

 Z(n) = A(11 - n)

 k = Z(n)

 f = n * 10

 Picture1.Line (d, k)-(f, 0), QBColor(n), BF

 d = n * 10

 Picture2.Print Z(n);

 Next n

For l = 1 To 1000 Step 0.001

Next l

Next i

End Sub

Private Sub Command2_Click()

Form8.Hide

Form1.Show

End Sub

Module.

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

В данном случае в Module описанны два линейных массива:

Public A(1 To 10) As Double, B(1 To 10) As Double

4.Инструкция пользователю.

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

Сначала надо нажать «ввод данных, с клавиатуры» в открывшемся окне ввести поэлементно каждый элемент массива, т.е. нужно в открывшемся окне набрать только первый элемент массива затем нажать кнопку «ОК», в новом открывшемся окне набрать второй элемент массива и снова нажать кнопку «ОК» и так до тех пор пока не будет введен десятый элемент массива. Затем можно просмотреть упорядоченный массив по возрастанию нажав кнопку «вывод результата, упорядоченный массив» в открывшемся окне нажать «вывод упорядоченного массива по возрастанию» или просмотреть как происходит сортировка визуально, на гистограмме, нажав сначала «вывод результата, гистограмма, гистограмма упорядоченного массива» затем в появившемся окне нажать «для просмотра гистограммы, нажать сюда».

В данной программе можно получить справку об авторе нажав кнопку «справка, автор» затем в появившемся окне нажать «для получения справки об авторе, нажать сюда» или получить справку о программе нажав сначала «справка, о программе», а затем в появившемся окне нажать «для получения справки о программе, нажать сюда».

Также в данной программе можно изменять цвет главного окна. Сначала надо нажать «настройка, цвета», а затем выбрать более понравившейся цвет.

В данной программе происходит исследование двух методов сортировки массива: 1.Метод пузырька. 2.Метод простых вставок. Здесь представлена зависимость количества элементов в массиве от времени сортировки этого массива. Массив заполняется случайными числами через генератор случайных чисел. Данные выводятся на графиках, по каждому методу отдельно. Данную зависимость можно сохранить.

Список литературы.

1. Алиев В.К. Visual Basic - М.:СОЛОН-Р. - 2002 г. - 384 с.

2. Есипов А.С., Паньгина Н.Н., Громада М.И. Информатика. Сборник задач и рещений для общеобразовательных учебных заведений. - СПб.: Наука и Техника, 2001 г. - 368 с.

3. Кузьменко В.Г. Visual Basic 6. Самоучитель. - М.: ООО "Бином-Пресс", 2003г. - 432 с.


 

А также другие работы, которые могут Вас заинтересовать

27123. Сбытовая политика 27.98 KB
  Сервис предоставление услуг Основные функции сбыта это: коммерческие содействуют куплепродаже товара и осуществлению передачи прав собственности: установление контакта действия по передаче товара оформлению заказов организации платёжнорасчетных операций передаче прав собственности на товар; информирование – сбор информации о покупателях конкурентах о рынке в целом информирование потребителя о товаре и фирме.; складирование и хранение продукции Посредники выполняют функции сбыта с меньшими издержками т. Канал распределения...
27124. Анализ достоинств и недостатков структур управления позволяет найти критерии их оптимального использования 38.42 KB
  Область применения функциональной структуры – это однопродуктовые предприятия; предприятия реализующие сложные и длительные инновационные проекты; средние узкоспециализированные предприятия; научноисследовательские и проектноконструкторские организации; крупные специализированные предприятия табл. Дивизиональная оргструктура Область применения – это многопрофильные предприятия; предприятия с расположением в различных регионах; предприятия осуществляющие сложные инновационные проекты. Таким образом каждая из структур имеет ряд достоинств и...
27125. Сущность планирования 14.63 KB
  Формированию ассортимента предшествует разработка предприятием ассортиментной концепции – построение оптимальной ассортиментной структуры товарного предпочтения учитывающих с одной стороны потребительские требования определенных сегментов а с другой стороны необходимость рационального использования предприятием ресурсов в целях снижения издержек. Иногда целесообразно создать отдел главной задачей которого было бы принятие принципиальных решений относительно ассортимента. Характеристика товарного ассортимента включает в себя: широту –...
27126. Функции планирования и система планов организации. Механизмы планирования: традиционный, сводный, целевой и адаптивный. Бизнес-план 116.21 KB
  Функции планирования и система планов организации. Механизмы планирования: традиционный сводный целевой и адаптивный. Бизнесплан В рамках функции планирования выделяют следующие подфункции: 1. Выполняемые подфункции планирования тесно связаны как между собой так и с выполнением других макрофункций организации.
27127. Цели и функции управления, их классификация. Управленческий цикл 14.7 KB
  Управленческий цикл Классификация целей управления: по содержанию например экономические социальные политические идеологические научнотехнические; по уровням управления общегосударственный отраслевой межотраслевой территориальный и локальный. Классификация функций органов управления: основные предметные функции для осуществления которых образован соответствующий орган исполнительной власти государственного управления; обеспечивающие – функции которые необходимы для успешной реализации предметных функций. Для осуществления...
27128. Функции управления. Управленческие циклы 198.5 KB
  Функции управления. Функция управления определенный вид управленческой деятельности который либо осуществляется достаточно регулярно и часто либо данный вид работ выполняется нерегулярно но их результаты имеют существенные последствия для организации. Я ПОДУМАЮ это определение слова функция Функции управления исходя из их роли в управлении предприятием делят на: 1. Классическим делением функций управления на подфункции является их деление по стадиям управленческого цикла.
27129. Ценовая политика 34 KB
  Ценовая политикаэто определение и поддержание на оптимальном уровне цен на товары с учетом их взаимосвязи в рамках ассортимента в условиях конкретного рынка а также своевременное изменение цен по товарам и рынкам для достижения максимально возможного успеха в конкретной рыночной ситуации. Структура ценовой политики: исходное ценообразование на товар ценообразование в рамках товарной номенклатуры изменение цены контроль за уровнем наценок устанавливаемых посредником создание барьеров по удержанию покупателей разработка программ...
27130. Конкурентные преимущества товара и фирмы на рынке 14.51 KB
  Конкурентное преимущество –характеристики свойства марки или товара которые создают для фирмы определенное превосходство над прямыми конкурентами. Эти характеристики могут относиться как к самому товару так и к дополнительнымуслугам формам производства сбыта или продаж специфичным для фирмы или товара. Конкурентное преимущество это те характеристики свойства товара или марки которые создают для фирмы определенное превосходство над своими прямыми конкурентами.
27131. Ситуационное лидерство (ситуационное руководство) 14.5 KB
  Ситуационное лидерство ситуационное руководство это стиль управления людьми предполагающий использование одного из четырех стилей управления в зависимости от ситуации и уровня развития сотрудников по отношению к задаче. Стили лидерства: Директивный стиль или Лидерство путем приказа высокая ориентация на задачу и низкая на людей. Наставнический стиль или Лидерство путем продажи идей совмещение высокой ориентированности на задачу и на людей. Поддерживающий стиль или Лидерство путем участия в организации процесса работы высокая...