Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
Кафедра ІСМ
Лабораторна робота №5
з курсу: «МЗКІТ»
«Розробка програми
на сортування»
Варіант № 10
Тема: розробка програми на сортування
Мета: Набуття навичок з використання записів і їх обробки.
Завдання: Розробити програму, яка формує масив записів з відомостями згідно наведених нижче варіантів. Дана програма повинна передбачати можливість задання даних, сортування записів і відображення їх складових компонент. Магнітофонів їх марки, потужності, роки випуску та ціни;
Теоретичні відомості:
Класичною ілюстрацією переваги застосування складених структур даних, зокрема, масивів є задача сортування. Під сортуванням розумітимемо процес перестановки елементів масиву в певному порядку з метою полегшення подальшого пошуку конкретного елемента. Прикладом упорядкованих елементів можуть служити телефонні книги, каталоги бібліотек і т.п. Одним з найпростіших способів сортування є метод "бульбашок". Уявімо собі, що елемент масиву, значення якого найменше переміщаються наверх і поміщається в елемент з індексом 1. В такий спосіб ми отримали масив, в якому значення першого елементу найменше, тобто впорядковане, залишилось впорядкувати решту елементів, починаючи з другого. Якщо тепер серед невпорядкованих елементів масиву знову виявити найменше значення і помістити його в елемент з індексом 2, то перші два елементи масиву вже будуть впорядкованими. Для впорядкування решти елементів можна послідовно використати цю ж схему. Отже, згідно цього алгоритму найменше значення елементу з невпорядкованої частини масиву переміщається (спливає ніби "бульбашка") в елемент з найменшим індексом.
For i = 2 To n
For j = n To i Step -1
If A(j - 1) > A(j) Then x = A(j - 1): A(j - 1) = A(j): A(j) = x
Next j
Next i
Оператори в частині Then умовного оператора забезпечують обмін значеннями між елементами A(j - 1) і A(j) у випадку коли значення, що в них зберігаються невпорядковані за зростанням. Для проведення цього обміну використовується допоміжна змінна х, в якій тимчасово зберігається значення елемента A(j - 1). Потреба в допоміжній змінній х зумовлена тим, що при присвоєнні елементу A(j - 1) нового значення, його попереднє значення затирається.
Виконання роботи:
1. Завантажив систему Visual Basic. Її запуск проводиться вибором піктограми на робочому столі або за допомогою меню Start/Program/Visual Basic. Далі вибрав режим створення стандартного проекту Standart.exe.
2. Згідно ескізного макета робочого вікна програми помістив необхідні елементи керування у форму. При цьому задав їм необхідні розміри й розміщення.
3. Вибираючи по черзі використані у формі елементи керування, задав у вікні властивостей значення передбачені в ескізному макеті.
4. Для розпізнавання використаних об’єктів в програмі я призначив імена.
Підготовка цих процедур проводиться у вікні редактора програм, виклик якого реалізується подвійним клацанням по лівій клавіші мишки в полі форми.
6. Запам’ятав програму. Для цього в меню File (файл) виберав пункт Save Projeсt As (зберегти проект як). При першому зберіганні програми вказав імена складових файлів програми і місце їх розташування.
7. Запустив програму на виконання. В меню Run виберав пункт Start (початок). Програму на виконання можна запустити також шляхом натискання клавіші F5.
8.Ввів дані відповідно по коміркам:
Pioner VVD 40W 2002 257,64
Canon OHY 20W 2004 257,64
Pioner PPP 35W 2008 257,64
Pioner GDF 78W 2007 257,64
Sony SSS 33W 2006 257,64
9. Відобразив дані:
Додаток:
Код програми:
Private Type Vidomist
Mah As String * 15
Pot As String * 10
Rik As Integer
Cina As Double
End Type
Dim M(100) As Vidomist
Dim N As Integer
Dim i As Integer, j As Integer
Private Sub Save_Click()
N = N + 1
M(N).Mah = Mah.Text
M(N).Pot = Pot.Text
M(N).Rik = Val(Rik.Text)
M(N).Cina = Val(Cina.Text)
Mah.Text = "": Pot.Text = ""
Rik.Text = "": Cina.Text = ""
End Sub
Private Sub Sortuvannia_Click()
Dim b As Vidomist
For i = 2 To N
For j = N To i Step -1
If M(j).Mah < M(j - 1).Mah Then
b = M(j): M(j) = M(j - 1): M(j - 1) = b
End If
Next j
Next i
End Sub
Private Sub Vyvid_Click()
Dim U As String
U = ""
For i = 1 To N
U = U & M(i).Mah & " " & M(i).Pot & " "
U = U & M(i).Rik & " " & M(i).Cina & " " & vbCrLf
Next i
txtVyvid.Text = U
End Sub
Висновок: я набув навичок з використання записів і їх обробки.