1 of 20

Опрацювання двовимірних масивів даних

Урок 53

teach-inf.at.ua

9

2 of 20

Опрацювання двовимірних масивів даних

Розділ 9 § 39

До типових задач опрацювання двовимірних масивів належать завдання на обчислення:

суми

добутку

кількості

середнього арифметичного

максимуму

мінімуму

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

9

© Вивчаємо інформатику teach-inf.at.ua

3 of 20

Опрацювання двовимірних масивів даних

Розділ 9 § 39

Якщо за параметр

зовнішнього циклу

внутрішнього циклу

взяти індекс номер рядка

взяти індекс номер стовпця

То опрацювання двовимірного масиву буде йти по:

рядках

стовпцях

9

© Вивчаємо інформатику teach-inf.at.ua

4 of 20

Додавання значень елементів двовимірного масиву

Розділ 9 § 39

Уявіть, що ви — керівник фірми і вам потрібно проаналізувати динаміку продажів телефонів.

9

© Вивчаємо інформатику teach-inf.at.ua

5 of 20

Додавання значень елементів двовимірного масиву

Розділ 9 § 39

Якщо вас цікавить сумарний обсяг продажів за січень, то вам потрібно виконати додавання елементів першого стовпця таблиці «Продаж телефонів».

Продаж телефонів

№ з/п

Марка

Кількість проданих телефонів, од

Січень

Лютий

Березень

1

Nokia

80

110

120

2

Samsung

80

90

80

3

Alcotel

60

70

130

9

© Вивчаємо інформатику teach-inf.at.ua

6 of 20

Додавання значень елементів двовимірного масиву

Розділ 9 § 39

Щоб знайти загальну кількість проданих телефонів марки Samsung, треба знайти суму елементів другого рядка.

Продаж телефонів

№ з/п

Марка

Кількість проданих телефонів, од

Січень

Лютий

Березень

1

Nokia

80

110

120

2

Samsung

80

90

80

3

Alcotel

60

70

130

9

© Вивчаємо інформатику teach-inf.at.ua

7 of 20

Додавання значень елементів двовимірного масиву

Розділ 9 § 39

Якщо ж потрібно знайти загальну кількість проданих телефонів усіх марок за рік, то слід обчислити суму всіх елементів масиву.

Продаж телефонів

№ з/п

Марка

Кількість проданих телефонів, од

Січень

Лютий

Березень

1

Nokia

80

110

120

2

Samsung

80

90

80

3

Alcotel

60

70

130

9

© Вивчаємо інформатику teach-inf.at.ua

8 of 20

Додавання значень елементів двовимірного масиву

Розділ 9 § 39

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

var Tabl: array[1..4, 1..6] of Integer; і, j, Sum: Integer;

begin

Sum := 0;

For j := 1 to 6 do Sum := Sum+Tabl[3,j]; { додавання елементів третього рядка }

Edit1.Text := IntToStr(Sum);

end;

Tabl[1..4, 1..6] of Integer

9

© Вивчаємо інформатику teach-inf.at.ua

9 of 20

Додавання значень елементів двовимірного масиву

Розділ 9 § 39

Знайти суму елементів в кожному рядку масиву:

var Tabl: array[1..4, 1..6] of Integer; і, j, Sum: Integer; R: String;

begin

R := ";

For і := 1 to 4 do begin // зовнішній цикл по рядках

Sum := 0; // перед початком додавання сума обнуляється

For j := 1 to 6 do Sum := Sum+ Tabl[i,j]; { додавання елементів і-го рядка }

R := R+IntToStr(Sum)+' '; { Sum перетворюється на тип String і додається до рядка відповіді R }

end;

Edit1.Text := R;

end;

9

© Вивчаємо інформатику teach-inf.at.ua

10 of 20

Додавання значень елементів двовимірного масиву

Розділ 9 § 39

Знайти суму всіх елементів масиву:

var Tabl: array[1..4, 1..6] of Integer;

і, j, Sum: Integer;

begin

Sum := 0;

For і := 1 to 4 do

For j := 1 to 6 do

Sum := Sum+Tabl[i,j];

Edit1.Text := IntToStr(Sum);

end;

9

© Вивчаємо інформатику teach-inf.at.ua

11 of 20

Додавання значень елементів двовимірного масиву

