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 с.


 

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

71548. Порода английский кокер спаниель и его практическое использование 1.01 MB
  Выбрав в качестве четвероногого питомца именно спаниеля и не пожалев времени на его воспитание, вы сможете вырастить надежного и преданного друга, охотника и защитника.Несмотря на предполагаемое испанское происхождение спаниелей, Великобритания по праву считается второй родиной этой породы
71549. Особенности управления в Новгородской республике и Пскове 58.5 KB
  Современные историки по-разному оценивают вечевой строй в Новгороде. видят в вече проявление начал народоправства. Различается и периодизация истории выборных институтов и реконструкция вечевых процедур. Янин опираясь на результаты своих многолетних археологических раскопок древних городов...
71550. Казанский университет 68 KB
  Так как с начала существования отделения в нем стала преподаваться хирургия то следует считать что история кафедры хирургии в Казани начинается с 1814 года. Вначале эта кафедра была единственной на врачебном отделении на ней начиналось и заканчивалось обучение студентов хирургии.
71551. Построение пространственной модели 833.5 KB
  Нужно представить форму разрабатываемой детали как совокупность простых геометрических элементов. Все элементы должны воспроизводиться как solids-примитивы. Ими могут быть призма, цилиндр, сфера, конус, тор. Более сложные элементы нужно представить как тела, получаемые...
71553. Формування полікапроамідної текстильної нитки 25.94 KB
  Мета: Ознайомитися з формуванням полікапроамідної текстильної нитки Методи: словесний, наочний План: Технічні показники прядильної машини «Текстима-2060» Опис технологічного процесу формування нитки на машині Текстима - 2060 Матеріально-технічне забезпечення та дидактичні засоби...
71554. История становления и развития социологии как науки 191.5 KB
  Концепция постиндустриального общества Д. Изменения в экономической политической и социальной сфере общества в XVIII-XIX веках. Конт первым решил использовать научный метод для изучения общества. Он полагал что с помощью науки можно познать скрытые законы управляющие всеми обществами.
71555. Методы педагогической психологии 93 KB
  Специфика применения основных методов психологического исследования в педагогической психологии. Классификация методов психолого педагогического исследования. Методом исследования любой науки является способ познания ее предметной области. Применительно к педагогической психологии метод...
71556. Образование государства Киевская Русь 52 KB
  В науке нет единого мнения о происхождении славян. Вопрос о древнейшей истории славян и поныне является дискуссионным. Главными источниками по истории славян являются сочинения древних авторов: Плиния, Тацита, Геродота, работы византийских авторов, сочинения арабских географов.