You are on page 1of 16

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

ВІДОКРЕМЛЕНИЙ СТРУКТУРНИЙ ПІДРОЗДІЛ ТЕХНОЛОГІЧНИЙ КОЛЕДЖ НАЦІОНАЛЬНОГО


УНІВЕРСИТЕТУ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»

Циклова комісія інформаційно-комп’ютерної підготовки

ІНСТРУКЦІЯ
до лабораторної роботи № 5

МАСИВИ В JAVA

з дисципліни "АЛГОРИТМІЗАЦІЯ ТА ПРОГРАМУВАННЯ"


для студентів
Спеціальності 122 «Комп’ютерні науки»
Галузі знань 12 «Інформаційні технології»

Розглянуто та схвалено
на засіданні циклової комісії
інформаційно-комп’ютерної підготовки

Протокол № 1 від 31 серпня 2020 року.


Голова комісії ________ (Павліш Л.М.)

Львів 2020
Розробник інструкції: Климкович Тамара Анатоліївно, викладач Відокремленого
структурного підрозділу Технологічного коледжу Національного університету “Львівська
політехніка”

________________ (Климкович Т.А.)

31 серпня 2020 року, – 13 с.


Мета роботи: вивчення основних прийомів роботи з масивами на мові Java.

Короткі теоретичні відомості.

Масив - це впорядкований набір однотипних елементів для звертання до яких


використовують спільне ім’я. В Java можна створювати масиви будь-якого типу,
вони можуть бути як одновимірні так і багатовимірні. До окремого елемента масиву
звертаються за його індексом, індекс записують в квадратних дужках.
Загальна форма оголошення одновимірного масиву:

<тип елементів> <назва масиву>[];

Квадратні дужки після імені змінної власне і вказують, що змінна є масивом, їх


можна записувати також і після типу:

<тип елементів>[] <назва масиву>;

Обидві форми є ідентичними.


В Java масиви є об’єктами, тому перед їх використанням слід створювати
екземпляр масиву оператором new. При цьому вказується прогнозований розмір (кількість
елементів) масиву, наприклад:

double[] x;
int a[];
x = new double[10];
a = new int[135];

Зазвичай команди опису та створення масиву об’єднують:

float[] p = new float[20];

Розмір масиву в Java можна змінювати в процесі виконання програми за допомогою того ж
оператора new. Для роботи з елементами масиву, використовують цикл for, на кшталт:

for(int i=0;i<20;i++)
System.out.println(p[i]);

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

int p[] = {1, 3, 4, 5, 2, 6, 5, 9};

В такому випадку автоматично створюється екземпляр масиву, а його


розмір визначається за кількістю елементів, записаних в фігурних дужках.
Масиви є об’єктами – відповідно мають визначені поля і методи. Зокрема, поле
length містить інформацію про кількість елементів масиву на даному етапі виконання
програми і дозволяє опрацьовувати усі елементи масиву циклом

for(int i=0;i<p.length;i++)
<дїї з p[i]>;

Для знаходження кількості елементів з інтервалу (-1; 1) створюємо метод:

int k =0;\\ змінна для обрахунку к-сті елементів інтервалу


for(int i=0; i<ar.length;i++)
if(ar[i]>-1 & ar[i]<1)
k++;

Для сортування масивів, скористаємося методом мінімального елемента, який


полягає в наступному. Спочатку знаходимо найменший елемент масиву та його порядковий
номер, всі елементи, які розташовані в масиві перед мінімальним зміщуємо на одну
позицію далі. Тим самим звільняється перша позиція, куди записуємо мінімальний елемент.
Далі розглядаємо масив без першого елемента. В ньому знову знаходимо найменший
елемент і переносимо його на першу (для початкового масиву це друга) позицію, змістивши
потрібні елементи далі. Потім розглядаємо масив без перших двох елементів і повторюємо
процедуру переміщення мінімального елемента на початок масиву, і т. д. Орієнтовний код
методу сортування масиву :

for(int k=0; k<ar.length-1; k++){


double min=ar[k];
int iMin = k;
for(int i=k; i<ar.length; i++){
if(min>ar[i]){
min=ar[i];
iMin=i;
}
}
for(int i=iMin;i>k;i--)
ar[i]=ar[i-1];
ar[k]=min;
}

