Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Тема- розробка програми на сортування Мета- набуття навичок з використання записів і їх обробки Теор

Работа добавлена на сайт samzan.net: 2015-07-05

Поможем написать учебную работу

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

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 21.5.2024

3

Лабораторна робота № 5

Лабораторна робота № 5

Тема: розробка програми на сортування

Мета: набуття навичок з використання записів і їх обробки

  1.  Теоретична частина
    1.  Задача впорядкування

Класичною ілюстрацією переваги застосування складених структур даних, зокрема, масивів є задача сортування. Під сортуванням розумітимемо процес перестановки елементів масиву в певному порядку з метою полегшення подальшого пошуку конкретного елемента. Прикладом упорядкованих елементів можуть служити телефонні книги, каталоги бібліотек і т.п. Одним з найпростіших способів сортування є метод "бульбашок". Уявімо собі, що елемент масиву, значення якого найменше переміщаються наверх і поміщається в елемент з індексом 1. В такий спосіб ми отримали масив, в якому значення першого елементу найменше, тобто впорядковане, залишилось впорядкувати решту елементів, починаючи з другого. Якщо тепер серед невпорядкованих елементів масиву знову виявити найменше значення і помістити його в елемент з індексом 2, то перші два елементи масиву вже будуть впорядкованими. Для впорядкування решти елементів можна послідовно використати цю ж схему. Отже, згідно цього алгоритму найменше значення елементу з невпорядкованої частини масиву переміщається (спливає ніби "бульбашка") в елемент з найменшим індексом. Фрагмент програмної реалізації впорядкування масиву A з n елементів може мати вигляд

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) нового значення, його попереднє значення затирається.

Наприклад, розробимо програму, яка формує масив записів з відомостями про успішність студентів, а також передбачає його сортування за алфавітним порядком прізвищ і відображає наявні записи. Нехай відомості про студента включають прізвище, ім’я й оцінку. Для їх компактного зберігання в області загальних оголошень визначимо тип Vidomist

Private Type Vidomist

Prizv As String * 15

Imia As String * 10

Ocinka As Integer

End Type

Масив для зберігання записів з відомостями про студентів також слід описати в області загальних оголошень форми. Робочому вікну цієї програми надамо вигляду показаного на рис. 5.1.

Дана програма при натисненні кнопки "Зберегти значення" зчитує і надає компонентам поточного елемента масиву значення задані у відповідних текстових полях після чого ці поля очищає. З кожним натисненням кнопки "Зберегти значення" формується черговий елемент масиву. Допустима їх кількість визначається розмірністю масиву. Підпрограма реакції на натиснення кнопки "Зберегти значення" проводить ще підрахунок кількості сформованих значень елементів масиву. Натиснення кнопки "Впорядкувати" сортує елементи сформованого масиву за алфавітним порядком прізвищ, а кнопка "Відобразити" – відображає наявні у масиві записи в текстовому полі.

Текстовим полям, призначеним для вводу даних, надамо відповідно імена: txtPrizv, Imia й Ocinka. Описи необхідних змінних і тексти підпрограм реакції на натиснення кнопок можуть мати вигляд

Option Explicit

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).Prizv = txtPrizv.Text

M(N).Imia = txtImia.Text

M(N).Ocinka = Val(txtOcinka.Text)

txtPrizv.Text = "": txtImia.Text = ""

txtOcinka.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).Prizv < M(j - 1).Prizv 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).Prizv & " " & M(i).Imia & " "

 U = U & M(i).Ocinka & vbCrLf

Next i

txtVyvid.Text = U

End Sub

Підпрограма Vyvid_Click призначена для відображення наявних у масиві записів. З цих записів вона попередньо формує значення символьної змінної U, яке у вигляді окремих рядків, як показано у наведеному вище робочому вікні, відображає відомості про успішність студентів. Для означення кінця рядка і переходу на початок наступного використовується стандартна константа vbCrLf . Нагадаємо, що для забезпечення можливості відображення вмісту текстового поля в декількох рядках його властивості MultiLine слід надати значення True. В принципі можна було би відомості про студентів засилати прямо в значення властивості Text поля txtVyvid, не використовуючи змінної U. Проте постійне обновлення значення властивості Text сповільнює виконання програми і у зв’язку з тим розробники Visual Basic радять попередньо сформувати відповідний текст у змінній. Вигляд вікна з відсортованими відомостями подано на рис. 5.1.

  1.  Завдання

Розробити програму, яка формує масив записів з відомостями згідно наведених нижче варіантів. Дана програма повинна передбачати можливість сортування записів і відображення їх складових компонент.

2.1. Варіанти завдань

Масив записів повинен зберігати список відомостей про наявність товарних одиниць, отриманих у викладача.


Рис. 5.1. Вікно програми формування відомості успішності




1. Теоретические основания и базовые идеи пацифизма
2. Марс 1788 380 475 400 533 2 Бат
3. КОНТРОЛЬНАЯ РАБОТА учет и анализ банкротств Студент пропускающий занятия по дисциплине Учет и анал
4. тематичної освіти ’2 2013 Міністерство освіти і науки України Сумський державний педагогічни
5. год періодичних ТО сезонних ТО поточних ремонтів ПР.html
6. Промышленное здание из крупноразмерных элементо
7. Первобытные формы религии, миф
8. Тема Автоматическая идентификационная система1
9. спросите Вы Начните с вызова Дизайнератехнолога У нас Вы можете приобрести абсолютно всё что необх
10. Методические рекомендации социальным педагогам и школьным психологам по работе с агрессивными детьми
11. Тема- Субъект и объект познания
12. Переводчик ~ почтовая лошадь просвещения А
13. тема 4 friendship Friendship Wht is friendship Some people will sy tht it is feeling of mutul liking between two or more people other will dd tht it is stte when one person understnds
14. Лабораторная работа 1 Сбор информации о системе По итогам выполнения лабораторной работы необходим
15. пространственного развития муниципального образования на примере г
16. Физиология и биохимия подсолнечника в условиях Забайкалья
17. 1945 гг Внешняя политика накануне войны Для внешнеполитической доктрины СССР 20х гг
18. Особенности Российского менеджмента
19. Реферат на тему Бодибилдинг как спорт и образ жизни Выполнила-
20. САНКТПЕТЕРБУРГСКИЙ ИНСТИТ ВНЕШНЕЭКОНОМИЧЕСКИХ СВЯЗЕЙ ЭКОНОМИКИ И ПРАВА В г