Міністерство освіти та науки України
Національний університет «Львівська політехніка»
Інститут телекомунікацій, радіоелектроніки та електронної техніки
Кафедра теоретичної радіотехніки та радіовимірювань
Звіт з лабораторної роботи №9
Тема «Сортування даних»
з дисципліни «Інформатика та обчислювальна техніка»
Мета роботи — засвоїти методи створення, доступу та використання базового структурованого типу даних — масивів, засвоїти програмну реалізацію методів сортування даних.
Варіант 10
ЗАВДАННЯ.
Серед елементів матриці А заданого розміру m x n знайти максимальний і мінімальний. Задану групу елементів цієї ж матриці відсортувати за зростанням або зменшенню і знайти максимальний і мінімальний елемент групи. Додаткове завдання. Вивести всі елементи групи у випадковій послідовності.
№ варіанту
№ матриці
Група
Сортування
10
4
крім 1-го рядка і 1-го стовпця
зменшеннм
ВИКОНАННЯ ЗАВДАННЯ.
Задана матриця m=4, n=4, де m ( кількість рядків, n ( кількість стовпців.
4
ПОСТАНОВКА ЗАДАЧІ.
Вхідні дані — розміри матриці m i n. Ввести значення елементів матриці з використанням раніш підготованих даних. Одночасно із вводом (в одному циклі) виконати:
пошук мінімального значення min A;
пошук максимального значення max A; формування одномірного масиву елементів, розташованих нижче головної діагоналі, тобто елементів, для яких номер рядка більший за номер стовпця;
виведення введених значень у вигляді матриці.
Далі вивести значення сформованого масиву, відсортувати їх за зростанням і вивести відсортований масив. Окремо вивести перший і останній елементи масиву, які є відповідно мінімальним і максимальним елементами групи.
РОЗРОБКА СТРУКТУРИ ДАНИХ.
Позначення
Ім’я
Тип
Призначення, опис
А
A(5,5)
двомірний масив дійсних
вхідна (задана) матриця
m
M
ціла
кількість рядків, вхідна
n
N
ціла
кількість стовпців, вхідна
I
ціла
номер рядка
J
ціла
номер стовпця
MX
дійсна
значення найбільшого елемента матриці
MN
дійсна
значення найменшого елемента матриці
С(10)
масив дійсних
група елементів, розташованих нижче головної діагоналі
K
ціла
кількість вже розміщених за зростанням елементів масиву С
L
ціла
номер ще не відсoртованого елементу масиву С
LM
ціла
кількість елементів масиву С
РОЗРОБКА АЛГОРИТМУ
ТЕКСТ ПРОГРАМИ.
Program L9;
uses Crt;
const
N=4;M=4;
{ A:array [1..4,1..4] of real=((1.1,2,-3,4),
(7,2.1,3,7.9),
(2,1,5.6,3.2),
(4,-3,1.7,2));
}
var
f:text;
A:array [1..N,1..M] of real;
I,J,L,K,LM:byte;
MX,MN, d: real;
C: array[1..9]of real;
Begin
{for i:=1 to n do
for j:=1 to m do
begin
Write('?A[',i,',',j,'j]=');
Readln(A[i,j])
end; }
assign(f,'in_a4.txt');
reset(f);
for i:=1 to n do
begin
for j:=1 to m do
Read(f,A[i,j]);
Readln(f)
end;
Close(f);
ClrScr;
Writeln(' MATRIX 4 ');
{?+}
Writeln('A=');
for i:=1 to n do
begin
GotoXY(4,i+2);
Write(chr(179));{і}
for j:=1 to m do
Write(A[i,j]:5:1);
Writeln(chr(179));;
end;
MX:=A[1,1];MN:=A[1,1];
LM:=0;
for i:=1 to n do
for j:=1 to m do
begin
if MN>A[i,j] then MN:=A[i,j] ;
if MX<A[i,j] then MX:=A[i,j] ;
{if (i<>1) or (j>=2) then begin LM:=LM+1;
C[LM]:=A[i,j];
end;
}end;
Writeln;
Writeln('MIN A=',MN:5:1,' MAX A=',MX:5:1);
Writeln;
{}
for i:=2 to n do
for j:=2 to m do
begin
LM:=LM+1;
C[LM]:=A[i,j];
end;
Randomize;
Writeln;
Write('GRUPA: ');
for L:=1 to LM do
begin
Write(C[random(LM-1)+1]:5:1);
end;
Writeln ;
for K:=1 to LM do
for L:=k+1 to LM do
if C[K]<C[L] then begin d:=C[K];C[K]:=C[L];C[L]:=d end;
Writeln;
Write('VPORJADKOVANA SA SMENSCHENNJAM: ');
for L:=1 to LM do
begin
Write(C[l]:5:1);
end;
Writeln ;
Writeln;
Writeln ('MIN GRUPY ',C[LM]:5:1,' MAX GRUPY ',C[1]:5:1) ;
Readln;
End.
НАЛАГОДЖЕННЯ ТА РЕЗУЛЬТАТИ ТЕСТУВАННЯ.
Висновок: - на лабораторній роботі я засвоїв методику створення, доступу та використання базового структурованого типу даних — масивів, засвоїти програмну реалізацію методів сортування даних.