Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lr_hw_IZDN.doc
Скачиваний:
3
Добавлен:
01.04.2025
Размер:
1.12 Mб
Скачать

Контрольні запитання

  1. Що таке підпрограма, яке її призначення?

  2. Що таке аргумент підпрограм?

  3. Наведіть типи підпрограм.

  4. Опишіть способи передачі значень у закриту підпрограму.

  5. Опишіть способи повернення значень з закритої підпрограми.

  6. Дайте порівняльну характеристику закритих та відкритих підпрограм (переваги та нестатки).

  7. Що таке незалежна компіляція?

  8. Що таке перевантаження підпрограм?

Література: [1]; [4]; [5]; [6]; [7].

Контрольна робота дослідження використання підпрограм в лінійних структурах даних

Теоретичні відомості

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

Завдання

Написати програму на мові Сі, яка складається з наступних дій:

  1. Створення заголовного файлу (з розширенням .h). В файлі описується:

  • лінійна структура даних в зв’язаному уявленні (список), елемент якої має тип згідно з варіантом (табл. 18);

  • відкрита підпрограма (inline-функція) згідно з варіантом (табл. 19).

  1. Створення основного файлу (з розширенням .cpp), в якому необхідно:

  • включити заголовний файл за допомогою директиви препроцесора include;

  • описати „підпрограму_1” формування елемента першого списку згідно з варіантом (табл. 18);

  • описати „підпрограму_2” формування другого списку згідно з варіантом (табл. 19). При формуванні використовується inline-функція;

  • описати головну програму, в якій застосовуються описані підпрограми, тобто формується перший список за допомогою „підпрограми_1” (кількість елементів згідно з варіантом) та формується другий список за допомогою „підпрограми_2”.

Таблиця 18

№ варіанта

Тип даних елементу списків

Кількість елементів 1-го списку

Перший

список

Спосіб формування елементу 1-го списку

char

10

Односпрямований

Включення до початку списку

float

9

Односпрямований

Включення в кінець списку

char

6

Односпрямований

Включення до початку списку

Int

10

Односпрямований

Включення після першого елементу

double

7

Односпрямований

Включення в кінець списку

short

11

Односпрямований

Включення в кінець списку

float

8

Односпрямований

Включення після другого елементу

char

9

Двоспрямований

Включення в кінець списку

double

7

Двоспрямований

Включення до початку списку

long

10

Двоспрямований

Включення в кінець списку

float

9

Односпрямований

Включення до початку списку

int

9

Односпрямований

Включення після першого елементу

char

7

Односпрямований

Включення в кінець списку

double

9

Двоспрямований

Включення до початку списку

short

11

Односпрямований

Включення в кінець списку

Таблиця 19

№ варіанта

Принцип формування 2-го списку

Спосіб формування елементу 2-го списку

Призначення inline-функції

Односпрямованого списку зі значень елементів 1-го списку, які розташовані на парних позиціях

Включення в кінець списку

Перевірка на рівність нулю вказівника на наступний елемент

Односпрямованого списку зі значень елементів 1-го списку, які розташовані на непарних позиціях

Включення в кінець списку

Перевірка на нерівність нулю вказівника на наступний елемент

Перетворення односпрямованого списку в двоспрямований список

Включення в кінець списку

Перевірка на рівність нулю вказівника на наступний елемент

Односпрямованого списку з парних значень елементів 1-го списку

Включення до початку списку

Перевірка на існування першого елементу списку

Односпрямованого списку з від’ємних значень елементів 1-го списку

Включення в кінець списку

Перевірка на нерівність нулю вказівника на наступний елемент

Односпрямованого списку з непарних значень елементів 1-го списку

Включення до початку списку

Перевірка на рівність нулю вказівника на наступний елемент

Односпрямованого списку з додатних значень елементів 1-го списку

Включення до початку списку

Перевірка на існування другого елементу списку

Перетворення двоспрямованого списку у односпрямований список

Включення до початку списку

Перевірка на рівність нулю вказівника на наступний елемент

Односпрямованого списку з додатних значень елементів 1-го списку

Включення в кінець списку

Перевірка на знак значення елементу списку

Односпрямованого списку з від’ємних значень елементів 1-го списку

Включення до початку списку

Перевірка на знак значення елементу списку

Односпрямованого списку з значень елементів 1-го списку, які більше 10

Включення в кінець списку

Перевірка значення елементу списку на більшість 10

Двоспрямованого списку з значень елементів 1-го списку, які менше 5

Включення в кінець списку

Перевірка значення елементу списку на меншість 5

Односпрямованого списку з значень елементів 1-го списку, які не дорівнюють символу ’а’

Включення до початку списку

Перевірка значення елементу списку на рівність символу ’а’

Двоспрямованого списку з значень елементів 1-го списку, які входять до діапазону [0,1]

Включення в кінець списку

Перевірка значення елементу списку на входження до діапазону [0,1]

15

Односпрямованого списку з значень елементів 1-го списку, які кратні 3

Включення після першого елементу

Перевірка значення елементу списку на кратність 3

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]