Задання багатомірних масивів в мові Pascal

Завдання (інструкційна картка) для лабораторної роботи

Тема дисципліни.Робота з масивами в Turbo Pascal

Інструкційна картка

Лабораторного заняття № 8

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

Мета заняття. Сформувати практичні вміння та навички створювати програми з двомірними масивами, здійснювати пошук максимального та мінімального елементів, визначати індекс даного елемента, міняти місцями рядки та стовпці, множити та додавати матриці. Формувати якості особистості студентів та пізнавальний інтерес; показати значення теми для програмування та розв’язування задач; спонукати до пізнавальної, наукової, творчої діяльності; розвивати самостійність, увагу, відповідальність та творче мислення.

Методичне забезпечення

1. Глинський Я. М. Паскаль: навчальний посібник / Глинський Я. М., Анохін В. Є., Ряжська В. А. – Львів: СПД Глинський, 2010. – 192 с.

2. Нога Л. В. Конспект лекцій з дисципліни “Основи програмування та алгоритмічні мови” Частина 1 і 2 / Нога Л. В. – Херсон: Веселка, 2006. – 134 с.

3. Інструкційні картки.

Матеріально-технічне забезпечення

1. Комп’ютери, конспекти лекцій, конспекти практичного заняття.

2. Інструкційні картки до лабораторного заняття, роздруковані завдання по варіантах.

Питання для актуалізації опорних знань

1. Якою може бути розмірність масиву у мові Pascal?

2. Які дії виконують над елементами масиву?

3. Що позначають індекси матриці?

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

5. Як обробляються рядки у двовимірному масиві?

6. Якого типу можуть бути елементи масиву?

7. Якого типу можуть бути індекси елементів масиву?

Правила техніки безпеки

Перед початком роботи потрібно перевірити стан обладнання, робочого місця.

Під час роботи потрібно дотримуватися правил експлуатації комп’ютерного обладнання.

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

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

Загальні відомості з теми

Задання багатомірних масивів в мові Pascal

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

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

1)Type <iм'я типу_1>=array[<тип iндексу_1]of <тип компонент>;

<iм'я типу_2>=array[<тип iндексу_2>]of <iм'я типу_1>;

Var <iдентифікатор>: <iм'я типу_2>;

2)Type <iм'я типу>=array [ <тип iндексу_1> ] of array [ <тип iндексу_2> ]

of <тип компонент>;

Var <iдентифікатор>: <iм'я типу>;

Наприклад,

1)Type

mas=array [ -5.. 5 ] of real;

matr=array [ 1.. 10 ] of mas;

Var a: matr;

2)Type

matr=array [ 1.. 10 ] of array [ -5.. 5 ] of real;

Var a: matr;

Тут масив a розглядається як одномiрний масив, кожний елемент якого в свою чергу також є одномiрним масивом. При обробці двомірного масиву a, звертання до його елементів можна здійснювати як до елементів одномірного масиву, наприклад, a[1] – перший рядок масиву a (крім процедур введення-виведення). Звертання ж до скалярного елемента масиву a здійснюється за ім’ям цього масиву і двох індексам, наприклад, a [ i ] [ j ] або a [ i, j ], де i, j – індекси.

На практиці частіше застосовується інший спосіб опису двомірних масивів, що має більш наочну форму:

3)Type <iм'я типу>=array [ <тип iнд_1, <тип iнд_2> ]

of [ <тип компонент> ];

Var <iдентифікатор>: <iм'я типу>;

Наприклад,

Type

day= (пн, вт, ср, чт, пт, сб, вс);

mas=array [ day, 1.. 10 ] of real;

Var a, b: mas; …

<тип iндексу_1> і <тип iндексу_2> можуть бути різними.

Двомірні масиви можна описати і неявно (без задання імені типу) безпосередньо в розділі опису змінних.

Наприклад,

Var

v1: array [ 1.. 10 ] of array [ 1.. 10 ] of real;

a, b: array [ -4.. 4, 1.. 10 ] of integer;

Звертання до елементів двомірних масивів зручніше здійснювати так: v1 [ i, j ], a [ i, j ], b [ i, j ] (якщо i, j – індекси).

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

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

Зміст роботи

1. Вивчити теоретичний матеріал.

2. Виконати індивідуальне завдання.

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

Індивідуальні завдання

Створити блок-схему та програму на мові Pascal для приведеної задачі згідно варіанту:

1. Написати програму додавання двох дійсних матриць С і F 4-го порядку.

2. Написати програму віднімання двох дійсних матриць К і М 5-го порядку.

3. В заданій дійсній матриці 6×4 знайти найбільший елемент і його індекси.

4. Для цілочисельної квадратної матриці розмірністю 3×3 поміняти місцями перший і другий рядки.

5. Для цілочисельної квадратної матриці розмірністю 5×5 поміняти місцями перший і третій рядки.

6. В заданій дійсній матриці 4×3 знайти найменший елемент і його індекси.

7. Для цілочисельної квадратної матриці розмірністю 5×4 поміняти місцями другий і четвертий рядки.

8. В заданій дійсній матриці 7×5 знайти найбільший елемент і вивести його.

9. Задана матриця A розмірності 3×4. Знайти найбільший елемент матриці і роздрукувати відповідний рядок.

10. Задана матриця A розмірності 3×7. Знайти рядок з найменшим елементом і поміняти її місцями з першою.

11. Задана матриця A розмірності 9×5. Знайти рядок з найбільшим елементом і поміняти його місцями з останнім.

12. Задана матриця A розмірності 2×4. Знайти суму елементів j-го стовпця і розділити на неї i-тий рядок.

13. Задана матриця A розмірності 8×8. Знайти суму елементів i-го рядка і розділити на неї j-тий стовпець.

14. Задана матриця A розмірності 5×5. Знайти суму діагональних елементів і розділити на неї перший рядок.

15. Задана матриця A розмірності 4×4. Знайти суму квадратів діагональних елементів і розділити на неї останній рядок.

16. Задана матриця A розмірності 7×5. Знайти добуток між кількістю додатни і від’ємних елементів матриці.

17. Задана матриця A розмірності 7×7. Знайти суму елементів, які лежать нижче головної діагоналі.

18. Задана матриця A розмірності 4×8. Знайти суму елементів кожного стовпця. Результат помістити в одномірний масив.

19. Задана матриця A розмірності 4×8. Знайти суму елементів кожного рядка. Результат помістити в одномірний масив.

20. Задана матриця A розмірності 4×4. Поміняти місцями другий рядок і останній стовпець.

Методичні РЕКОМЕНДАЦІЇ

1. Для виконання лабораторної роботи потрібно перш за все опрацювати теоретичний матеріал.

2. Виконати індивідуальне завдання.

3. Показати результат роботи викладачеві.

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

5. Здати робоче місце, а оформлений звіт – викладачеві на підпис.

6. Під час виконання лабораторної роботи дотримуватися правил безпеки.

Наши рекомендации