- •Інформація та інформаційні процеси Поняття інформації.
- •Одиниці вимірювання інформації.
- •Подання інформації та типи комп'ютерів.
- •Способи пересилання інформації.
- •Будова комп'ютера
- •Пристрої введення-виведення інформації.
- •Процесор
- •Принципи функціонування комп'ютера Фізичні принципи
- •Програмний принцип
- •Поняття про середовища програмування
- •Загальна характеристика мови паскаль
- •Поняття інтегрованого середовища
- •Команда New
- •Команда Open
- •Основи алгоритмізації Алгоритми та їх властивості
- •Блок-схеми
- •Загальна характеристика Паскаль-програми
- •Структура Паскаль-програми
- •Елементи мови Паскаль
- •Прості типи даних
- •Стандартні типи даних
- •Дійсний тип
- •Логічний тип
- •Символьний тип
- •Конструйовані типи
- •Перелічуваний тип
- •Оператори надання значень змінним Оператор присвоєння
- •Уведення-виведення
- •Порядок виконання операцій
- •Складений оператор
- •Стиль запису програми
- •Структури керування
- •Структура послідовного виконання
- •Структура розгалуження
- •Умовний оператор
- •Оператор варіанта
- •Оператор безумовного переходу
- •Структура повторення
- •Цикл з параметром
- •Цикл з передумовою
- •Цикл з післяумовою
- •Ітераційні цикли
- •Обчислення суми знакозмінного ряду із заданою точністю
- •Процедури і функції
- •Процедури з параметрами. Параметри-значення
- •Одномірні масиви
- •Поняття масиву. Одномірний масив та його опис в програмі
- •Обчислення скалярного добутку двох векторів
- •Знаходження найбільшого (найменшого) значень серед елементів масиву
- •Обчислення суми та добутку елементів масиву
- •Перетворення масиву по заданому закону
- •Впорядкування одномірних масивів
- •Впорядкування шляхом вибору
- •Впорядкування обмінами
- •Впорядкування вставками
- •Зливання впорядкованих масивів
- •Двомірні масиви Поняття двомірного масиву та його опис у програмі
- •Ввід та вивід значень елементів двомірного масиву Ввід значень елементів двомірного масиву
- •Вивід значень елементів двомірного масиву a[m,n]
- •Рядковий тип (string)
- •Комбіновані типи Організація комбінованих типів у Паскалі
- •Оператор приєднання
- •Множинні типи Організація множин
- •Файлові типи Організація файлів
- •Підготовчі та завершальні операції
- •Операції уведення-виведення
- •Стандартні файли input і output
- •Модулі Модуль і його структура
- •Стандартні модулі
- •Наближене знаходження коренів рівнянь Дослідження рівняння. Відокремлення коренів
- •Метод поділу проміжку пополам
- •Метод хорд
- •Метод дотичних
- •Чисельне інтегрування
- •Квадратурні формули прямокутників
- •Загальні формули прямокутників
- •Квадратурна формула трапецій
- •Практичні оцінки точності квадратурних формул. Вибір кроку інтегрування
- •Список літератури
Впорядкування одномірних масивів
Задача впорядкування одномірного масиву a(a[1], a[2], … a[n]), в якому значення елементів розміщені довільним чином, полягає в такій їх перестановці, щоб для новосформованого масиву виконувались нерівності:
.
Існує багато методів розв’язування цієї задачі. Показником, за яким оцінюють ефективність того чи іншого методу, є його швидкодія.
Для оцінки швидкодії алгоритмів різних методів впорядкування використовують два критерії - кількість присвоювань та кількість порівнянь.
До класичних методів впорядкування масивів відносяться:
впорядкування шляхом вибору;
впорядкування обмінами;
впорядкування вставками.
Впорядкування шляхом вибору
В масиві a[1], a[2], … a[n] знаходимо найменший елемент і переставляємо його з першим. На другому кроці знаходимо найменший елемент в діапазоні елементів з другого по n-ий і переставляємо його з другим, і так далі для всіх елементів від 1-го до (n-1)-го.
program VporVybir;
uses
Crt;
var
a:array[1..20] of real;
min:real;
i,j,nom,n:integer;
begin
ClrScr;
Writeln('Введіть довжину масиву n<=20');
Readln(n);
Writeln;
Writeln('Введіть поелементно масив a:');
For i:=1 to n do Read(a[i]);
Writeln;
{Початок реалізації методу}
For i:=1 to n-1 do
Begin
{пошук поточного мінімального елемента}
min:=a[i];
nom:=i;
for j:=i+1 to n do
if a[j]<min then
begin
min:=a[j];
nom:=j;
end;
{обмін мінімального та i-го елементів}
a[nom]:=a[i];
a[i]:=min;
End;
{Кінець реалізації методу}
{Друк впорядкованого масиву}
Writeln('Впорядкований масив');
For i:=1 to n do Write(a[i]:8:2);
Writeln;
ReadKey;
end.
Впорядкування обмінами
Послідовно переглядаючи масив a[1], a[2], … a[n] знаходимо найменше значення індексу і таке, що для нього виконується нерівність a[i]>a[i+1]. Помінявши місцями елементи a[i] та a[i+1], продовжуємо перегляд з a[i+1] елементу. В результаті найбільший елемент перемістився в правий кінець масиву. Другий крок виконується аналогічно для елементів з 1-го по (n-1)-й. Всього потрібно зробити n-1 крок.
program VporObmn;
uses
Crt;
var
a:array[1..20] of real;
b:real;
i,k,n:integer;
begin
ClrScr;
Writeln('Введіть довжину масиву n<=20');
Readln(n);
Writeln('Введіть поелементно масив a:');
For i:=1 to n do Read(a[i]);
Writeln;
{Початок реалізації методу}
For k:=n downto 2 do
{Перенос поточного максимального значення на k-ту позицію}
For i:=1 to k-1 do
if a[i]>a[i+1] then
begin
b:=a[i];
a[i]:=a[i+1];
a[i+1]:=b
end;
{Кінець реалізації методу}
Writeln('Впорядкований масив');
For i:=1 to n do Write(a[i]:8:2);
Writeln;
ReadKey;
end.