- •Лабораторна робота № 1
- •Системний блок
- •Материнська (системна) плата
- •Системна магістраль даних (системна шина)
- •Мікросхема bios
- •Блок живлення
- •Накопичувачі
- •Адаптери
- •Клавіатура
- •Маніпулятори
- •Плати розширення
- •Зовнішні пристрої
- •Принтери
- •Стримери
- •Пристрої на компакт-дисках
- •Сканери
- •Джерела безперебійного живлення
- •Контрольні питання
- •Лабораторна робота №2
- •Алгоритм, його основні властивості та способи зображення
- •Мова програмування qbasic
- •Найпростіші оператори
- •Контрольні запитання
- •Варіанти завдань роботи
- •Лабораторна робота №3
- •Запуск qbasic
- •Індикатори натиснення спеціальних клавіш:
- •Індикатори натиснення клавіш-перемикачів:
- •Описання головного меню qbasic
- •Введення та редагування програм
- •Редактор qbasic
- •Запуск програми на виконання та перегляд результату
- •Збереження програми у вигляді файла на диску
- •Вихід з середовища qbasic
- •Контрольні запитання
- •Завдання
- •Лабораторна робота № 4
- •Розгалужена структура алгоритму
- •Умовний оператор if
- •Оператор goto
- •Оператор вибору on
- •Оператор select case
- •Циклічна структура алгоритму
- •Оператор for...Next
- •Зразок виконання завдання.
- •Контрольні запитання
- •Варіанти завдань
- •Лабораторна робота № 5
- •Змінні величини та функції, що їх визначають
- •Область визначення (існування) функції
- •Максимум та мінімум (екстремум) функції
- •Найбільше та найменше значення функції
- •Оператор-функція
- •Зразок виконання завдання
- •Контрольні запитання
- •Варіанти завдань
- •Лабораторна робота № 6
- •Умовні цикли
- •Оператор while...Wend
- •Оператор do...Loop
- •Метод половинного ділення
- •Зразок виконання завдання
- •Контрольні запитання
- •Варіанти завдань
- •Лабораторна робота № 7
- •Ітераційний цикл
- •Контрольні запитання
- •Варіанти завдань.
- •Лабораторна робота № 8
- •Контрольні запитання
- •Варіанти завдань
- •Лабораторна робота №9
- •Обмінне сортування
- •Інші методи сортування
- •Контрольні запитання
- •Варіанти завдань
- •Лабораторна робота № 10
- •Контрольні запитання
- •Варіанти завдань
- •Лабораторна робота № 11
- •Зразок виконання завдання
- •Контрольні питання
- •Лабораторна робота № 12
- •Контрольні запитання
- •Варіанти завдань.
- •Лабораторна робота № 13
- •Символьні функції
- •Що таке аscii?
- •Перетворення з аsсii в qbasic
- •Визначення довжини символьної величини
- •Виділення частини тексту
- •Кодування текстів
- •Пoшук підрядка
- •Різні варіанти написання тексту
- •Зразок виконання завдання.
- •Контрольні запитання
- •Варіанти завдань.
- •Лабораторна робота № 14
- •Оператор print using
- •Print using та числа
- •Print using та текстові значення
- •Масиви економічної інформації
- •Контрольні запитання
- •Варіанти завдань.
- •Лабораторна робота №15
- •Про функції
- •Контрольні запитання
- •Варіанти завдань
- •Лабораторна робота № 16
- •Зразок виконання завдання
- •Контрольні запитання
- •Варіанти завдань
- •Лабораторна робота № 17
- •Прямі лінії – відрізки
- •Оператор circle
- •Малювання прямокутників
- •Коло, дуга, еліпс і сектор
- •Використання кольору
- •Кольори малюнку і фону
- •Колір у текстовому режимі (оператор color)
- •Колір у графіці (оператор color)
- •Вибір значення для параметра фон
- •Зафарбовування областей
- •Ще один метод малювання
- •Відносний рух
- •Обертання
- •Масштабування зображення
- •Колір в операторі draw
- •Текстові змінні в операторі draw
- •Контрольні питання
- •Варіанти завдань
- •Лабораторна робота №18
- •Процедура
- •Використання підпpoгpaм типу SubRoutіne
- •Використання функцій типу def fn
- •Зразок виконання завдання:
- •Контрольні запитання.
- •Варіанти завдань
- •Лабораторна робота № 19
- •Контрольні запитання
- •Варіанти завдань
- •Лабораторна робота № 20
- •Різні способи дocтyпу до файлів
- •Відкриття фaйлa
- •Peжими pобoти з фaйлaми
- •Пpиклад відкриття фaйлa
- •Перегляд та peдaгувaння файла
- •Контрольні запитання
- •Варіанти завдань
Інші методи сортування
Обмінне сортування має свої переваги та недоліки. Його недоліком є невисока швидкість. Розглянемо декілька інших методів сортування.
Сортування методом вибору
З вхідного масиву вибирається найменший (найбільший) елемент, який розміщується на перше місце результуючого масиву. Вибраний елемент вилучається з подальших перевірок шляхом присвоєння йому максимально (мінімально) можливого значення. Процедура перегляду елементів вхідного масиву продовжується до тих пір, доки останній його елемент не буде перенесено у результуючий масив.
Сортування методом перестановки за індексами
У масиві, що складається з N елементів, послідовним порівнянням у процесі пошуку знаходиться найменший (найбільший) елемент і запам’ятовується його індекс (К). Після перегляду всього масиву обмінюються місцями перший та К-й елементи. Процедура повторюється, починаючи з другого, третього, четвертого,…, (N-1)-го елементу.
Сортування підрахунком
Ідея методу базується на тому, що значення j-го елемента в упорядкованій послідовності перевищує рівно (j-1) інших елементів. Таким чином, попарно порівнюються усі елементи та підраховується, скільки з них менше (більше) кожного окремого елемента, що дозволяє визначити номер розглянутого елемента в упорядкованому масиві.
Розв’яжемо приклад 2, але вже методом перестановки за індексами:
REM Перестановка за індексами
INPUT N: DIM A(N)
FOR I=1 TO N: INPUT A(I): NEXT I
FOR I=1 TO N: PRINT A(I): NEXT I
FOR J=1 TO N-1
MIN=A(J)
FOR I=J TO N
IF A(I)<MIN THEN MIN=A(I): K=I
NEXT I
SWAP A(J), A(K)
NEXT J
FOR I=1 TO N: PRINT A(I): NEXT I
END
Приклад 3. Задано масив U(N) та натуральне число К. Упорядкувати елементи, починаючи з елементу з номером К, за зростанням. Для розв’язання цієї задачі застосуємо комбінований метод.
REM Сортування комбінованим методом
20 INPUT N,K
IF 1<=N AND N<K THEN GOTO 40 ELSE GOTO 20
40 DIM U(N)
FOR I=1 TO N: INPUT U(I): NEXT I
FOR I=K TO N-1
FOR J=I+1 TO N
IF U(I)>U(J) THEN SWAP U(I),U(J)
NEXT J,I
FOR I=1 TO N
PRINT U(I)
NEXT I
END
Практика показала, що розв’язання задачі на сортування елементів масиву доцільно подавати у вигляді таких етапів:
ввести вхідний масив;
надрукувати вхідний (не впорядкований масив);
визначити номери початкового та кінцевого елементів тієї частини масиву, яка підлягає сортуванню;
здійснити сортування;
вивести впорядкований масив.
Приклад 4. Задано масив A(M), де M – парне число. Упорядкувати першу половину його в порядку зростання, а другу – у порядку спадання значень елементів.
REM Лабораторна робота №9, задача №1
CLS
REM Сортування одновимірного масиву
INPUT "Введіть розмірність масиву"; M
DIM A(M)
FOR I = 1 TO M:
INPUT "Введіть елементи масиву"; A(I)
NEXT I
CLS
PRINT "Вхідний масив"
FOR I = 1 TO M: PRINT A(I): NEXT I
’ Сортування першої половини масиву в порядку зростання
K = M / 2 : L = K + 1
FOR P = 1 TO K - 1
FOR I = 1 TO K - 1
IF A(I) > A(I + 1) THEN SWAP A(I), A(I + 1)
NEXT I, P
' Сортування другої половини масиву в порядку спадання
FOR P = L TO M - 1
FOR I = L TO M - 1
IF A(I) < A(I + 1) THEN SWAP A(I), A(I + 1)
NEXT I, P
PRINT "Впорядкований масив"
FOR I = 1 TO M: PRINT A(I): NEXT I
END
Приклад 5. Задано масив A(M). Упорядкувати N останніх елементів у порядку спадання їх значень (відомо, що N<M).
CLS
REM Лабораторна робота №9, задача №2
INPUT " Введіть розмірність масиву "; M
INPUT "Введіть кількість елементів, які необхідно впорядкувати"; N
PRINT “Введіть елементи масиву”
FOR I = 1 TO M: INPUT A(I);: NEXT I
CLS
PRINT " Вхідний масив "
FOR I = 1 TO M: PRINT A(I);: NEXT I
' Сортування N останніх елементів
R = M - N + 1
FOR P = R TO M - 1
FOR I = R TO M - 1
IF A(I) < A(I + 1) THEN SWAP A(I), A(I + 1)
NEXT I,P
PRINT " Впорядкований масив "
FOR I = 1 TO M: PRINT A(I);: NEXT I
END