Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сборник_лаб.doc
Скачиваний:
1
Добавлен:
15.11.2019
Размер:
768.51 Кб
Скачать

Контрольні питання до лабораторної роботи № 16:

  1. Які операції можна виконувати над елементами масиву?

  2. Які типи даних не припустимі для елементів масиву?

  3. Де і як визначається загальна кількість елементів масиву?

  4. Які типи даних можна використовувати при описі індексів?

  5. Чи може ліва межа індексів масиву бути менше правої?

  6. Чи може ліва межа індексів масиву дорівнювати нулю?

  7. Чи може ліва межа індексів масиву бути від’ємною?

________________________________________________________________________________________________

Лабораторна робота № 17

Тема: Складання програм з використанням алгоритмів упорядкування масивів

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

Методичні вказівки до виконання лабораторної роботи

Упорядкування масивів

Упорядкованим вважається масив, елементи якого розташовані за зростанням або спаданням. Всі методи впорядкування можна поділити на:

  • прямі методи;

  • удосконалені методи.

Прямі методи, у свою чергу, поділяються на:

  • упорядкування вставлянням;

  • упорядкування вибором;

  • упорядкування обміном.

Удосконалені методи використовують ідеї для збільшення швидкості процесу впорядкування. Прямі методи на практиці використовуються рідко, тому що мають відносно низьку швидкодію. Однак, вони добре показують суть основаних на них удосконалених методів. При невеликій кількості елементів масиву деякі з прямих методів можуть навіть перевершити удосконалені методи.

1. Упорядкування вставлянням

Масив поділяється на дві частини: впорядковану і невпорядковану. Елементи з невпорядкованої частини по черзі вибираються і вставляються в упорядковану частину, не порушуючи при цьому впорядкованості елементів. На початку роботи алгоритму до впорядкованої частини масиву відносять тільки перший елемент, а до невпорядкованої — всі інші елементи. Таким чином, потрібно (n-1) раз (n –розмірність масиву) виконати дії:

  • вибрати i-й елемент із невпорядкованої частини і зберегти в допоміжній змінній;

  • знайти позицію j у впорядкованій частині масиву, в якій вибраний елемент не порушуватиме впорядкованості;

  • зсув елементів масиву від (i-1)-го до (j-1)-го вправо для звільнення знайденої позиції;

  • вставити вибраний елемент у знайдену j–ту позицію.

Const MaxN =20;

Type TMas= array [1..MaxN] of real;

Var A: TMas; T: real; N, I, j: integer;

Begin

Write (‘Введіть кількість елементів масиву :’); Readln (N);

For i := 1 to N do begin Write (‘A[‘,i,’]=’); Readln (A[i]); end;

Writeln(‘Масив до впорядкування: ’);

For i := 1 to N do Write (A[i], ‘ ‘); Writeln;

For i:=2 to N do

Begin T:=A[i]; j:=1;

While T>A[j] do j:= j +1;

For k:=i – 1 downto j do A[k+1] := A[k]; A[j]:=T;

End;

Writeln (‘Упорядкований масив: ’);

For i := 1 to N do Write(A[i],’ ‘); Writeln;

End.