
- •Лабораторна робота №1 розробка і дослідження алгоритмів розв’язання задач
- •Теоретичні відомості
- •Прості дії та їх базові конструкції
- •Складні дії та їх базові конструкції
- •Робоче завдання
- •Контрольні запитання
- •Лабораторна робота №2
- •Теоретичні відомості
- •Редагування і відладка програм
- •Типи даних. Оголошення змінних і констант
- •Робоче завдання
- •Робоче завдання
- •Контрольні запитання
- •Лабораторна робота №4 розробка і дослідження програм, що розгалужуються
- •Теоретичні відомості
- •Складові оператори
- •Оператор вибору
- •Робоче завдання
- •Контрольні запитання
- •Лабораторна робота №5 розробка і дослідження циклічних програм
- •Теоретичні відомості
- •Цикл з передумовою
- •Цикл з післяумовою
- •Робоче завдання
- •Контрольні запитання
- •Лабораторна робота №6 розробка і дослідження програм обробки одновимірних масивів
- •Теоретичні відомості
- •Властивості масивів:
- •Оголошення масивів
- •Ініціалізація масивів
- •Оператор if
- •If (вираз) оператор-1; else оператор-2;
- •Оператори циклу
- •Робоче завдання
- •Робоче завдання
- •Функції, які часто використовуються
- •Функції перетворення типу
- •Робоче завдання
- •Оголошення функції
- •Описання функції
- •Передача аргументів функції
- •Робоче завдання
- •Одновимірний масив як аргумент функції
- •Матриця як аргумент функції
- •Робоче завдання
- •Контрольні запитання
- •Лабораторна робота №11 розробка і дослідження програм обробки структур
- •Теоретичні відомості
- •Визначення структури
- •Визначення структурної змінної
- •Доступ до полів структури
- •Робоче завдання
- •Передача і повернення структур
- •Робоче завдання
- •Робоче завдання
- •Контрольні запитання
- •Список літератури
Матриця як аргумент функції
Щоб створити функцію, що приймає як аргумент двовимірний масив, необхідно враховувати, що ім'я масиву обробляється як його адреса. Тому відповідний формальний параметр є покажчиком, як і у разі одновимірних масивів.
Припустимо, що початковий фрагмент коду має наступний вигляд:
int data[3][4] = {{l,2,3,4}, {9,8,7,6} {2,4,6,8}};
int SUM = sum(data, 3);
Тут data є ім'ям масиву, що містить три елементи. Перший елемент сам по собі є масивом чотирьох значень типу int.
Тоді запис прототипу функції можна, записати таким чином:
int sum(int ar2[ ][4], int size);
Параметр ar2 у визначенні функції використовується, як ім'я двовимірного масиву. Оскільки тип покажчика інформує про кількість стовпців, функція sum() може обробляти тільки масиви з чотирма стовпцями. Проте кількість рядків задається змінною size, тому функція може обробляти різні кількості рядків.
Нижче наводиться один з можливих варіантів визначення функції:
int sum(int ar2[ ][4], int size)
{
int S = 0;
for (int row = 0; row < size; row++)
for (int col = 0; col < 4; col++)
S = S + ar2[row][col];
return S;
}
Робоче завдання
Завдання 1. Написати функцію, що обчислює кількість негативних елементів одновимірного масиву.
Завдання 2. Написати функцію, що обчислює суму непарних елементів одновимірного масиву.
Завдання 3. Написати функцію, що обчислює мінімальний елемент двовимірного масиву розмірністю 4х6.
Завдання 4. Написати функцію, що обчислює суму елементів парних рядків двовимірного масиву 5х5.
Завдання 5. Написати функцію, що обчислює суму елементів головної діагоналі матриці 5х5.
Контрольні запитання
Які три дії необхідні для використання функції?
Як виглядає заголовок функції, що приймає одновимірний масив як аргумент?
Як виглядає заголовок функції, що приймає двовимірний масив як аргумент?
Як здійснюється виклик таких функцій?
У чому особливості передачі масивів у якості аргументів функцій?
Лабораторна робота №11 розробка і дослідження програм обробки структур
Мета роботи: отримання навиків роботи зі структурами, дослідження способів визначення структур.
Теоретичні відомості
Структура є об'єднанням простих змінних. Ці змінні можуть мати різні типи: int, float і т.д. Саме різнорідністю типів змінних структури відрізняються від масивів, в яких всі змінні повинні мати однаковий тип. Змінні, що входять до складу структури, називаються полями структури.
Структури є однією із складових головних концепцій мови - об'єктів і класів.
Розглянемо три основні аспекти роботи із структурами: визначення структури, визначення змінної типу цієї структури і доступ до полів структури.
Визначення структури
Синтаксис структури виглядає таким чином:
struct Ім’яСтруктури
{
члени структури
};
Визначення структури задає її внутрішню організацію, описуючи поля, що входять до складу структури, наприклад:
struct part
{
int modelnumber;
int partnumber;
float cost;
};
Визначення структури починається з ключового слова struct. Потім слідує ім'я структури, в даному випадку цим ім'ям є part. Оголошення полів структури modelnumber, partnumber і cost вміщені у фігурні дужки. Після закриваючої фігурної дужки слідує крапка з комою «;» - символ, що означає кінець визначення структури.
Визначення структури part необхідне для того, щоб створювати на його основі змінні типу part.