У мові Java багатовимірні масиви являють собою масиви масивів. Неважко


здогадатися, що вони зовні виглядають і діють подібно до звичайних багатовимірних
масивів. Але, як буде показано нижче, у них є ряд незначних відмінностей. При оголошенні
змінної багатовимірного масиву для вказівки кожного додаткового індексу використовується
окремий ряд квадратних дужок. Наприклад, в наступному рядку коду оголошується змінна
двовимірного масиву twoD:
int twoD [] [] = new int [4] [5];
У цьому рядку коду резервується пам'ять для масиву розмірністю 4х5, який
присвоюється змінній twoD. Ця матриця реалізована внутрішнім чином як масив масивів
значень типу int. Концептуально цей масив буде виглядати так, як показано на рис. 1.

Рис. 1. Концептуальне представлення масиву розмірністю 4х5


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

Ця програма виводить наступний результат:


0.0 0.0 0.0 0.0
0.0 1.0 2.0 3.0
0.0 2.0 4.0 6.0
0.0 3.0 6.0 9.0
Розглянемо ще один приклад ініціалізації багатовимірного масиву. У наступному
нижче прикладі програми спочатку створиться тривимірний масив розмірністю Зх4х5, а
потім кожен елемент масиву заповнюється добутком його індексів, і, нарешті, ці добутки
виводяться на екран.

Ця програма виводить наступний результат:


0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0

0.0 0.0 0.0 0.0 0.0


0.0 1.0 2.0 3.0 4.0
0.0 2.0 4.0 6.0 8.0
0.0 3.0 6.0 9.0 12.0

0.0 0.0 0.0 0.0 0.0


0.0 2.0 4.0 6.0 12.0
0.0 4.0 8.0 12.0 16.0
0.0 6.0 12.0 18.0 24.0
Завдання 1.

Скласти Java-програму розв’язання задачі відповідно до варіанта. Задано


три масиви дійсних чисел А[10], B[10] та С[10], кожен містить по 10 елементів.
Масив А заповнити довільно в коді програми при його ініціалізаціі. Масив В
заповнити за вказаним правилом. Масив С утворити з елементів масивів А та В
згідно варіанта. Знайти в кожному з масивів вказану величину, вивести на
консоль елементи кожного масиву. Впорядкувати масив А і вивести.

1. Масив В утворити за правилом Bk=(-1)k(2k+1) k = 0,1,...,9. Масив С


утворити з масиву В, замінивши в ньому всі від’ємні елементи відповідними
елементами масиву А (з тими ж порядковими номерами). В кожному масиві
знайти середнє арифметичне додатних елементів.

2. Масив В заповнити випадковими числами з відрізка [-2; 3]. Масив


С утворити з масиву В, замінивши в ньому всі додатні елементи максимальним
елементом масиву А. В кожному масиві знайти кількість елементів, більших за
їх середнє арифметичне.

3. Масив В утворити за правилом Bk = (99sin k)/(k+1), k  0,1,...,9. Масив


С утворити з масиву В, замінивши в ньому всі від’ємні елементи мінімальним
елементом масиву А. В кожному масиві знайти кількість елементів, абсолютна
величина яких більша за 5.

4. Масив В утворити за правилом Bk = −1k k, k  0,1,...,9. Масив С


утворити за правилом Ck = 2Ak − 3Bk . В кожному масиві знайти суму додатних
елементів.

5. Масив В утворити за правилом Bk=11sink + 3, k  0,1,...,9. Масив С


утворити за правилом Ck = max{Ak, Bk}. В кожному масиві знайти суму
елементів, абсолютна величина яких менша за 1.
6. Масив В заповнити випадковими числами з відрізка [-4; 2]. Масив
С утворити з масиву В, замінивши в ньому всі від’ємні елементи середнім
значенням елементів масиву A. В кожному масиві знайти елемент, значення
якого найближче до числа 1.

7. Масив В утворити за правилом Bk = k sin2k+ 2ksin k , k  0,1,...,9.


