Практична робота "Алгоритмізація обробки одновимірних та двовимірних масивів"

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

 

Практична робота №4

Алгоритмізація обробки одновимірних та двовимірних масивів

Мета: Ознайомитись із структурованим типом даних – масивом, навчитись складати алгоритми обробки одновимірних та двовимірних масивів.

ТЕОРЕТИЧНІ ВІДОМОСТІ

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

Кількість елементів масиву – розмірність, кількість дозволених значень кожному елементу – діапазон, сукупність розмірності та діапазону – форма масиву. Номер елемента масиву – індекс.

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

Робота з масивами складається з трьох етапів:

  1. Заповнення масиву даними (введення даних у масив).
  2. Перетворення масиву (дії з даними).
  3. Виведення масиву чи окремих даних на екран.

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

 

Одновимірний масив (лінійний масив, лінійна таблиця, вектор) – це лінійно впорядкована сукупність елементів одного й того самого типу. Кожному елементу одновимірного масиву відповідає один індекс.

Одновимірний масив А(n)

А1

А2

А3

Аn

А1, А2, …Аn – елементи масиву

Двовимірний масив –  це прямокутна таблиця, матриця. Кожному елементу двовимірного масиву відповідає два індекси.

Двовимірний масив A(n,m)

А11

А12

A13

...

А1m

А21

А22

A23

А2m

A31

A32

A33

A3m

Аn1

Аn2

An3

Аnm

 

Людина опрацьовує таблиці візуально: одного погляду на таблицю достатньо, щоб відповісти на запитання, у який день була найнижча температура у квітні чи хто з учнів отримав «2» за контрольну роботу.

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

Основні прийоми опрацювання масивів:

  • щоб визначити елементи масиву, які задовольняють умову задачі (умову відбору, пошуку, фільтрування даних), потрібно переглянути та проаналізувати всі елементи, від першого до останнього, за допомогою команд циклу та розгалуження;
  • з елементами масиву можна виконувати такі самі дії, як і з простими даними відповідних типів (числовими чи текстовими);
  • опрацьовують масиви поелементно (виконують дії не з масивом, а з кожним його елементом). Такий вид доступу називають прямим.

Типові алгоритми опрацювання масивів:

  •      знаходження суми чи добутку елементів масиву;
  •      знаходження номеру максимального чи мінімального елемента масиву. Максимальний (чи мінімальний) елемент у масиві визначають методом перегляду та порівняння всіх елементів. Спочатку перший елемент вважають максимальним (мінімальним). Другий елемент порівнюють із першим, і якщо він більший (менший), то його вважають максимальним (мінімальним), якщо ні, то третій елемент порівнюють із першим тощо;
  •      знаходження елемента масиву з певною властивістю;
  •      впорядкування елементів масиву.

ОБРОБКА ОДНОВИМІРНИХ МАСИВІВ

Приклад 1

Скласти блок-схему алгоритму знаходження суми всіх додатних елементів масиву, значення яких зчитати з клавіатури. Розмірність масиву – N елементів. Результат обробки вивести на екран.

Розв’язок

Блок-схема алгоритму зображена на рис. 1.

Рис. 1. Блок-схема алгоритму 1

 

 

Приклад 2

Скласти блок-схему алгоритму знаходження кількості від’ємних елементів, що розташовані на парних номерах масиву М. Розмірність масиву – 10 елементів.

Розв’язок

Блок-схема алгоритму зображена на рис. 2.

 

Приклад 3

Скласти блок-схему алгоритму знаходження мінімального елемента масиву М та вказати його номер. Розмірність масиву – 20 елементів.

Розв’язок

Блок-схема алгоритму зображена на рис. 3.

            

 Рис. 2. Блок-схема алгоритму 2   Рис. 3. Блок-схема алгоритму 3

 

ОБРОБКА ДВОВИМІРНИХ МАСИВІВ

Приклад 4

Скласти блок-схему алгоритму визначення кількість від’ємних елементів в кожному рядку масиву цілих чисел розмірністю 4x5 (4 рядки і 5 стовпчиків). Елементи масиву генеруються випадковим чином. Результат вивести на екран.

 

Розв’язок

Блок-схема алгоритму зображена на рис. 4.

Рис. 4. Блок-схема алгоритму 4

Завдання

