Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Pascal.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
3.44 Mб
Скачать

1.2 Лічильник

Підрахунок числа днів (n_pol) з додатною середньодобовою температурою реалізує цикл for з використанням короткої форми оператора умови if_then:

n_pol:=0;

for i:=1 to n do

if T[i]>0

then

n_pol:=n_pol+1;

Тут реалізується підрахунок додатних значень масиву Т. Аналогічним шляхом можна визначити:

    • число від’ємних елементів масиву;

    • число елементів, які дорівнюють числу, що задається;

    • число елементів, більших або менших числа, що задається;

    • число елементів, які знаходяться в інтервалі значень, що задаються.

При розв’язанні цієї задачі задіяний алгоритм, який називають лічильником.

1.3 Екстремуми

Для визначення мінімального елементу T_Min масиву T припустимо, що він знаходитися, наприклад, в першій комірці T[1];

T_Min:=T[1];

Далі послідовно формуватимемо значення T[i] в наступних комірках із значеннями T_min. Якщо у всіх інших комірках від T[2] до T[n] знаходитимуться величини більші за T_min (або T[1]), то тоді значення в комірці T[1] дійсно є мінімальним і вміст змінної T_min змінювати не потрібно. Якщо ж в результаті такого послідовного порівняння виявиться, що в якійсь комірці T[i] є значення менше за значення в комірці T[1], то змінній T_min необхідно привласнити це значення:

T_min:=T[i];

Виконуючи таке порівняння далі, тобто порівнюючи T_min з T[i+1], T[i+2] тощо, зрештою виявиться, що в T_min розташовуватиметься істине мінімальне значення масиву T.

T_Min:=T[1];

for i:=2 to n do

if T[i]<T_min

then

T_min:=T[i];

2 Методи сортування

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

2.1 Метод лінійного сортування

Сутність методу.

Задано масив чисел R[1..n]. Потрібно відсортувати числа за зростанням значень. Розглянемо спочатку конкретний масив з п'яти елементів:

15 106 12 5 22.

Після його ручного сортування легко одержати таку послідовність зростаючих чисел:

5 12 15 22 106.

В цьому випадку найбільш прийнятний метод сортування такий. З наявних вихідних чисел знайти найменше (5) і помістити його в першу позицію нового запису масиву, у попередньому записі масиву це число виключити. Далі, із чисел, що залишилися, знову вибрати найменше (12) і помістити його на другу позицію нового запису. Якщо продовжити цей процес для наступних елементів, можна виявити, що останнє число вихідного масиву буде максимальним і тому його варто помістити останнім у новому записі.

У такому алгоритмі фактично використовувались вихідний масив і новий масив. У програмуванні це неприпустимо (адже масиви можуть бути величезної довжини). Тому цей цілком працюючий алгоритм необхідно модернізувати на випадок застосування тільки однієї змінної – одного масиву.

Алгоритм методу.

    1. Знайти найменший елемент масиву й помістити його в R[1]. Для здійснення цієї операції необхідно у вихідному масиві порівняти R[1] з кожним наступним елементом (тобто з R[2], R[3], R[4], R[5]). Якщо виявиться, що якийсь із цих елементів менше за R[1], то варто поміняти їх місцями й продовжувати порівняння доти, доки з R[1] не буде порівняно останній елемент масиву. Якщо при такому порівнянні виявиться, що якийсь елемент більше або дорівнює R[1], то необхідно перейти до порівняння R[1] з наступним елементом, а цей елемент залишити на тому ж місці.

    2. Виключивши з розгляду елемент у позиції 1, повторити зазначений процес, починаючи з позиції 2, тобто серед елементів, що залишилися, знайти тим самим способом найменший і помістити його в R[2].

    3. Ці дії виконати для всіх елементів масиву, за винятком останнього.

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

Першій прохід

Рисунок 1 – Порівняння R[1] з іншими елементами масиву

Другий прохід

Рисунок 2 – Другий цикл

Третій прохід

Рисунок 3 – Третій цикл

Четвертий прохід

Рисунок 4 – Четвертий цикл

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

Для сортування 5 елементів масиву нам треба було 4 цикли. Ясно, що якщо елементів масиву буде 6, буде потрібно 5 циклів, а для масиву з n елементів – (n-1) цикл.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]