Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
metodichka_po_labaratornym_robotam_ASD-S.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
567 Кб
Скачать
☆
  1. Хід виконання практичної роботи

1. Створення нового проекту в середовищі C++

Проект - це програма на стадії створення. Він складається з програмного коду, файлів проекту C++ .

Питання до захисту :

Що робить функція strcat ?

Відповідь:____________________________________________________

_____________________________________________________________

Як задати кількість символів в рядковій змінній?

Відповідь:____________________________________________________

_____________________________________________________________

Поясніть призначення і формат оператора .size().

Відповідь:____________________________________________________

_____________________________________________________________

Як додати кілька символів в строкову змінну?

Відповідь:____________________________________________________

_____________________________________________________________

Роботу виконав Роботу перевірив

Лабораторна робота №2

«Робота з чергою та стеком в C++»

1 Тема роботи: Використання стека і черги для перетворення рядків.

2 Мета роботи: Вміст заданого текстового файлу F, розділеного на рядки, переписати в текстовий файл G, переносячи при цьому в кінець кожного рядка всі вхідні в неї цифри (зі збереженням вихідного взаємного порядку як серед цифр, так і серед решти букв рядка).

3 Теоретичний матеріал

Черга - це лінійний список інформації, робота з якою відбувається за принципом "першим прийшов — першим вийшов" (first-in, first-out); цей принцип (і черга як структура даних) іноді ще називається FIFO[1]. Це означає, що перший поміщений в чергу елемент буде отриманий з неї першим, другий поміщений елемент буде витягнутий другим і так далі. Це єдиний спосіб роботи з чергою; довільний доступ до окремих елементів не дозволяється.

Черги дуже часто зустрічаються в реальному житті, наприклад, біля банків або ресторанів швидкого обслуговування. Щоб уявити собі роботу черги, давайте введемо дві функції: qstore() і qretrieve() (від "store"— "зберігати", "retrieve" — "отримувати"). Функція qstore() поміщає елемент в кінець черги, а функція qretrieve() видаляє елемент з початку черги і повертає його значення.

Стек - (stack) є як би протилежністю черги, оскільки він працює за принципом "останнім прийшов — першим вийшов" (last-in, first-out, LIFO)[1]. Щоб наочно уявити собі стек, згадаєте стопку тарілок. Перша тарілка, що стоїть на столі, буде використана останньою, а остання тарілка, покладена вгору — першою. Стеки часто застосовуються в системному програмному забезпеченні, включаючи компілятори і інтерпретатори.

При роботі із стеками операції занесення і витягання елементу є основними. Ці операції традиційно називаються "заштовхати в стек" (push)[2]і "виштовхнути із стека" (pop)[3]. Тому для реалізації стека необхідно написати дві функції: push(), яка "заштовхує" значення в стек, і pop(), яка "виштовхує" значення із стека. Також необхідно виділити область пам'яті, яка використовуватиметься як стек. Для цієї мети можна відвести масив або динамічно виділити фрагмент пам'яті за допомогою функцій мови C, передбачених для динамічного розподілу пам'яті. Як і у разі черги, функція витягання отримує зі списку елемент і видаляє його, якщо він не зберігається де-небудь еше. Нижче приведена загальна форма функцій push() іpop(), працюючих з цілочисельним масивом. Стеки даних іншого типу можна організовувати, змінивши базовий тип даних масиву.