Скласти блок-схеми розв’язку задач обробки одновимірних та двовимірних масивів згідно варіанта.

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

Рівень А

Задано одновимірний масив . Заповнити масив значеннями, зчитаними з клавіатури. Вивести елементи масиву, виконати необхідну обробку масиву та вивести результат перетворень згідно варіанта (див. таб.1)

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

Завдання

1

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

2

Визначити кількість парних елементів масиву і скільки серед них від’ємних.

3

Знайти середнє арифметичне значення елементів масиву.

4

Знайти кількість від’ємних елементів масиву.

5

Знайти кількість елементів, більших від заданого числа К, яке зчитане з клавіатури.

6

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

7

Знайти кількість елементів, зчитаних з клавіатури, значення яких знаходяться в діапазоні від N до М.

8

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

9

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

10

Для всіх елементів масиву, що мають парні номери, поміняти знак числа на протилежний.

11

Кожний елемент, що має парне значення, зменшити вдвічі.

12

Знайти кількість елементів, які більші за перший елемент масиву.

13

Знайти кількість елементів, які менші за останній елемент масиву.

14

Знайти суму елементів на непарних номерах масиву.

15

Знайти кількість від’ємних елементів на парних номерах.

16

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

17

Знайти кількість елементів, зчитаних з клавіатури, значення яких знаходяться в діапазоні від N до М

18

Знайти кількість від’ємних елементів масиву.

19

Знайти кількість елементів, які менші за останній елемент масиву.

20

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

21

Визначити кількість парних елементів масиву і скільки серед них від’ємних.

22

Знайти кількість елементів, які більші за перший елемент масиву.

23

Кожний елемент, що має парне значення, зменшити вдвічі.

24

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

25

Знайти кількість елементів, більших від заданого числа К, яке зчитане з клавіатури.

Рівень Б

Задано одновимірний масив . Заповнити масив випадковим чином. Вивести елементи масиву на екран, виконати необхідну обробку масиву та вивести результат перетворень згідно варіанта (див. таб.2).

Таблиця 2. Варіанти завдань

Завдання

1

З'ясувати, в якій половині масиву більша сума елементів. 

2

Знайти різницю модулів між сумами додатних та від’ємних елементів.

3

Знайти кількість додатних на парних номерах та кількість від’ємних на непарних номерах масиву.

4

Порівняти яка з сум за модулем більша - до першого додатного елементу чи до першого від’ємного елемента.

5

Знайти кількість елементів масиву, значення яких більші за середнє значення та кількість елементів, значення яких менше за середнє значення масиву.

6

З’ясувати яких елементів в масиві більше - парних чи непарних.

7

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

8

Визначити яка з сум більша - парних додатних чи непарних від’ємних.

9

Визначити яких елементів більше - парних на парних номерах чи непарних на непарних номерах.

10

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

11

Знайти найбільшу та найменшу різницю між двома сусідніми елементами і вказати номери цих елементів.

12

Визначити який з елементів - максимальний чи мінімальний знаходиться ближче до середини масиву.

13

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

14

Визначити в скільки разів кількість додатних елементів в першій половині масиву більша кількості від’ємних елементів в другій половині масиву.

15

Кожен елемент масиву зменшити в кількість разів, що відповідає різниці між максимальним та мінімальним його елементами.

16

Знайти кількість додатних на парних номерах та кількість від’ємних на непарних номерах масиву.

17

Знайти кількість елементів масиву, значення яких більші за середнє значення та кількість елементів, значення яких менше за середнє значення масиву.

18

З'ясувати, в якій половині масиву більша сума елементів. 

19

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

20

Визначити яких елементів більше - парних на парних номерах чи непарних на непарних номерах.

21

Визначити який з елементів - максимальний чи мінімальний знаходиться ближче до середини масиву.

22

З’ясувати яких елементів в масиві більше - парних чи непарних.

23

Кожен елемент масиву зменшити в кількість разів, що відповідає різниці між максимальним та мінімальним його елементами.

24

Визначити яка з сум більша - парних додатних чи непарних від’ємних.

25

Порівняти яка з сум за модулем більша - до першого додатного елементу чи до першого від’ємного елемента.

Рівень В

Задано одновимірний масив(и). Заповнити масив(и) випадковим чином. Вивести елементи масиву на екран, виконати необхідну обробку масиву та вивести результат перетворень згідно варіанта (див. таб.3).

