Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Приклад програми з двовимірним масивом



Завдання. Скласти схему алгоритму та проект програми в Delphi для введення за допомогою компонента StringGrid елементів матриці F дійсних чисел розміром 4*5 й визначити:

· максимальний елемент матриці та його місцезнаходження;

· добутки додатних елементів стовпчиків матриці з виведенням результату (вектора добутків D) в StringGrid.

·

 
 

Форма проекту програми (із результатами обчислень) має вигляд:

 

Схеми алгоритмів підпрограм розрахунків наведено на рисунках 6.1-6.3.

 

 


 

 

Текст програми :

unit Unit1;

interface

……………………………….

implementation

{$R *.DFM}

// опис типів та глобальних елементів

Type matr=array [1..4,1..5] of real;

vect= array [1..5] of real;

var i,j:integer;

// процедура знаходження максимального елементу та його координат

procedure max_el(F:matr; var max:real;var mi,mj:integer);

begin

max:=F[1,1]; mi:=1; mj:=1;

for i:=1 to 4 do

for j:=1 to 5 do

if F[i,j]>max then

begin max:=F[i,j];

mi:=i; mj:=j;

end;

end;

 

// процедура обчислення добутків додатніх елементів

procedure dobut (F:matr; var D:vect);

begin

for j:=1 to 5 do

begin D[j]:=1;

for i:=1 to 4 do

if F[i,j]>0 then D[j]:= D[j]*F[i,j];

end;

end;

 

// процедура відгуку на натиснення кнопки “Вихід”

procedure Tform1.Button3Click(Sender: Tobject);

begin

close;

end;

 

// процедура відгуку на утворення форми проекту

//( виведення заголовків рядків та стовпчиків)

procedure Tform1.FormCreate(Sender: Tobject);

begin

for i:=1 to 4 do

kM.cells[0,i]:=IntToStr(i)+’-й рядок’;

for j:=1 to 5 do

kM.cells[j,0]:=IntToStr(j)+’-й стовпчик’;

for j:=1 to 5 do

kD.cells[j-1,0]:=IntToStr(j)+’-й ‘;

end;

 

// процедура відгуку на натиснення кнопки “Пуск”

procedure Tform1.Button1Click(Sender: Tobject);

var sm,smax,sd:string; F:matr;D:vect;

ier,imax,jmax:integer; max:real;

begin

for i:=1 to 4 do

for j:=1 to 5 do

begin

sm:=kM.cells[j,i];

val(sm,F[i,j],ier);

end;

// виклик підпрограми знаходження максимального елементу

max_el(F,max,imax,jmax);

// виведення максимального елементу та його координат

Str(max:5:1,smax);

Edit1.Text:=’Мах=’+smax+’ рядок=’+IntToStr(imax)+

‘ стовпчик=’+IntToStr(jmax);

 

// виклик підпрограми обчислення добутків додатніх елементів

dobut (F,D);

// виведення вектору добутків

for j:=1 to 5 do

begin

str(D[j]:5:1,sd);

kD.cells[j-1,1]:=sd;

end;

end;

 

// процедура очищення компонент форми

procedure Tform1.Button2Click(Sender: Tobject);

begin

for i:=1 to 4 do

for j:=1 to 5 do

kM.cells[j,i]:=’ ‘;

for j:=1 to 5 do

kD.cells[j-1,1]:=’ ‘;

Edit1.Clear;

end;

end.

4. Контрольні запитання

1 Як визначити вимірність масиву?

2 Які з наведених нижче описів двовимірних масивів неправильнi й чому?

а) Var C : array [ 1.. 5 ], [ 1.. 5 ];

б) Var C=array [ 1.. 5, 1.. 5 ] of real;

в) Var C : array [ 1, 5; 1, 5 ] of integer;

г) Var C : array [ 1.. 5, 1...5 ] of char;

3 Матриця цілих чисел складається з 3-х рядків і 5-ти стовпчиків. Напишіть фрагмент програми для введенння її елементів.

4 Матриця цілих чисел складається з 3-х рядків і 5-ти стовпчиків. Надайте значення елементам масиву у розділі опису.

5 Для матриці дійсних чисел, з 3-х рядків і 5-ти стовпчиків напишіть фрагмент програми для виведення на форму її елементів.

5. Лабораторне завдання

