Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Завдання_мод2_7_8_9.doc
Скачиваний:
2
Добавлен:
02.12.2018
Размер:
192.51 Кб
Скачать

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

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

Відкрита підпрограма (макрос) забезпечує механізм для заміни міста виклику макросу текстом тіла макросу з або без набору формальних параметрів. Всі наступні екземпляри <позначення макросу> в вихідному тексті будуть замінені текстом визначеним як <тіло макросу>. Якщо макрос має (<формальні параметри>), ідентифікатори, які слідують за "(" розглядаються як параметри до функції. Всі екземпляри <позначення формальних параметрів> в <тілі макросу> будуть замінені на фактичний текст.

Завдання

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

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

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

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

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

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

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

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

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

Таблиця 2.30

№ варіанта

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

Кількість елементів 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

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

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

Таблиця 2.31

№ варіанта

Принцип формування 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