Масив С утворити за правилом Ck = maxAk|; |Bk|. В кожному масиві знайти
різницю максимального та мінімального елемента (розмах значень елементів
масиву).

8. Масив В утворити за правилом Bk = 20cos k − k , k  0,1,...,9. Масив С


утворити з масиву В, віднявши від кожного його елемента відповідний елемент
масиву А. В кожному масиві знайти суму квадратів мінімального та
максимального елементів.

9. Масив В утворити за правилом Bk = −1k k+2k+1,k0,1,...,9. Масив


Сутворити за правилом Ck = minA9−k ;Bk . В кожному масиві знайти різницю
між максимальним елементом та середнім арифметичним усіх елементів.

10. Масив В утворити заповнити випадковими числами з відрізка [-5;


5]. Масив С утворити з елементів масиву А, додавши до кожного середнє
арифметичне від’ємних елементів масиву В. В кожному масиві знайти
відношення максимального елемента до мінімального.

11. Масив В утворити за правилом Bk =15cosk −12sin10 − k, k 


0,1,...,9. Масив С утворити за правилом Ck = min3Ak ;Bk . В кожному масиві
знайти відношення абсолютної величини суми від’ємних елементів до суми
додатних елементів.

12. Масив В утворити за правилом Bk = k sin2kk + 1, k  0,1,...,9. Масив С


утворити за правилом Ck = 2Ak + Bk . В кожному масиві знайти суму від’ємних
елементів.
13. Масив В утворити за правилом Bk =12cosk+1)2 , k  0,1,...,9. Масив С
утворити за правилом Ck = max2Ak ;5Bk . В кожному масиві знайти номер
елемента, найближчого за величиною до числа 5.

14. Масив В утворити заповнити випадковими числами з відрізка [-2.5;


1.5]. Масив С утворити за правилом Ck = minAk ;B9−k . В кожному масиві
знайти найбільший серед від’ємних елементів.

15. Масив В утворити за правилом Bk = cos12k, k  0,1,...,9. С утворити з


масиву В, замінивши в ньому всі додатні елементи мінімальним елементом
масиву А. В кожному масиві знайти номер елемента, найближчого за
величиною до середнього арифметичного усіх елементів масиву.

16. Масив В утворити за правилом Bk = 2sin k + cos k , k  0,1,...,9. Масив


С утворити додаванням оберненого масиву А до масиву В, тобто C0 = A9 + B0 ,
C1 = A8 + B1, C2 = A7 + B2 , і т.д. В кожному масиві знайти кількість елементів,
значення яких належать інтервалу (-1; 1).

17. Масив В утворити за правилом Bk=(-1)(2k+1) еk, k= 0,1,...,9. Масив С


утворити з масиву В, замінивши в ньому всі від’ємні елементи відповідними
елементами масиву А (з тими ж порядковими номерами). В кожному масиві
знайти середнє арифметичне від’ємних елементів.