1. Скласти схеми алгоритмів, розробити проект форми та програми алгоритмічною мовою Object Pascal для виконання індивідуального завдання відповідно до варіантів. В проекті передбачити введення елементів матриці з клавіатури через компонент StringGrid (значення придумати самостійно) і виведення одержаних результатів на форму.

2. Оформити протокол для виконання лабораторної роботи.

3. При виконанні програми на комп’ютері значення елементів масиву (матриць) обрати самостійно, записати в протокол результати роботи проекту програми.

6. Варіанти індивідуальних завдань

1 В матрицi дійсних чисел з 5-ти рядків і 4-х стовпчикiв визна­чити кількість додатніх, від’ємних і нульових елементів.

2 В матрицi цілих чисел розміром 4´5 визначити номер рядка, котрий містить найбiльший елемент.

3 Визначити мінімальний елемент головної діагоналі квад­ратної матрицi розміром 5´5 і номер рядка, в якому він зна­ходиться.

4 Одержати вектор добуткiв непарних елементів парних рядків матрицi дійсних чисел розміром 6´3.

5 В матрицi цілих чисел розміром 3´5 замінити від’ємні елементи нулями.

6 Одержати вектор скалярних добуткiв елементів першого рядка матрицi цілих чисел розміром 4´4 на стовпчики цієї матрицi.

7 Визначити номер стовпчика матрицi дійсних чисел розміром 4´5 з найменшою сумою елементів.

8 Одержати вектор скалярних добуткiв рядків матрицi цілих чисел розміром 5´5 на її неголовну діагональ.

9 Помiняти місцями елементи першого рядка матрицi дійсних чисел розміром 4´4 і елементи її неголовної діагоналі.

10 Одержати вектор добуткiв парних елементів непарних стовпчиків матрицi цілих чисел розміром 4´5.

11 Визначити максимальний і мінімальний елементи матрицi дійсних чисел розміром 6´6 і помiняти їх місцями.

12 Визначити найбiльший елемент з числа від’ємних елементів парних стовпчикiв матрицi цілих чисел розміром 4´6.

13 Визначити номер рядка матрицi цілих чисел розміром 4´5 з найбільшою сумою елементів.

14 Одержати вектор скалярних добуткiв рядків матрицi дiйсних чисел розміром 4´4 на її останній стовпчик.

15. Обчислити суму елементів неголовної діагоналі матрицi цілих чисел розміром 5´5.

16. Одержати вектор скалярних добуткiв елементів стовпчикiв матриці дійсних чисел розміром 3´3 на її головну діагональ.

17. Для матрицi цілих чисел розміром 5´5 одержати транспо­новану матрицю.

18. Визначити номер рядка матрицi дійсних чисел розміром 6´3, що містить найменший елемент.

19. Визначити мінімальний елемент неголовної діагоналі матрицi цілих чисел розміром 5´5 і номер стовпчика, в якому він знаходиться.

20. Одержати вектор сум елементів рядків матрицi цілих чисел розміром 7´3.

21. Замінити в непарних рядках матрицi дiйсних чисел розміром 7´4 від’ємні елементи нулями, а позитивні елементи одиницями.

22. Замінити елементи головної діагоналі матрицi цілих чисел розміром 3´3 сумами елементів її рядків.

23. В матрицi дiйсних чисел розміром 7´3 визначити номер рядка з найменшою сумою елементів.

24. Знайти в матрицi цілих чисел розміром 7´4 найменший елемент з числа додатніх і найбiльший з числа від’ємних і помiняти їх місцями.

25. Обчислити різницю сум елементів головної і неголовної діагоналей матрицi дійсних чисел розміром 5´5.

26. Одержати вектор сум квадратів елементів стовпчикiв матрицi дійсних чисел розміром 3´5.

27. В матрицi цілих чисел розміром 5´5 помiняти місцями елементи головної й неголовної діагоналей.

28. Замінити елементи головної діагоналі матрицi цілих чисел розміром 3´3 сумами елементів стовпчикiв.

29. Замінити в непарних рядках матрицi дійсних чисел розміром 7´3 від'ємні елементи нулями, а позитивні елементи – одиницями.

30. Одержати вектор сум елементів непарних стовпчикiв матрицi цілих чисел розміром 3´5.





©2015 studopedya.ru Все права принадлежат авторам размещенных материалов.