ЛАБОРАТОРНА РОБОТА
з дисципліни "Основи програмування"
на тему
Алгоритмічні мови: обробка одновимірних масивів
Мета роботи: отримання навичок роботи з масивами, їхня вода і виведення, закріплення навичок організації програм циклічної структури.
Постановка завдання:
1. Вивчити способи опису і використання масивів, алгоритми сортування масивів, сортування вибором, вставками і обмінну сортування. Так само алгоритми пошуку елемента в неврегульованих і впорядкованому масивах.
2. Розробити алгоритм та програму для вирішення завдання відповідного варіанту.
3. Підібрати набори тестових даних.
Завдання до роботи:
1. Якщо в масиві немає повторюваних елементів, то порядок його за зростанням.
2. Набрати програму, налагодити її, протестувати. Роздрукувати текст програми та результати її роботи на тестових даних.
Хід виконання роботи
1. Набори тестових даних
Перший набір тестових даних: {0,9,8,7,6,5,32,6,4,3}
Другий набір тестових даних: {2,4,16,23,34,45,76,91,98,100}
2. Текст програми
PROGRAM LAB5;
PROCEDURE SORT_MAS (SIZ: WORD; a: array of byte);
VAR
S: BYTE; K, i: WORD;
BEGIN
REPEAT
S: = 0;
BEGIN
FOR K: = 3 downTO 1 DO
BEGIN
FOR I: = 0 TO (SIZ-K) DO
BEGIN
IF (A [I]> A [I +1]) THEN
BEGIN
A [I]: = A [I] + A [I +1];
A [I +1]: = A [I]-A [I +1];
A [I]: = A [I]-A [I +1];
S: = 1
END
END
END
END;
UNTIL S = 0;
WRITELN ('Масив після впорядкування:');
WRITELN;
for k: = 1 to SIZ do write (a [k], ',');
end;
VAR
powtor: array [1 .. 256] of byte;
a: array [1 .. 10000] of byte;
SIZ, w: WORD;
q: byte;
BEGIN
WRITELN ('Введіть довжину масиву'); readln (siz);
WRITELN ('Введіть масив:');
for w: = 1to siz do
begin
write ('a [', w ,']='); readln (a [w])
end;
for w: = 1 to 256 do powtor [w]: = 0;
for w: = 1 to siz do powtor [(a [w]) +1]: = powtor [(a [w]) +1] +1;
w: = 1;
Q: = 0;
repeat
begin
if powtor [w]> 1 then q: = 1;;
w: = w +1
end;
until (q = 1) or (w> = 255);
if q = 0 then sort_mas (siz, a)
ELSE
writeln ('Даний масив містить елементи, що повторюються!')
END.
3. Результати роботи
Приклад № 1.
Введіть довжину масиву
10
Введіть масив:
a [1] = 0
a [2] = 9
a [3] = 8
a [4] = 7
a [5] = 6
a [6] = 5
a [7] = 32
a [8] = 6
a [9] = 4
a [10] = 3
Даний масив містить повторювані елементи!
Приклад № 2.
Введіть довжину масиву
10
Введіть масив:
a [1] = 100
a [2] = 2
a [3] = 4
a [4] = 98
a [5] = 76
a [6] = 45
a [7] = 23
a [8] = 91
a [9] = 34
a [10] = 16
Масив після впорядкування: 2,4,16,23,34,45,76,91,98,100
4. Опис помилок, виявлених при налагодженні програми
При налагодженні програми помилок не виявлено.
Висновки
У ході лабораторної роботи були досягнуті наступні цілі:
1. Було вивчено теоретичний матеріал з обробки масивів даних у мові програмування Pascal.
2. Вивчені різні способи опису та використання масивів, алгоритми сортування масивів, сортування вибором, вставками і обмінна сортування. Так само алгоритми пошуку елемента в неврегульованих і впорядкованому масивах.
3. Розроблено алгоритм та складено програму для вирішення завдання відповідного варіанту.
4. Підібрано набори тестових даних, які були використані при прогоні програми на наявність помилок.