9 клас Урок 28.pptx
- Количество слайдов: 23
9 Урок 28 Алгоритми опрацювання табличних величин За новою програмою
Розділ 6 § 6. 2 Методи сортування масивів 9 Під час опрацювання таблиць часто виникає потреба впорядкувати дані в таблиці за деякою ознакою. Числові дані Рядкові дані можна відсортувати за величиною (наприклад, розташування в масиві значень маси деталей за зростанням) можна відсортувати в алфавітному порядку (упорядкування списку учнів). © Вивчаємо інформатику teach-inf. at. ua
Розділ 6 § 6. 2 Методи сортування масивів Сортування елементів масиву — впорядкування їх за деякою ознакою. Розглянемо масиву. два найпростіші Сортування вибором максимального елемента © Вивчаємо інформатику teach-inf. at. ua методи 9 це сортування Сортування обміном (метод бульбашки)
Розділ 6 § 6. 2 Методи сортування масивів Нехай потрібно впорядкувати масив X: array[1. . 10] of Real; за неспаданням: Х[1] < Х[2] <. . . <Х[10] © Вивчаємо інформатику teach-inf. at. ua 9
Розділ 6 § 6. 2 Сортування вибором максимального елемента 9 Цей метод заснований на тому, що під час кожного проходу циклу переглядається частина масиву завдовжки К елементів. Для масиву Х[1. . 10] під час першого проходу К = 10 © Вивчаємо інформатику teach-inf. at. ua
Розділ 6 § 6. 2 Сортування вибором максимального елемента Алгоритм сортування: Відшукати елемент з Х[1]. . Х[10]. 9 максимальний послідовності Максимальний елемент із цієї послідовності поміняти місцями з Х[10]. Вигляд масиву Х[1. . Ю] на кожному кроці сортування за неспаданням вибором максимального елемента © Вивчаємо інформатику teach-inf. at. ua
Розділ 6 § 6. 2 Сортування вибором максимального елемента (Продовження) Алгоритм сортування: 9 Відшукати максимальний елемент із послідовності Х[1]. . Х[9]. Максимальний елемент із цієї послідовності поміняти місцями з Х[9]. <. . . > © Вивчаємо інформатику teach-inf. at. ua
Розділ 6 § 6. 2 Сортування вибором максимального елемента (Продовження) Алгоритм сортування: Максимальний елемент поміняти місцями з Х[2]. із 9 послідовності Х[1]. . Х[2] For К : = 10 downto 2 do begin // пошук М — номера Мах(Х[1. . К]) М : = 1; Max : = Х[1]; For і : = 2 to K do If [Xi] > Max Then begin Max : = X[i]; M : = i; end; { перестановка X[K] і Х[М 1} С : = X[M]; X[M] : = X[K]; X[K] : = C; end; © Вивчаємо інформатику teach-inf. at. ua
Розділ 6 § 6. 2 Сортування обміном (метод бульбашки) Метод бульбашки ґрунтується перестановці сусідніх чисел. на 9 порівнянні та Алгоритм сортування: Послідовно порівнювати пари сусідніх елементів Х[і] і Х[і+1] (i: 1. . N-1), і, якщо Х[І] > Х[і+1] то поміняти їх місцями. Логічній змінній Ргар надати значення True. У результаті першого перегляду послідовності на N-му місці буде найбільший з усіх елементів, тобто він, як бульбашка, «спливе» вгору. © Вивчаємо інформатику teach-inf. at. ua
Розділ 6 § 6. 2 Сортування обміном (метод бульбашки) (Продовження) Алгоритм сортування: Переглянути елементи від 1 до N-2; на (N-1)-му місці з'явиться найбільший серед (N-1) перших елементів і т. д. © Вивчаємо інформатику teach-inf. at. ua 9
Розділ 6 § 6. 2 Сортування обміном (метод бульбашки) 9 Змінна Ргар: Boolean виконує роль прапорця. Вона отримує значення True в тому випадку, якщо відбулась хоча б одна перестановка сусідніх елементів. Якщо значення Ргар не змінилось, це означає, що елементи масиву вже впорядковані і подальший перегляд послідовності значень не потрібний: Repeat Ргар : = False; For і : = 1 to 9 do If X[i] > X[i+1] Then begin С : = X[i]; X[i] : = X[i+1]; X[i+1] : = C; Prap : = True end Until Prap = False; © Вивчаємо інформатику teach-inf. at. ua
Розділ 6 § 6. 2 Приклад створення програми упорядкування масиву 9 Дано масив А[1. . 10], значення якого задані випадковим чином і знаходяться в діапазоні від 0 до 19. Потрібно упорядкувати масив за спаданням (А[1]>А[2]>. . . >А[10]) методом бульбашки. Для надання можливості покрокового аналізу ходу впорядкування додамо на форму об'єкт String. Grid і налаштуємо його властивості таким чином: Col. Count 10 Fixed. Rows 1 Fixed. Cols 0 Row. Count 11 © Вивчаємо інформатику teach-inf. at. ua
Розділ 6 § 6. 2 Приклад створення програми упорядкування масиву Виведення заголовків стовпців процедурі обробки події On. Create. 9 запрограмоване в var і: Integer; Begin { нумерація стовпців і рядків починається з нуля} For і : = 1 to 10 do String. Grid 1. Cells[i-1, 0] : = Int. To. Str(i); end; © Вивчаємо інформатику teach-inf. at. ua
Розділ 6 § 6. 2 Приклад створення програми упорядкування масиву 9 Алгоритм упорядкування масиву реалізовано в процедурі обробки події On. Click командної кнопки Button 1. Опис величин. Опишемо змінні, потрібні для реалізації алгоритму: var A: array[1. . 10] of Integer; і, с, j: Integer; Prap: Boolean; Очищення рядків таблиці String. Gridl (нульовий рядок заголовків не очищуємо): For і : = 1 to 10 do String. Grid 1. Rows[i]. Clear; © Вивчаємо інформатику teach-inf. at. ua
Розділ 6 § 6. 2 Приклад створення програми упорядкування масиву 9 Задавання значень елементів масиву А випадковим чином: Randomize; For і : = 1 to 10 do begin a[i] : = Random(20); { нумерація елементів масиву з одиниці, а стовпців таблиці String. Grid 1 — з нуля, тому і-й елемент масиву А виводиться в (і-1)-й стовпець таблиці} String. Grid 1. Cells[i-1, 1] : = Int. To. Str(a[i]); end; © Вивчаємо інформатику teach-inf. at. ua
Упорядкування масиву А[1. . 10] за спаданням методом Розділ 9 § 36 бульбашки. До тіла циклу Repeat додано оператори для 9 виведення елементів масиву А на кожному кроці сортування. j : = 1; // номер кроку сортування Repeat Prap : = False; For і : = 1 to 9 do If a[i] < a[i+1] Then begin С : = a[i]; a[i] : = a[i+1]; a[i+1] : = C; Prap : = True end; j : = j+1; { виведення масиву; j — номер кроку сортування і рядка таблиці} For і : = 1 to 10 do String. Grid 1. Cells[i-1, j] : = Int. To. Str(a[i]); Until Prap = False; © Вивчаємо інформатику teach-inf. at. ua
Розділ 6 § 6. 2 Приклад створення програми упорядкування масиву 9 Перевірка роботи програми. Запустимо програму на виконання і проаналізуємо хід сортування. Для різних наборів значень елементів масиву А може знадобитися різна кількість кроків сортування. У випадку на рисунку знадобилось 7 кроків © Вивчаємо інформатику teach-inf. at. ua
Розділ 6 § 6. 2 Розгадайте ребус 9 Середнє © Вивчаємо інформатику teach-inf. at. ua «Ребуси українською» © rebus 1. com
Розділ 6 § 6. 2 Питання для самоперевірки 9 1. У чому полягає сутність сортування методом вибору максимального елемента? 2. У чому полягає бульбашки? сутність сортування методом 3. Де може знаходитися найбільший елемент масиву, якщо масив не впорядковано? 4. Де може знаходитися найменший елемент масиву, якщо масив упорядковано за зростанням; за спаданням? © Вивчаємо інформатику teach-inf. at. ua
Розділ 6 § 6. 2 Питання для самоперевірки 9 5. Для кожної пари сусідніх елементів масиву А виконується операція S : = S + Byte (A[i] >= Ар+1]) (Byte (True) = 1; Byte (False) = 0) Початкове значення S дорівнює 0. Визначте, чому дорівнює кінцеве значення S, якщо вхідний масив: а) було впорядковано за зростанням; б) було впорядковано за спаданням; в) не було впорядковано. 6. Дано список результатів забігу на 100 м восьми спортсменів. Складіть програму для визначення трьох кращих результатів. © Вивчаємо інформатику teach-inf. at. ua
Розділ 6 § 6. 2 Домашнє завдання 9 Проаналізувати § 6. 2, ст. 167 -173 © Вивчаємо інформатику teach-inf. at. ua
Розділ 6 § 6. 2 Працюємо за комп’ютером Сторінка 172 -173 © Вивчаємо інформатику teach-inf. at. ua 9
Дякую за увагу! 9 Урок 28 За новою програмою
9 клас Урок 28.pptx