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


 

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

28827. Становление детской психологии в конце 19 н 20 в. 48.5 KB
  Предпосылками возникновения возрастной психологии явились запросы педагогической практики разработка идей развития в психологии появление экспериментальной психологии и разработка объективных методов исследования детей. Бюлера биогенетический закон периодизации психического развития. Эволюция как основа психологического развития. В основе развития психики лежит биогенетический закон.
28828. Кризис в психологии в начале XX века 53.5 KB
  Кризис в психологии в начале XX века Причины и значение открытого кризиса в психологии поиски новых объяснительных принципов и объективных методов исследования психики. К началу 20 века теория начала отставать в своем объяснении данных психологических исследований а порой оказывалась и просто неадекватной им привела к ситуации кризиса в психологии. По Выготскому это был кризис методологических основ психологии. Кризис в психологии совпал с периодом обострения экономических и социальнополитических противоречий в буржуазном обществе.
28829. Глубинная психология 72.5 KB
  Во втором периоде 1906 1918 фрейдизм превращается в общепсихологическое учение о личности и ее развитии. Структура личности представляется теперь в виде учения о трех инстанциях Я Оно СверхЯ Я и Оно 1923. Структура личности функции Ид Эго Суперэго Ид – располагается в бессознательном слое является энергетической основой личности в ид содержаться врожденные бессозн инстинкты инстинкт жизни и смерти; исключительно примитивные инстинктивные и врожденные аспекты личности. Развитие личности стадии Фундамент...
28830. Развитие идей Фрейда в неопсихоанализе 61.5 KB
  Развитие личности: решающая роли детских переживаний для формирования структуры и функционирования личности взрослого решающим фактором в развитии личности являются социальные отношения между ребенком и его родителями. Согласно Хорни для нормального развития личности ребенку присущи две основные потребности: потребность в удовлетворении все биологические нужды: в пище сне и т. Ее основу составляет тезис о роли межличностных отношений в формировании личности и процесса ее развития. Описывая их роль в психическом развитии он доказал что...
28831. Бихевиоризм. Предпосылки бихевиоризма, критика традиционной психологии, влияние ассоциативной психологии. Философские основы бихевиоризма (прагматизм, позитивизм), понятие о предмете и методе психологии в бихевиоризме 34 KB
  4 Функциональная психология оказала определенное влияние на бихевиоризм психология должна стремиться быть более объективной и поэтому изучать поведение а не сознание душу или разум. Торндайк: психология должна исследовать поведение а не психические элементы или опыт сознания. псих изучать формирование поведенческих реакций и на этой основе изучать человеческое поведение как результат научения. предсказывать поведение человека в каждой конкретной ситуации и в последующем управлять этим поведением.
28832. Развитие необихевиоризма. Изменение представлений о структуре поведенческого акта 56.5 KB
  принципы поведения организмов стоящих на более низких ступенях развития аналогичны таковым принципам поведения организмов стоящих на более высоких ступенях развития. особое значение анализу поведения единичных организмов психологи должны научиться предсказывать влияние отдельных переменных на компоненты поведения отдельного организма. концепция оперантного поведения: Люди да и животные в реальной жизни редко действуют согласно классической схеме S – R – респондентное поведение или обусловливанием типа С стимульным. Последствия...
28833. Гештальтпсихология 82.38 KB
  Гештальтпсихология возникла из исследований восприятия. В исследованиях ученых были открыты свойства воображения восприятия и др. Принципы гештальта Целостность восприятия и его упорядоченность достигаются благодаря следующим принципам: Близость. Работы посвящены исследованию зрительного восприятия.
28834. Французская социологическая школа 46.5 KB
  Говорил о существовании коллективного сознания – совокупность общих у членов одного и того же общества интересов верований убеждений чувств ценностей. исследовал структуру сознания и личности Изучая структуру сознания Жане подчеркивал что все высшие проявления духа строятся на основе низших где действие чувство и разум слиты воедино. Трехуровневая структура сознания: элементарные ощущения затем память а на ней базируется Я или личность. Ввёл в психологию понятие – поле сознания это наибольшее число простых или относительно...
28835. Генетическая психология 54.5 KB
  Генетическая психология Швейцарский психолог Жан Пиаже 18961980 – один из наиболее известных ученых чьи работы составили важный этап в развитии генетической психологии. Научные интересы Пиаже еще с юности были сосредоточены на биологии и математике. Пиаже начинает читать лекции в Женевском университете и работать в Женевском доме малютки. В середине 20 в Пиаже создает свой основной труд Введение в генетическую эпистемологию возглавляет Международный центр по генетической эпистемологии в составе Женевского университета.