Таблиця 3. Варіанти завдань

Завдання

1

Знайти косинус кута між двома векторами (прийняти за вектор масив з 10 елементів).

2

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

3

Знайти елементну суму двох масивів - першого елемента одного масиву і останнього елемента іншого масиву, другого елемента і передостаннього і т.д. Визначити яка з них найбільша.

4

Знайти яка з довжин трьох векторів (масиви по 10 елементів) більша.

5

Задано координати «трьох точок (по 10 координат - масив). Визначити яка з відстаней між ними найбільша.

6

Задано два масиви однакової розмірності (10 елементів). Визначити елементи третього масиву такої самої розмірності за умови, що на його непарних номерах розміщений результат суми відповідних елементів двох заданих масивів, а на непарних номерах - результат різниці відповідних елементів тих самих масивів.

7

Визначити кількість однакових елементів в двох заданих масивах.

8

За допомогою масиву з 10 елементів, який містить числа 0,1,...,9 вивести на екран таблицю Піфагора (множення).

9

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

10

Задано одновимірний масив , в якому ). Знайти номери двох суміжних номерів, для яких виконується умова, де k – дійсне число, яке зчитується з клавіатури.

11

У масиві зберігаються дані щоденних показників температури за місяць. Знайти кількість днів, де відхилення температури не більше 10% від середнього значення.

12

У одномірному масиві з 10 елементів випадковим чином розміщені 0 та 1, причому одиниць може бути лише 4. Реалізувати програму вгадування позицій одиниць. Вихід з програми за умови вгадування всіх позицій або вводу 0. При виході вивести кількість спроб.

13

Задано два одновимірних масиви. Визначити найменше відношення різниць двох сусідніх елементів цих масивів.

14

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

15

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

16

Знайти елементну суму двох масивів - першого елемента одного масиву і останнього елемента іншого масиву, другого елемента і передостаннього і т.д. Визначити яка з них найбільша.

17

Задано координати «трьох точок (по 10 координат - масив). Визначити яка з відстаней між ними найбільша.

18

Знайти яка з довжин трьох векторів (масиви по 10 елементів) більша.

19

Знайти косинус кута між двома векторами (прийняти за вектор масив з 10 елементів).

20

Визначити кількість однакових елементів в двох заданих масивах.

21

Задано два масиви однакової розмірності (10 елементів). Визначити елементи третього масиву такої самої розмірності за умови, що на його непарних номерах розміщений результат суми відповідних елементів двох заданих масивів, а на непарних номерах - результат різниці відповідних елементів тих самих масивів.

22

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

23

У масиві зберігаються дані щоденних показників температури за місяць. Знайти кількість днів, де відхилення температури не більше 10% від середнього значення.

24

Задано два одновимірних масиви. Визначити найменше відношення різниць двох сусідніх елементів цих масивів.

25

У одномірному масиві з 10 елементів випадковим чином розміщені 0 та 1, причому одиниць може бути лише 4. Реалізувати програму вгадування позицій одиниць. Вихід з програми за умови вгадування всіх позицій або вводу 0. При виході вивести кількість спроб.

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

Рівень А

Заповнити матрицю випадковими цілими числами та вивести їх на екран. Виконати необхідні дії над масивом згідно варіанта (див. таб.4) та вивести результат.

Таблиця 4. Варіанти завдань

Завдання

1

У матриці знайти мінімальний елемент і номер рядка, в якому він знаходиться.

2

У матриці знайти кількість простих чисел.

3

У матриці знайти кількість елементів, менших від заданого числа К.

4

У матриці знайти середнє значення.

5

У матриці знайти кількість парних та непарних чисел.

6

У матриці знайти кількість додатних та кількість від’ємних елементів.

7

У матриці знайти кількість елементів, які містять значення в діапазоні від до N. де N - дійсне число, зчитане з клавіатури.

8

У матриці знайти рядок, який містить мінімальний за модулем елемент.

9

У матриці знайти кількість нульових елементів та замінити їх на середнє значення матриці.

10

У матриці знайти стовпчик та рядок, який містить максимальний та мінімальний за модулем елементи.

11

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

12

У матриці визначити кількість однакових елементів.

13

У матриці поміняти місцями максимальний та мінімальний елементи.

