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

2. Обробка двохмiрних масивів

Двохмiрнi масиви являють собою набiр елементiв, упорядкованих у рядки, у кожному з яких міститься одна і та ж кількість елементів. Положення елементів визначається двома iндексами: першим визначається номер рядка, другим - мiсце елемента у рядку (часто це місце називають стовпцем).

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

Опис двохмірного масиву (матриці) відбувається одним із способів:

у блоці TYPE: type M = array [r1..r2,s1..s2] of <тип>;

у блоці VAR: var a : array [r1..r2,s1..s2] of <тип>;

b : M;

У розділі опису констант, я к типізовану константу:

Приклад:

Const M : array [1..2,1..3] of byte =(( 5,76,234),(12,0,1));

Звернення до елемента масиву відбувається через ім'я масиву по номеру рядка та стовбця: A[2,3], A[t,z], A[i+1,k*2] тощо.

Для доступу до елементів масиву та їх поелементної обробки користуються частіше за все вложеним оператором арифметичного циклу FOR.

Приклад:

Дана матриця B[i,j] дiйсних чисел, де i=1,2,3; j=1,2,3,4,5. Визначити добуток елементiв кожного стовбця матрицi.

PROGRAM b1;

CONST

KI=3; KJ=5;

TYPE m=ARRAY [1..KI,1..KJ] OF REAL;

VAR b:m;

i,j:INTEGER;

p:REAL;

BEGIN

WRITELN('Введiть значення матрицi B[i,j]');

FOR i:=1 TO KI DO

FOR j:=1 TO KJ DO

BEGIN

WRITE ('B[',I:2,J:2,']= ');

READLN(b[i,j]);

END;

WRITELN('Початкова матриця B[',ki:2,kj:2,'] ');

FOR i:=1 TO ki DO

BEGIN

FOR j:=1 to kj DO

WRITE(B[i,j]:5:2);

WRITELN;

END

FOR i:=1 TO kj DO

BEGIN

p:=1.0;

FOR j:=1 to ki DO

p:=p*b[i,j]

WRITELN('Добуток p=',p:8:2, 'в стовбці', j:2 );

END;

ЕND.

Питання для самоконтролю

  1. Що називається масивом?

  2. Які способи опису масивів вам відомі?

  3. Що таке ідентифікатор масиву?

  4. Як ввести одновимірний масив?

  5. Як вивести одновимірний масив (у стовпчик та у рядок)?

  6. Як ввести двовимірний масив?

  7. Як вивести двовимірний масив (по рядкам та по стовпчикам)?

  8. Що таке розмірність масиву?

  9. Що називається індексом масиву?

  10. Чим відрізняється тип індекса від базового типу?

  11. Чи можна ввести елементів у масив більше (менше), ніж описаноу квадратних дужках? Обгрунтувати відповідь

  12. Як отримати доступ до елементів масиву?

  13. Який цикл буде верхній, коли потрібно знайти добуток елементів у кожному стовбці (рядку) матриці?

  14. Як на мові ТР70 записати елемент матриці В, який знаходиться на 7 місці 4-го рядка?

Соседние файлы в папке Labtp_1s