
- •Дослідження програмних об'єктів напередвизначених типів та операцій над ними
- •Опис програмних об’єктів
- •Ініціалізація змінних при створенні
- •Оператор привласнення
- •Загальна спрощена структура програми
- •Методичні вказівки Правила складання ідентифікаторів
- •Правила опису об’єктів у програмі
- •Частина 1 дослідження цілих типів даних
- •Завдання
- •Частина 2 дослідження дійсних типів даних
- •Завдання
- •Частина 3 дослідження арифметичних операцій над значеннями цілих та дійсних типів
- •Завдання
- •Частина 4 дослідження бітових операцій над цілими значеннями
- •Бітові операції
- •Завдання
- •Частина 5 дослідження логічних типів, логічних операцій та операцій відношення
- •Завдання
- •Частина 6 дослідження вказівних типів даних
- •Завдання
- •Частина 7 дослідження символьних типів та базової операції – атрибут
- •Завдання
- •Лабораторна робота 2
- •Дослідження структурних операторів операторного
- •Базису мов програмування паскаль та сі
- •Мета лабораторної роботи - вивчити устрій структурних операторів мов Паскаль та Сі та та використати їх при дослідженні адресної арифметики.
- •Теоретичні відомості
- •Адресна арифметика в Сі
- •Правила написання програм
- •Завдання
- •Лабораторна робота 3
- •Частина 2 багатовимірні масиви
- •Лабораторна робота 4 дослідження пойменованого типу даних
- •Лабораторна робота 5
- •Завдання
- •Контрольні запитання
- •Лабораторна робота 6 дослідження механізму підпрограм Мета лабораторної роботи - вивчити в мовах Паскаль та Сі опис та використання відкритих і закритих підпрограм.
- •Inline- підпрограми Сі:
- •Контрольні запитання
- •Контрольна робота дослідження використання підпрограм в лінійних структурах даних
- •Контрольні запитання
- •Напередвизначені типи
- •Знак Число без знаку
- •Знак e
- •Список літератури
- •С. Робинсон и др. С# для профессионалов. Т 1,2. – м.: Лори, 2003. – 995с.
Контрольні запитання
Що таке підпрограма, яке її призначення?
Що таке аргумент підпрограм?
Наведіть типи підпрограм.
Опишіть способи передачі значень у закриту підпрограму.
Опишіть способи повернення значень з закритої підпрограми.
Дайте порівняльну характеристику закритих та відкритих підпрограм (переваги та нестатки).
Що таке незалежна компіляція?
Що таке перевантаження підпрограм?
Література: [1]; [4]; [5]; [6]; [7].
Контрольна робота дослідження використання підпрограм в лінійних структурах даних
Теоретичні відомості
Операції в структурах даних варто реалізовувати у вигляді підпрограм. Це дозволяє операції над даними інкапсулювати в окремі незалежні частини коду, спрощує читання та модифікацію програм та полекшує використання структур даних.
Завдання
Написати програму на мові Сі, яка складається з наступних дій:
Створення заголовного файлу (з розширенням .h). В файлі описується:
лінійна структура даних в зв’язаному уявленні (список), елемент якої має тип згідно з варіантом (табл. 18);
відкрита підпрограма (inline-функція) згідно з варіантом (табл. 19).
Створення основного файлу (з розширенням .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 |