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


 

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

61770. Работа с тканью. Разметка по шаблону. Игольница в обложке 29.44 KB
  Форма работы: индивидуальная фронтальная; Технология обучения: здоровосберегающая Доминирующая задача: мотивация учебной деятельности и способы постановки учебной задачи; Литература: Конышева Н. Подготовка к уроку 12мин...
61771. Прихватка для горячей посуды. Творческий проект 23.37 KB
  Оборудование: а для учителя: Материалы: учебник готовое изделие лоскутки ткани цветные нитки лист тетрадной бумаги в клетку булавки кусочек мела учебная таблица Раскрой ткани Виды швов панно для демонстрации выполнения шва; Инструменты: ножницы игла. б для учащихся: Материалы: лоскутки ткани цветные нитки; Инструменты: ножницы игла булавки. Сегодня на урок труда вы должны были принести лоскутки ткани цветные нитки булавки иголку и ножницы. Какой материал лучше взять для работы Название хлопчатобумажной ткани произошло...
61772. Конструирование из бумаги. Изготовление новогодней фонарика 21.76 KB
  Цель: углубление и развитие знаний и умений учащихся, связанных с первоначальными приемами обработки бумаги с помощью шаблона, резанием бумаги ножницами; совершенствовать навыки в вырезании по контуру из бумаги, развивать мелкую моторику рук...
61773. Работа с разными материалами. Аппликация из ваты на бархатной бумаге «Верба» 19 KB
  Аппликация из ваты на бархатной бумаге Верба. Сегодня мы будем делать аппликацию Верба. А какой праздник у нас будет перед пасхой в воскресенье 8 апреля Вербное воскресенье А что такое верба кустарник.
61775. Кармашек для мелочей «Слон». Кармашек для мелочей в виде слоненка 17.9 KB
  Цель: сделать кармашек для мелочей который можно повесить например под зеркалом в умывальнике положив туда расчески. Что представляет собой работа слоник с кармашком Какие части есть у нашего слона Кармашек эскиз слона хвост Чем мы соединим кармашек к слону клеем...
61776. Развитие речи. Обучающее сочинение по наблюдениям: Как солнечный Лучик Весну разбудил 22.08 KB
  Весна шла по полям как молодая хозяйка. Весна шла и звон ручьёв с каждым её шагом становился громче и громче†Константин Паустовский. И удивительное время года весна она не оставляет никого равнодушным. Весна воспета в народных песнях в музыке русских композиторов.
61777. Эта Земля была создана для тебя и меня 19.08 KB
  You can see the some interesting facts about world records. Now please read and translate the task. So please answer my questions using these ex.
61778. Великая война - великая победа 23.74 KB
  Цель: познакомить учащихся с главными этапами хода Великой Отечественной войны. Мы не имеем права забыть ужасы этой войны чтобы они не повторились вновь. Начало войны. Окончание войны.