ВІКІСТОРІНКА
Навигация:
Інформатика
Історія
Автоматизація
Адміністрування
Антропологія
Архітектура
Біологія
Будівництво
Бухгалтерія
Військова наука
Виробництво
Географія
Геологія
Господарство
Демографія
Екологія
Економіка
Електроніка
Енергетика
Журналістика
Кінематографія
Комп'ютеризація
Креслення
Кулінарія
Культура
Культура
Лінгвістика
Література
Лексикологія
Логіка
Маркетинг
Математика
Медицина
Менеджмент
Металургія
Метрологія
Мистецтво
Музика
Наукознавство
Освіта
Охорона Праці
Підприємництво
Педагогіка
Поліграфія
Право
Приладобудування
Програмування
Психологія
Радіозв'язок
Релігія
Риторика
Соціологія
Спорт
Стандартизація
Статистика
Технології
Торгівля
Транспорт
Фізіологія
Фізика
Філософія
Фінанси
Фармакологія


Основні дії з елементами масивів.

До типових завдань на використання одномірних масивів відносяться такі:

■ знаходження суми (добутку) елементів масиву;

■ визначення найбільшого (найменшого) елемента в масиві;

■ знаходження кількості елементів масиву, що задовольняють певним умовам;

■ упорядкування масиву в порядку зростання (зменшення) елементів.

Розглянемо тип завдання визначення найбільшого (найменшого) eлемента в масиві на наступному прикладі.

Приклад

Для сукупності 15 чисел

х=(0.01; -27.3; 0; 1.25; -371; 0.5; -0.1; 1.2; -5; -172.3; 19.1; -2.7; 43.51; 0; -0.02) знайти найменший елемент та його номер.

Скласти таблицю ідентифікаторів, блок-схему алгоритму та TP-програму для обробки одномірного масиву.

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

program UIPA;

uses crt;

type

MAS=array[1..15]of real;

var

x:MAS; i,n:integer; min:real;

begin

clrscr;

writeln ('Введення елементів масиву');

for i:=l to 15 do

begin

write('x[',i,']='); readln(x[i]);

end;

min:=x[l];

n:=l;

for i:=2 to 15 do

begin

if x[i]<min then

begin

min:=x[i]; n:=i;

end;

end;

writeln ('Виведення мінімального елементу', min:5:2,' ', 'Його номер:',n);

readln

end.

Двовимірні масиви.

Якщо за кожним елементом масиву закріплений тільки один його порядковий номер, то такий масив називається лінійним. Взагалі кількість індексів елементів масиву визначає розмірність масиву. По цій ознаці масиви діляться на одномірні (лінійні), двовимірні, тривимірні і т.п.

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

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

Масив, як і будь змінна TP-програми, перед використанням має бути оголошеним у розділах оголошення типів та змінних.

Опис типів двовимірних масивів у мові Pascal здійснюється аналогічно опису типів одномірних масивів з додаванням діапазону зміни другого індексу.

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

Ім’я: аrray[нижній перший індекс.. верхній перший індекс, нижній другий індекс .. верхній другий індекс ] ofтип;

де ім’я - ім’я змінної масиву;

аrrау -зарезервоване слово мови TPascal, яке означає, що змінна є масивом;

нижній перший індекс, верхній перший індекс, нижній другий індекс, верхній другий індекс нижній індекс - цілі константи, які визначають діапазон зміни індексу елементів масиву та кількості елементів (розмір) масиву;

тип - тип елементів масиву.

Наприклад, задана матриця А розмірністю 3 4 має наступний вид:

Тут елемент A[2,1]=5, A[1,2]=-7, A[3,2]=5, A[3,3]=-8. Перший індекс елемента двовимірного масиву задає номер рядка матриці, у якій розташований елемент, другий індекс - номер стовпця.

Якщо число рядків матриці рівняється числу стовпців, то матриці даного типу називаються квадратними. Елементи квадратної матриці виду B[1,1], B[2,2], B[3,3]... становлять головну діагональ матриці. Іноді вводять поняття побічної діагоналі квадратної матриці для елементів виду B[1,N], B[2,N-1], B[3,N-2]...B[N,1], де N - число рядків (стовпців) матриці.

Приклади:

ТУРЕ МАТR = АRRАY [1..4,1..5] ОF INTEGER;

ТУРЕ В = АRRАY [2..9,0..6] ОF REAL;

ТУРЕ С=АRRAY[-1..4,-1..4] ОF CHAR.

Також допускається вказівка імені іншого типу масиву як тип елементів масиву, наприклад:

ТУРЕ VEC=АRRАУ[1 ..4] ОF REAL;

МАS=АRRАУ[1..5] ОF VEC.

Такий запис еквівалентний наступному:

ТУРЕ МАS=АRRАУ[1 ..5,1..4] OF REAL.

В результаті наведеного вище опису тип масиву MAS буде оголошений як тип двовимірного масиву, перший індекс якого буде мінятися від 1 до 5, а другий індекс - від 1 до 4, тобто розмірність масиву складе 5 4 елементів.

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

Приклади

Нехай задана матриця А розмірністю 3 4 із дійсних чисел. Знайти найбільший елемент у другому рядку даної матриці.

Program max_st;

Type Matr=array[1..3,1..4] of real;

Var max: real;

a:Matr;

i,j:integer;

begin

for i:=1 to 3 do

for j:=1 to 4 do begin

write(' a=[', i, ',',j,']='); readln(a[i,j]);

end;

max:=a[2,1];

for j:=2 to 4 do

if max<a[2,j] then max:=a[2,j];

writeln ('Найбільший елемент другого рядка =', max:8:2); end.

 

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

 


Блок-схема до задачі 1


Блок-схема до задачі 2


© 2013 wikipage.com.ua - Дякуємо за посилання на wikipage.com.ua | Контакти