Розділ 9 § 39

Знайти суму елементів головної діагоналі масиву:

var Tabl: array[1 ..4, 1..6] of Integer;

і, j. Sum: Integer;

Begin

Sum := 0;

For і := 1 to 4 do

Sum := Sum+Tabl[i,i]; { додавання елементів з однаковими індексами }

Edit1.Text := IntToStr(Sum);

end;

9

© Вивчаємо інформатику teach-inf.at.ua

12 of 20

Пошук елементів двовимірного масиву, які задовольняють певній умові

Розділ 9 § 39

Знайти кількість парних елементів у кожному стовпці масиву Tabl.

var Tabl: array[..4, 1..6] of Integer; і, j, К: Integer; R: String;

begin

R := ";

For j := 1 to 6 begin // зовнішній цикл по стовпцях

К := 0 // перед початком перегляду кожного стовпця К обнуляється

For і := 1 to 4 do // внутрішній цикл по рядках

If Tabl[i,j] mod 2 = 0 Then К := K+1;

R := R+IntToStr(K) + ' '; { К перетворюється на тип String і

додається до рядка відповіді R }

end;

Edit1.Text := R;

end;

9

© Вивчаємо інформатику teach-inf.at.ua

13 of 20

Розділ 9 § 39

Знайти в кожному рядку масиву Tabl кількість елементів, які перевищують середнє арифметичне значення масиву.

var Tabl: array[1..4, 1..6] of Integer;

і, j, К, Sum: Integer; R: String; Sr: Real;

Begin

R := "; { обчислення суми всіх елементів масиву }

Sum := 0;

For і := 1 to 4 do

For j := 1 to 6 do Sum := Sum+Tabl[i,j];

Sr := Sum/24; // середнє арифметичне всіх 24 елементів масиву

For і := 1 to 4 do begin // зовнішній цикл по рядках

К := 0; // перед початком перегляду кожного рядка К обнуляється

For j := 1 to 6 do If Tabl[ij] > Sr Then К := K+1;

R := R+IntToStr(K)+' ‘; end;

Edit1.Text := R; end;

9

© Вивчаємо інформатику teach-inf.at.ua

14 of 20

Пошук елементів двовимірного масиву, які задовольняють певній умові

Розділ 9 § 39

Заповнити одновимірний масив В[1..6] значеннями максимальних елементів стовпців масиву Tabl.

var Tabl : array[1 ..4, 1..6] of Integer;

В: array[1..6] of Integer; і, j, Max: Integer;

begin

For j := 1 to 6 begin // зовнішній цикл по стовпцях

Max := Tabl[1,j];

For і := 2 to 4 do

If Max < Tabl[i, j] Then Max := Tabl[i, j];

B[j] := Max;

ListBox1.Items.Add(lntToStr(B[j])); // виведення B[j] end; end;

9

© Вивчаємо інформатику teach-inf.at.ua

15 of 20

Пошук елементів двовимірного масиву, які задовольняють певній умові

Розділ 9 § 39

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

9

© Вивчаємо інформатику teach-inf.at.ua

16 of 20

Розгадайте ребус

Розділ 9 § 39

9

© Вивчаємо інформатику teach-inf.at.ua

17 of 20

Питання для самоперевірки

Розділ 9 § 39

  1. Запишіть оператор для обчислення суми елементів двовимірного масиву А[1 ..5, 1..4].
  1. Знайдіть суму елементів головної діагоналі масиву Ар..4, 1..4].
  1. Знайдіть максимальний елемент другого стовпця масиву Ар ..5, 1..4].
  1. У 5 міст відправили вагони з десятьма різними видами товарів. Складіть програму для обчислення загальної маси продукції, відправленої в кожне місто, і загальної маси продукції кожного виду.

9

© Вивчаємо інформатику teach-inf.at.ua

18 of 20

Домашнє завдання

Проаналізувати

§ 39, ст. 217-222

Розділ 9 § 39

9

© Вивчаємо інформатику teach-inf.at.ua

19 of 20

Працюємо за комп’ютером

Розділ 9 § 39

Сторінка

220-222

Вправа 39

9

© Вивчаємо інформатику teach-inf.at.ua

20 of 20

Дякую за увагу!

teach-inf.at.ua

9