- •Розділ і. Вступ. Основи алгоритмізації Тема: Поняття архітектури комп’ютера фон Неймана.
- •Принцип використання двійкової системи числення
- •Принцип програмного керування роботою комп'ютера
- •Принцип збереження програм у пам'яті комп'ютера
- •Принцип адресності пам'яті
- •Тема: Алгоритм і його властивості.
- •Тема: Базові структури алгоритмів.
- •Метод вставок
- •Метод вибору
- •Розділ іі. Мова програмування паскаль. Тема: Методології розробки програм.
- •Тема: Загальні відомості про мову Паскаль.
- •Тема: Опис стандартних типів.
- •Тема: Циклічні конструкції.
- •Тема: Табличні величини. Масиви даних.
- •Тема: Рядкові типи.
- •Тема: Підпрограми.
- •Тема: Модуль Graph. Графічний режим.
- •Побудова рухомих зображень
- •Тема: Файловий тип.
- •Тема: Вказівники.
- •Тема: Тип запис.
- •Тема: Множинні типи.
- •Тема: Потоки. Введення-виведення даних.
- •Тема: Адреси даних. Вказівники. Динамічна пам'ять.
- •Тема: Розгалуження.
- •Тема: Основні відомості по структурному програмуванню.
- •Тема: Функції.
- •Тема: Масиви даних.
- •Робота з даними в динамічній пам'яті
- •Проблеми, що пов'язані з вказівниками
- •Тема: Форматування потоків.
- •Функції для управління графічною системою:
- •Функції для установки параметрів зображення:
- •Функції для отримання зображення на екрані:
- •Функції для отримання параметрів зображення:
- •Список літератури
Метод вставок
Нехай у заданій послідовності А1, А2,..., Аі-1, Аі ,..., АN перші і-і елементів вже відсортовані за зростанням. Знайдемо в цій частині послідовності місце для і-го елементу. Для цього будемо порівнювати його почергово з елементами, що стоять ліворуч від нього, доки не виявиться, що для деякого Ак виконується умова Ак <= Аі.
Після цього зсунемо частину послідовності Ак+1 Ак+2,... Аі-1 на один елемент праворуч і звільнимо таким чином (к+1) місце для елементу Аі, куди його і поставимо. Потім перейдемо до елементу Аі+1 і повторимо для нього попередню процедуру. Ці дії будемо повторювати, доки не дійдемо до кінця послідовності. Реальні алгоритми починають сортування з другого елементу послідовності.
Метод вибору
Ідея його така. Знайдемо в послідовності елемент з найменшим значенням і поміняємо його місцями з першим елементом. Після цього ті ж дії виконаємо з іншими (без першого) N-1 елементами послідовності, потім з N-2 елементами і т.д., поки не залишиться один елемент — останній. Він буде найбільшим.
Метод обміну («спливаючі бульбашки»).
Будь-який метод сортування пов'язаний з перестановкою елементів. Але якщо для інших методів ця дія є допоміжною, то для сортування обміном це основна характеристика процесу.
Ідея сортування простим обміном полягає в багаторазових попарних порівняннях елементів, що знаходяться поруч, і перестановці цих елементів у заданому порядку.
Сортування починається порівнянням двох останніх елементів послідовності: N і (N-1). Якщо АN <AN-1 виконуємо перестановку елементів. Потім порівнюється пара елементів (N-1) і (N-2), потім (N-2) і (N-3) і т.д. до першого елементу. За цей прохід перше місце займе найменший елемент послідовності.
Другий прохід виконується таким же чином, але без першого елементу, який вже знайшов своє місце.
Третій прохід виконується без перших двох елементів і т.д. Останній прохід виконується для двох N і (N-1) елементів, і останнє місце послідовності займе найбільший елемент.
Впорядкування послідовності чисел 4, 2, 3, 1 методом обміну показано на рисунку. Числа розташовані вертикально і окреслені колом. Чим більше число, тим більше коло. Цей метод асоціюється зі спливанням бульбашок звідси і друга назва методу.
Перший прохід
Другий прохід
Третій прохід
Діалогові алгоритми.
Діалог – основна форма роботи з сучасними ЕОМ, які можуть подавати інформацію у вигляді текстів та графічних зображень.
Для написання будь-яких діалогових алгоритмів і програм необхідно знати певні правила ведення діалогу людей з ЕОМ.
У створенні діалогових алгоритмів насамперед важливо розділити функції між людиною та ЕОМ. Людині звичайно надаються можливості вибору варіантів, визначення вихідних даних та аналізу результатів. Від ЕОМ же вимагається нагромадження даних, розв’язування задач і подання інформації.
З метою надання людям вибору варіантів у діалогових алгоритмах широко використовується організація різних типів меню. Нагадаємо, що меню – це перелік об’єктів, дій чи інших можливостей, які пропонуються на вибір.
Велике значення мають зручність та простота роботи з ЕОМ у діалозі. Повідомлення ЕОМ повинні бути чіткими та зрозумілими. Команди, які вводить людина, мають бути короткими.
Для діалогу людей з ЕОМ характерні також організація пошуку та нагромадження інформації. Типовим прикладом може бути задача пошуку і перекладу слів у різних словниках. У таких задачах передбачається, що в ЕОМ зберігаються деякі словники. Прикладами можуть бути різні інтерпретатори та компілятори, програми перекладу з однієї мови на іншу.
У найпростіших випадках команди спілкування з діалоговими програмами складаються з окремих літер та інших символів, які є на клавіатурі ЕОМ. З цією метою в діалогових алгоритмах застосовується спеціальна функція введення окремих символів з клавіатури: с:= клавіша, яка фіксує символ, що відповідає натисненій клавіші на клавіатурі ЕОМ.
Питання для самоконтролю:
У чому полягає задача пошуку?
Як знайти найбільше яблуко у ящику?
Придумайте власний приклад пошуку елемента за якоюсь ознакою.
Запишіть алгоритм і блок-схему пошуку найменшого числа в послідовності: 45, 76, 34, 87.
Як ведеться пошук елемента за кількома отакими?
Наведіть приклад пошуку елемента за кількома параметрами.
Назвіть найпоширеніші алгоритми сортування.
Як сортуються елементи методом вставок?
Підсортуйте у зворотному порядку алфавіту послідовність літер D, R, F, B, A методом вставок.
Як сортуються елементи методом вибору?
Підсортуйте за алфавітом послідовність літер Ф, Г, Ж, В, Б методом вибору.
Як сортуються елементи методом обміну?
Підсортуйте за зменшенням послідовність чисел 1, 9, 7, 4, 6 методом обміну.
Що таке діалог?
Як реалізується вибір за допомогою меню в діалогових алгоритмах?
Як реалізується переклад за словником в ЕОМ?
Як організується командне керування в діалогових алгоритмах?
