Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мет_2 часть_укр.doc
Скачиваний:
1
Добавлен:
09.11.2019
Размер:
938.5 Кб
Скачать

2.2. Постановка задачі

Скласти програму, що реалізує динамічну структуру відповідно до варіанта завдання, а також забезпечує виконання операцій над даними.

2.3. Варіанти завдань

  1. Створити список "Блокнот" (прізвище, ім'я, телефон, день народження). Реалізувати операції додавання елемента в список, внесення змін, виведення списку на екран.

  2. Створити список "Блокнот" (прізвище, ім'я, телефон, день народження). Реалізувати операції додавання елемента в початок списку, видалення елемента, виведення списку на екран.

  3. Створити список "Студент" (прізвище, ім'я, група, середній бал). Реалізувати операції додавання елемента в початок списку, виведення списку на екран, а також визначення кількості студентів у кожній групі.

  4. Створити список "Студент" (прізвище, ім'я, група, оцінки з 4 дисциплін). Реалізувати операції додавання елемента в початок списку, виведення списку на екран, а також визначення числа студентів з оцінками не нижче 4.

  5. Створити список "Студент" (прізвище, ім'я, група, оцінки з 4 дисциплін). Реалізувати операції додавання елемента в початок списку, виведення списку на екран, а також упорядкування списку по прізвищах.

  6. Створити список "Файли на диску" (ім'я файлу, розмір, дата створення, кількість звернень). Скласти програму, що забезпечує початкове формування каталогу файлів, виведення каталогу файлів, видалення файлів, дата створення яких менше заданої.

  7. Створити список "Файли на диску" (ім'я файлу, розмір, дата створення, кількість звернень). Скласти програму, що забезпечує початкове формування каталогу файлів, виведення каталогу файлів, видалення файлів, число звернень до яких менше заданого числа, а також виведення списку вилучених файлів.

  8. Створити список "Предметний покажчик" (назва теми, номер сторінки). Скласти програму, що забезпечує початкове формування предметного покажчика, виведення покажчика на екран, а також пошук теми й виведення відповідних номерів сторінок.

  9. Створити список "Предметний покажчик" (назва теми, номер сторінки). Скласти програму, що забезпечує початкове формування предметного покажчика, виведення предметного покажчика на екран, а також виведення всіх тем на заданій сторінці, які цитуються у покажчику.

  10. Створити чергу "Стоянка таксі" (номер машини, кількість місць, пункт призначення). Скласти програму, що забезпечує початкове формування черги таксі, видаляє із черги відправлену машину (із вказівкою пункту призначення), а також виводить список відправлених машин.

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

  12. Створити чергу "Стоянка таксі" (номер машини, кількість місць, пункт призначення). Скласти програму, що забезпечує початкове формування черги таксі, видаляє із черги відправлену машину (із вказівкою пункту призначення й фактичного числа пасажирів), а також виводить список машин, відправлених у заданий пункт.

  13. Створити чергу "Аеропорт" (номер рейса, місце призначення, час відправлення). Скласти програму, що дозволяє додавати в чергу новий політ, видаляти із черги відправлений рейс, вносити зміни в рейс, упорядковувати рейси за часом відправлення.

  14. Створити чергу "Аеропорт" (номер рейса, місце призначення, час відправлення). Скласти програму, що дозволяє додавати в чергу новий політ, видаляти із черги відправлений рейс, упорядковувати рейси за часом відправлення, міняти місцями рейси.

  15. Створити чергу "Аеропорт" (номер рейса, місце призначення, час відправлення). Скласти програму, що дозволяє додавати в чергу новий політ, видаляти із черги відправлений рейс, формувати список рейсів, відправлених після заданого часу.

  16. Створити чергу "Аеропорт" (номер рейса, місце призначення, час відправлення за розкладом, час затримки рейсу). Скласти програму, що дозволяє додавати в чергу новий політ, видаляти із черги відправлений рейс, формувати список рейсів, які будуть відправлені протягом найближчої години.

  17. Створити стек, що моделює платформу для перевезення нових автомобілів (поля структури: марка автомобіля, колір кузова). Платформа має один з'їзд. Тому, щоб витягти потрібну машину, доводиться викотити всі попередні машини й потім повернути їх на платформу у вихідному порядку. Скласти програму, що забезпечує початкове завантаження платформи, моделює процес вилучення першої машини потрібної марки, показуючи на екрані, які машини потрібно викотити із платформи.

  18. Створити стек, що моделює платформу для перевезення нових автомобілів (див. варіант 17). Скласти програму, що забезпечує початкове завантаження платформи, а також моделює процес вилучення машин заданого кольору. Показати новий порядок машин на платформі.

  19. Створити стек, що моделює платформу для перевезення нових автомобілів (див. варіант 17). Скласти програму, що забезпечує початкове завантаження платформи, а також моделює процес вилучення машин заданої марки. Показати новий порядок машин на платформі й сформувати список вилучених машин.

  20. Створити стек, що моделює платформу для перевезення нових автомобілів (див. варіант 17). Скласти програму, що забезпечує початкове завантаження платформи, а також моделює процес послідовного вилучення машин заданої марки (після викочування кожної машини, всі інші машини повертаються на платформу). Підрахувати, скільки разів кожна машина викочується із платформи, щоб забезпечити виїзд потрібній машині.

  21. Створити стек, що моделює платформу для перевезення нових автомобілів (див. варіант 17). Скласти програму, що забезпечує початкове завантаження платформи й моделює процес послідовного вилучення машин заданих кольорів (після викочування кожної машини, всі інші машини повертаються на платформу). Підрахувати, скільки разів кожна машина викочувалась із платформи й скільки разів водієві доводилося сідати за кермо.

  22. Створити стек "Маневровий тупик" (платформа/вагон, найменування вантажу, вантажопідйомність). Скласти програму, що дозволяє додавати в стек новий вагон, видаляти із стека вагон, формувати окремий стек для вагонів з певним типом вантажу.

  23. Створити стек "Маневровий тупик" (платформа/вагон, найменування вантажу, вантажопідйомність). Скласти програму, що дозволяє додавати в стек новий вагон, видаляти із стека вагон, формувати окремий стек для вагонів з певним вантажем.

  24. Скласти програму, що здійснює формування поїзду з певним вантажем. Використається три стеки типу "Маневровий тупик" (платформа/вагон, найменування вантажу, вантажопідйомність). В одному із стеків перебуває вихідний поїзд, в іншому – вагони поїзду, який формується, а третій стік - допоміжний. Програма повинна виводити на екран вихідний і отриманий поїзди.

2.4. Методичні вказівки

  1. Управління програмою здійснюється за допомогою меню.

  2. Передбачити виведення повідомлень у випадку, якщо список (черга, стік) порожній.

2.5. Зміст звіту

  1. Постановка завдання.

  2. Код програми.

  3. Скриншот з результатами роботи програми.

  4. Пояснення результатів і висновки.

3. Лабораторна робота 3 "Класи. Черги й стеки на основі масивів"

Ціль роботи: Навчитися створювати класи, визначати й застосовувати функції-члени класів. Освоїти роботу із класами на прикладах черг і стеків,

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

3.1.1. Визначення класу

Клас уводиться в програму ключовим словом class і являє собою абстрактний тип даних, обумовлений користувачем, За допомогою класу можна моделювати об'єкти, які мають атрибути (дані-члени) і варіанти поведінки (функції-члени).

Визначення класу нагадує визначення структури з тією відмінністю, що клас містить функції, що дозволяють оперувати з даними (змінними) класу. Для порівняння наведемо визначення структури date, що описує дату за допомогою змінних day, month, year:

struct date{

int day, month, year;

};

і визначення класу, що має у своєму складі функції setDate, nextDate і print для роботи із цими змінними:

class Date {

int day, month, year;

public:

Date(); //Конструктор класу

void set(int, int, int); //Установлює дату

void print(); //Друкує дату

};

Коли клас визначений, ім'я класу може бути використане для створення об'єкта цього класу, наприклад,

Date x1;