14

У матриці знайти кількість елементів, значення яких більше від середнього значення матриці.

15

У матриці знайти різницю між максимальним та мінімальним елементом матриці. 

16

У матриці знайти середнє значення.

17

У матриці знайти кількість елементів, менших від заданого числа К.

18

У матриці знайти мінімальний елемент і номер рядка, в якому він знаходиться.

19

У матриці знайти кількість додатних та кількість від’ємних елементів.

20

У матриці знайти кількість простих чисел.

21

У матриці знайти кількість елементів, які містять значення в діапазоні від до N. де N - дійсне число, зчитане з клавіатури.

22

У матриці знайти кількість нульових елементів та замінити їх на середнє значення матриці.

23

У матриці визначити кількість однакових елементів.

24

У матриці знайти кількість елементів, значення яких більше від середнього значення матриці.

25

У матриці знайти рядок, який містить мінімальний за модулем елемент.

Рівень Б

Заповнити матрицю випадковими або зчитаними з клавіатури цілими числами, в залежності від вибору користувача, вивести їх на екран. Виконати необхідні дії над масивом згідно варіанту (див. таб.5) та вивести результат.

Таблиця 5. Варіанти завдань

Завдання

1

У матриці знайти в кожному стовпчику мінімальний елемент та номер його рядка.

2

У матриці знайти середнє арифметичне значення для кожного з рядків.

3

У матриці знайти кількість елементів, що містять додатні числа та мають парні номери як за рядками так і за стовпчиками.

4

У матриці знайти для кожного стовпця суму його додатних елементів.

5

У матриці знайти для кожного рядка знайти суму його від’ємних елементів.

6

У матриці знайти суму елементів за стовпчиками, значення яких за модулем менше від заданого числа К.

7

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

8

У матриці знайти кількість парних та непарних чисел для кожного стовпчика.

9

У матриці ) знайти в кожному рядку та в кожному стовпцю максимальні елементи та вказати їхні середні значення.

10

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

11

У матриці знайти на скільки відрізняється середнє значення матриці від середнього значення кожного стовпчика.

12

У матриці розділити всі елементи на максимальний елемент першого рядка.

13

У матриці знайти в кожному рядку кількість елементів, менших від середнього значення матриці.

14

У матриці знайти стовпчик, який містить максимальне середнє арифметичне значення в стовпчиках.

15

У матриці ) знайти кількість елементів в кожному рядку, менших від середнього значення матриці.

16

У матриці знайти для кожного стовпця суму його додатних елементів.

17

У матриці знайти середнє арифметичне значення для кожного з рядків.

18

У матриці знайти суму елементів за стовпчиками, значення яких за модулем менше від заданого числа К.

19

У матриці знайти в кожному стовпчику мінімальний елемент та номер його рядка.

20

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

21

У матриці знайти кількість парних та непарних чисел для кожного стовпчика.

22

У матриці знайти на скільки відрізняється середнє значення матриці від середнього значення кожного стовпчика.

23

У матриці ) знайти кількість елементів в кожному рядку, менших від середнього значення матриці.

24

У матриці знайти стовпчик, який містить максимальне середнє арифметичне значення в стовпчиках.

25

У матриці знайти в кожному рядку кількість елементів, менших від середнього значення матриці.

 

Рівень В

Заповнення масиву(ів) здійснити випадковими або зчитаними з клавіатури цілими числами, залежно від вибору користувача, вивести їх на екран. Здійснити необхідну обробку згідно варіанта (див. таб.6) та вивести результат на екран.

Таблиця 6. Варіанти завдань

Завдання

1

Перевірити чи є квадратна матриця симетричною.

2

Виходячи із заданої прямокутної матриці створити одновимірний масив, який містить елементи матриці, що розміщені вище головної діагоналі.

3

Переставити місцями стовпці матриці, а потім і рядки, в яких містяться максимальний та мінімальний елементи.

4

Реалізувати операцію множення двох матриць однакової розмірності.

5

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

6

У матриці визначити рядок, який має найбільшу кількість однакових елементів та рядок, який має найменшу кількість однакових елементів. Якщо таких декілька - вказати всі.

7

Здійснити поворот квадратної матриці на 90°, 180° та 270° градусів за вибором користувача.

8

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

9