18. Масив В утворити за правилом Bk = (sin(10 k)/(k+1), k  0,1,...,9. Масив


С утворити з масиву В, замінивши в ньому всі від’ємні елементи мінімальним
елементом масиву А. В кожному масиві знайти суму елементів, менших за їх
середнє арифметичне.
19.Масив В утворити за правилом Bk = −1kk2, k  0,1,...,9. Масив С утворити
за правилом Ck = 3Ak − 2Bk . В кожному масиві знайти максимальний
елемент.

20. Масив В утворити за правилом Bk=11cos2k + 3, k  0,1,...,9. Масив С


утворити за правилом Ck = min{Ak, Bk}. В кожному масиві знайти суму
елементів, абсолютна величина яких більша за 1.

21.Масив В заповнити випадковими числами з відрізка [-4; 2]. Масив С


утворити з масиву В, замінивши в ньому всі від’ємні елементи середнім
значенням елементів масиву A. В кожному масиві знайти елемент,
значення якого найближче до числа 0.
ЗАВДАННЯ 2
Тип
№ Розмір
п/п масив масив Індивідуальне завдання 2
у у
a. Обчислити факторіал першого елемента масиву,
значення якого менше 8-ми
1 15 цілий
b. Обчислити суму додатних непарних елементів
і замінити всі парні елементи масиву на цю суму
a. Обчислити кількість елементів масиву, розміщених
післяпершого нульового елемента
2 10 цілий
b. Поміняти місцями мінімальний елемент з
передостаннім
a. Обчислити факторіал значення першого додатного
3 8 цілий елемента
b. Замінити всі від’ємні елементи на максимальний
a. Визначити найбільший серед від’ємних елементів
дійсни масиву
4 12
й b. Поміняти місцями першу половину масиву з
другою
a. Обчислити суму і кількість парних елементів
масиву
5 14 цілий
b. Замінити парні за значенням (не за індексом)
елементи на 0
a. Обчислити суму елементів, абсолютне значення
дійсни яких не перевищує 10-ти
6 18
й b. Поміняти місцями елементи, які стоять у масиві
поряд:1 і 2, 3 і 4 і т. д.
a. Обчислити суму та кількість елементів масиву,
кратних 3
7 11 цілий
b. Поміняти місцями максимальний елемент з
першим
a. Обчислити факторіал індексу максимального
дійсни елемента
8 14
й b. Поміняти місцями два найбільші за значенням
елементи
a. Обчислити середнє арифметичне мінімальногота
максимального елементів масиву
9 16 цілий
b. Впорядкувати за спаданням першу половину
масиву
a. Обчислити кількість елементів, значення
якихбільше за значення першого елемента масиву
дійсни
10 14 b. Замінити мінімальний і максимальний
й
елементизначенням середнього арифметичного всіх
елементів
a. Обчислити середнє арифметичне елементів,
значення якихбільше за значення останнього
11 17 цілий
елемента масиву
b. Замінити всі непарні елементи масиву одиницями
1 15 цілий a. Обчислити модуль суми всіх від’ємних елементів,
сумувсіх додатних
2 b. Замінити всі нульові елементи значенням
мінімальногоелемента
a. Обчислити суму від’ємних елементів, розміщених
1 дійсни
10 післямаксимального елемента масиву
3 й
b. Розмістити елементи масиву у зворотному порядку
1 2 3 4
a. Визначити мінімальний із додатних елементів
1
8 цілий b. Розмістити елементи масиву у порядку зростання
4
значень їх модулів
a. Обчислити різницю між значеннями суми всіх
додатнихелементів і модулем суми всіх
дійсни
15 12 від’ємних елементів
й
b. Замінити нулями ті елементи масиву, які
більшіза середнє арифметичне
a. Обчислити добуток одноцифрових елементів
1
20 цілий масиву
6
b. Впорядкувати за зростанням другу половину масиву
a. Обчислити суму парних елементів, розміщених
1 післямінімального елемента масиву
18 цілий
7 b. Замінити нулями всі елементи від початкуі до
найбільшого елемента
a. Визначити максимальний і мінімальний елементи,
наскількимаксимальний елемент є більшим за
дійсни
18 11 мінімальний?
й
b. Замінити на максимальне значення масиву всі
йогонульові елементи
a. Обчислити кількість елементів, що перевищують
дійсни середнєарифметичне всіх елементів
19 9
й b. Замінити найменший та найбільший елементи на
нулі
a. Визначити найбільший з парних додатних
елементів
20 16 цілий
b. Поміняти місцями два найменші за значенням
елементи
a. Перевірити, чи є масив упорядкованим за
2 дійсни зростанням
19
1 й b. Замінити на значення мінімального елемента ті
елементимасиву, які менші за середнє арифметичне
a. Обчислити суму тільки двоцифрових елементів
2
17 цілий b. Замінити елементи кратні 5 на
2
значеннянайбільшого непарного елемента
a. Обчислити середнє арифметичне елементів,
2 кратних 5
8 цілий
3 b. Замінити всі елементи кратні двом на
значеннянайбільшого елемента
2 16 цілий a. Визначити найменший серед парних додатних
4 елементів
b. Поміняти місцями максимальні елементи першоїта
другої половин масиву
ЗАВДАННЯ 3

№ Розмір Тип
п/п масив Індивідуальне завдання 3
у масиву
1 55 цілий Обчислити кількість від’ємних елементів матриці
дійсн Обчислити суму елементів головної діагоналі
2 44
ий матриці
3 64 цілий Визначити найменший елемент матриці
дійсн
4 33
ий Обчислити добуток ненульових елементів матриці
Обчислити середнє арифметичне мінімальногота
5 45 цілий
максимального елементів матриці
дійсн Обчислити кількість елементів, значення
6 35
ий якихбільше за значення першого елемента матриці
7 53 цілий Обчислити середнє арифметичне елементів матриці
дійсн Визначити найменший серед парних додатних
8 34
ий елементів
Обчислити суму та кількість парних елементів
9 53 цілий
матриці
дійсн Обчислити суму та кількість трицифрових
10 55
ий елементів
Обчислити суму та кількість елементів матриці,
11 46 цілий
кратних 3
дійсн Обчислити модуль суми всіх від’ємних елементів
12 54
ий матриці
Визначити розміщення (індекси) мінімальногота
13 35 цілий
максимального елементів матриці
14 43 цілий Обчислити середнє арифметичне від’ємних елементів
15 64 цілий Обчислити кількість ненульових елементів матриці
Визначити максимальний і мінімальний елементи
16 55 дійсний
матриці
Обчислити середнє арифметичне елементів матриці,
17 45 дійсний
значення яких належать проміжку [10, 20]
18 35 цілий Визначити найменший елемент матриці
19 53 цілий Обчислити добуток одноцифрових елементів матриці
Обчислити суму модулів всіх від’ємних елементів
20 34 дійсний
матриці
21 33 цілий Обчислити суму та кількість двоцифрових елементів
22 55 цілий Обчислити середнє арифметичне елементів, кратних 5
23 46 цілий Визначити найбільший з парних додатних елементів
Обчислити суму додатних елементів і кількість
24 54 дійсний
від’ємнихелементів матриці
Обчислити суму елементів матриці, значення яких
25 33 цілий
належать проміжку [3, 6]
ЗАВДАННЯ 4

№ Розмір Тип
вар. масиву даних Індивідуальне завдання 4

1 43 цілий Замінити парні за значенням (не за індексом) елементи на 0


2 64 цілий Поміняти місцями мінімальний і максимальний елементи
Поміняти місцями елементи головної та неголовної
3 44 цілий
діагоналей матриці
4 45 цілий Замінити всі від’ємні елементи на значення мінімального
Обчислити суму додатних непарних елементів
5 35 цілий
і замінити кутові елементи матриці на цю суму
Замінити всі нульові елементи значенням мінімального
6 53 цілий
елемента
7 55 цілий Транспонувати матрицю
8 53 цілий Замінити всі непарні елементи матриці одиницями
Замінити нульові елементи на середнє арифметичне
9 34 цілий
найменшого і найбільшого елементів
10 35 цілий Замінити від’ємні елементи матриці нулями
Замінити нулями ті елементи матриці, які більші
11 46 дійсний
за середнє арифметичне
Поміняти місцями елементи першого рядка матриці
12 55 цілий
з елементами її неголовної діагоналі
Замінити нулями всі елементи від початку
13 44 дійсний
і до найбільшого елемента
14 35 дійсний Замінити найменший та найбільший елементи на нулі
15 43 цілий Обчислити суму додатних непарних елементів і замінити
парні елементи масиву на цю суму
Замінити мінімальний і максимальний елементи
16 64 дійсний
значенням середнього арифметичного всіх елементів
Замінити парні елементи на значення найменшого
17 53 цілий
елемента
18 45 цілий Замінити парні за значенням елементи матриці на 0
19 35 цілий Поміняти місцями максимальний елемент з першим
Розмістити елементи головної діагоналі у зворотному
20 55 дійсний
порядку
Замінити елементи кратні 5-ти значенням найбільшого
21 34 цілий
елемента
Поміняти місцями елементи першого й останнього
22 36 дійсний
стовпців
Замінити на максимальне значення матриці всі його
23 55 цілий
нульові елементи
Замінити всі парні елементи масиву на значення
24 46 цілий
останнього елемента матриці
25 54 дійсний Поміняти місцями елементи першого й останнього рядків

You might also like