Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
7
Добавлен:
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-го рядка?

Завдання до лабораторної роботи 8

Мета : Навчитись задавати елементи одновимірного масиву. Вводити, виводити елементи та складати алгоритм та програму для поелементної обробки масивів.

Задано масив Х {-12.4,0,12.3,-1,0.01,0,123.3,-18.97,0,0.8, 10.01,-1.2,11.2,12.3,13.6, 0, -5.2,12.3, -111.3, 45.7, -6.7,0,2.1}.

Скласти алгоритм та програму, де передбачити наступні дії

  1. Ввести поелементно масив у пам’ять комп’ютера у диалозі;

  2. Поелементно обробити масив згідно індивідуальних завдань(див. Табл(1);

  3. Вивести результуючий масив (якщо його було змінено) та результат роботи.

  4. Переписати програму та відповідь з екрану в зошит та показати викладачеві.

Таблиця (1). Варіанти індивідуальних завдань

Варіанти

Виконати аналіз та знайти значення наступних величин

1

¦Середнє арифметичне від'ємних елементів і їх кількість

2

Середнє геометричне додатніх елементів і їх кількість

3

Знайти найбільший елемент і поміняти його місцем з останнім

4

Середнє арифметичне натуральних логарифмів додатніх елементів з непарними номерами та їх кількість.

5

Упорядкувати елементи масиву по збільшенню

6

Упорядкувати елементи масиву по зменшенню

7

Записати в цей масив спочатку всі від’ємні числа а потім всі додатні, зберігаючи порядок розташування елементів

8

Записати в цей масив спочатку всі додатні числа а потім всі від’ємні, зберігаючи порядок розташування елементів

9

Знайти найменший елемент і поміняти його місцем з найбільшим

10

Обчислити a0an + a1an-1 +…+ ana0 Звернути увагу на наявність співпадаючих елементів у сумі.

11

Знайти середнє арифметичне елементів масиву, та найбільше відхилення від нього елементів масиву : мах(|a1-sa|, |a2-sa|, … .|an-sa|)

12

Утворити інший масив: елементи якого є частковими сумами елементів даного масиву

13

Суму S1 елементів , які відрізні від 0 з парними номерами та їх кількість К1 , та суму S2 елементів, відрізних від 0 та їх кількість К2.

14

Підрахувати добуток ненульових елементів та кількість додатніх

15

Кількість елементів, які належать до проміжку [-1 до 11], надрукувати також номера елементів та їх значення.

Пояснення: Середнє арифметичне елементів масиву з N елементів

Середнє геометричне К елементів,які більші від 0

Часткова сума k=1,2..n

Теоретичні відомості для виконання роботи 8.

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