
- •Дослідження програмних об'єктів напередвизначених типів та операцій над ними
- •Опис програмних об’єктів
- •Ініціалізація змінних при створенні
- •Оператор привласнення
- •Загальна спрощена структура програми
- •Методичні вказівки Правила складання ідентифікаторів
- •Правила опису об’єктів у програмі
- •Частина 1 дослідження цілих типів даних
- •Завдання
- •Частина 2 дослідження дійсних типів даних
- •Завдання
- •Частина 3 дослідження арифметичних операцій над значеннями цілих та дійсних типів
- •Завдання
- •Частина 4 дослідження бітових операцій над цілими значеннями
- •Бітові операції
- •Завдання
- •Частина 5 дослідження логічних типів, логічних операцій та операцій відношення
- •Завдання
- •Частина 6 дослідження вказівних типів даних
- •Завдання
- •Частина 7 дослідження символьних типів та базової операції – атрибут
- •Завдання
- •Лабораторна робота 2
- •Дослідження структурних операторів операторного
- •Базису мов програмування паскаль та сі
- •Мета лабораторної роботи - вивчити устрій структурних операторів мов Паскаль та Сі та та використати їх при дослідженні адресної арифметики.
- •Теоретичні відомості
- •Адресна арифметика в Сі
- •Правила написання програм
- •Завдання
- •Лабораторна робота 3
- •Частина 2 багатовимірні масиви
- •Лабораторна робота 4 дослідження пойменованого типу даних
- •Лабораторна робота 5
- •Завдання
- •Контрольні запитання
- •Лабораторна робота 6 дослідження механізму підпрограм Мета лабораторної роботи - вивчити в мовах Паскаль та Сі опис та використання відкритих і закритих підпрограм.
- •Inline- підпрограми Сі:
- •Контрольні запитання
- •Контрольна робота дослідження використання підпрограм в лінійних структурах даних
- •Контрольні запитання
- •Напередвизначені типи
- •Знак Число без знаку
- •Знак e
- •Список літератури
- •С. Робинсон и др. С# для профессионалов. Т 1,2. – м.: Лори, 2003. – 995с.
Лабораторна робота 5
ДОСЛІДЖЕННЯ ЛІНІЙНИХ ТА НЕЛІНІЙНИХ СТРУКТУР ДАНИХ
В МОВАХ ПАСКАЛЬ ТА СІ
Мета лабораторної роботи - вивчити можливості та особливості створення лінійних та нелінійних структур данних у мовах Паскаль та Сі.
Теоретичні відомості
Структура даних – це засіб зберігання даних для забезпечення доступу до них для читання та запису певним способом. Не існує однієї структури даних, що працює найкращим чином для всіх цілей, тому у різних умовах та обмеженнях використовуються різні структури.
Лінійні структури даних – це такі структури, елементи яких мають форму послідовності або лінійного списку. До лінійних структур даних відносять масиви, стеки, черги та зв’язані лінійні списки.
Стек – це структура даних, яка побудована на метафорі «магазин автомату» або «трубка з одним відкритим кінцем» та забезпечує доступ до елементів тільки з одного кінця за дисципліною «Перший увійшов – останній вийшов» - First in – Last out (LIFO). Стек забезпечує дві операції з його елементами - «помістити» - Push, та «витягнути» - Pop. Один й той же елемент може бути витягнутий зі стеку тільки один раз, коли він знаходиться на вершині.
Рис 2.1. Стек
Черга – це структура даних, яка побудована на метафорі «черга обслуговування» або «однонаправлена трубка з двома відкритими кінцями» та забезпечує дисципліну «Перший увійшов – перший вийшов» - First in – First out (FIFO). Черга забезпечує дві операції з його елементами – «Помістити у чергу» - Enqueue та «Взяти з черги» - Dequeue. Елемент може бути взятий з черги тільки один раз.
Рис. 2.2 Черга
Зв’язаний лінійний список – це структура, всі елементи якої зв’язані один з іншим за допомогою посилань. На перший елемент списку посилається окрема змінна, яка містить його адресу. Кожний елемент списку містить покажчик з адресою наступного елементу. Останній елемент списку містить посилання на null.
Рис. 2.3 Зв’язаний список
Нелінійні структури даних – це структури, елементи яких не можливо представити у вигляді послідовності. Дерево – це нелінійна структура даних, яка зберігає їх у зв’язаних вузлах, що утворюють ієрархію. Кожний вузол дерева (окрім кореневого) зв’язаний зі старшим вузлом та може бути зв’язаним з молодшими вузлами. Бінарне дерево – це таке дерево, кожний вузол якого може мати тільки два молодших вузла.
Рис. 2.4 Дерево
Завдання
Написати програми на мовах Паскаль та Сі, які складаються з наступних дій:
Опису структури даних, використовуючи пойменований тип, згідно з варіантом (табл. 16).
Опису вказівної змінної типу, що вказаний в п.1 даного завдання.
Опису змінної індексованого типу з 10 елементів вказаного у варіанті типу даних (табл. 16) та її ініціювання.
Ініціювання та створення N елементів описаної структури даних, використовуючи змінну індексованого типу, що описана в п.3 даного завдання, де N – це ціле значення з діапазону від 0 до 9.
Видалення M елементів з описаної структури даних, де M – це ціле значення з діапазону від 0 до 15. Виконується тільки для лінійних структур даних.
Примітка: при ініціюванні структури даних необхідно аналізувати її переповнення. При видаленні елементів – їх відсутність.
Таблиця 16
№ варіанта |
Структура даних |
Тип даних |
1 |
Лінійна: “Стек” зв’язане представлення |
Дійсний |
2 |
Лінійна: “Черга” зв’язане представлення |
Символьний |
3 |
Лінійна: “Черга” зв’язане представлення |
Символьний |
4 |
Лінійна: “Стек” зв’язане представлення |
Дійсний |
5 |
Лінійна: “Стек” зв’язане представлення |
Цілий |
6 |
Лінійна: “Черга” зв’язане представлення |
Цілий |
7 |
Лінійна: “Стек” зв’язане представлення |
Дійсний |
8 |
Лінійна: “Стек” зв’язане представлення |
Цілий |
9 |
Лінійна: “Стек” зв’язане представлення |
Цілий |
10 |
Лінійна: “Черга” зв’язане представлення |
Символьний |
11 |
Лінійна: “Черга” зв’язане представлення |
Цілий |
12 |
Лінійна: “Черга” зв’язане представлення |
Дійсний |
13 |
Лінійна: “Стек” зв’язане представлення |
Цілий |
14 |
Лінійна: “Стек” зв’язане представлення |
Символьний |
15 |
Лінійна: “Черга” зв’язане представлення |
Дійсний |