Коефіцієнти системи лінійних рівнянь задані у вигляді прямокутної матриці. За допомогою допустимих перетворень звести її до трикутного вигляду.

10

Визначити яка з діагоналей квадратної матриці має більшу суму та найбільший елемент.

11

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

12

У прямокутній матриці розміщені 0 та 1. Знайти найбільшу площу, створену одиницями. 

13

Реалізувати операцію додавання двох матриць однакової розмірності та знайти визначник матриці.

14

Виходячи із заданої прямокутної матриці створити одновимірний масив, який містить елементи матриці, що розміщені вище оберненої діагоналі.

15

Задану матрицю з розмірністю , де m та n > 4 та кратні 2. Розбити матрицю на чотири рівні частини та перемістити їх між собою за годинниковою стрілкою так, як зображено на схемі.

16

Перевірити чи є квадратна матриця симетричною.

17

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

18

Переставити місцями стовпці матриці, а потім і рядки, в яких містяться максимальний та мінімальний елементи.

19

Реалізувати операцію множення двох матриць однакової розмірності.

20

Виходячи із заданої прямокутної матриці створити одновимірний масив, який містить елементи матриці, що розміщені вище головної діагоналі.

21

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

22

Здійснити поворот квадратної матриці на 90°, 180° та 270° градусів за вибором користувача.

23

Визначити яка з діагоналей квадратної матриці має більшу суму та найбільший елемент.

24

У прямокутній матриці розміщені 0 та 1. Знайти найбільшу площу, створену одиницями.

25

Виходячи із заданої прямокутної матриці створити одновимірний масив, який містить елементи матриці, що розміщені вище оберненої діагоналі.

Висновки

  1. Масив – це структурований тип даних, що складається з фіксованого числа елементів одного й того самого типу.
  2. Масив даних характеризується іменем, кількістю та типом елементів.
  3. До кожного елемента масиву існує прямий доступ.
  4. Імена масивам надає користувач.
  5. Усі дані в масиві можна відшукати, знаючи ім’я масиву та номер елемента.
  6. Кількість елементів масиву – розмірність, кількість дозволених значень кожному елементу – діапазон, сукупність розмірності та діапазону – форма масиву.
  7. Номер елемента масиву – індекс.
  8. Над елементами масиву можна виконувати такі дії: введення, присвоєння, виведення, всі інші дії, визначені над даними відповідного типу.

ВИМОГИ ДО ЗВІТУ

У звіті з практичної роботи повинні бути відображені:

  1. Тема, мета практичної роботи.
  2. Короткі теоретичні відомості з теми.
  3. Завдання практичної роботи.
  4. Блок-схеми алгоритмів розв’язку задач.
  5. Висновок.

КОНТРОЛЬНІ ЗАПИТАННЯ

  1. Що таке масив?
  2. Що є еквівалентом одновимірного масиву в математиці?
  3. Що таке розмірність та індекс?
  4. Як звернутися до елемента масиву?
  5. Що таке базовий тип? Яким він може бути?
  6. Які операції допустимі над елементами масиву та над масивом в цілому?
  7. Що таке генерація випадкового числа? Яка структура запису даної операції?
  8. Який тип даних може використовуватися в якості індексу елементів масиву?
  9. Чим відрізняється одновимірний масив від багатовимірного?
  10. Що є аналогом двовимірного масиву в математиці?
  11. Якими способами можна здійснити заповнення масиву?
  12. Чи є необхідною умовою використання вкладених циклів при обробці двовимірного масиву?

1

Середня оцінка розробки
Структурованість
5.0
Оригінальність викладу
5.0
Відповідність темі
5.0
Загальна:
5.0
Всього відгуків: 2
Оцінки та відгуки
  1. Личко Вікторія Михайлівна
    Загальна:
    5.0
    Структурованість
    5.0
    Оригінальність викладу
    5.0
    Відповідність темі
    5.0
  2. Захаряк Оксана Іванівна
    Загальна:
    5.0
    Структурованість
    5.0
    Оригінальність викладу
    5.0
    Відповідність темі
    5.0
docx
Додано
2 березня 2021
Переглядів
19255
Оцінка розробки
5.0 (2 відгука)
Безкоштовний сертифікат
про публікацію авторської розробки
Щоб отримати, додайте розробку

Додати розробку