
- •Процес знаходження номеру варіанта індивідуального завдання
- •Завдання на курсову роботу
- •4. Обчислити вираз, представлений в інфіксній формі запису.
- •1.Теоретична частина Стек
- •2. Завдання 3. Побудова атд
- •2. 1. Постановка задачі
- •2. 2. Динаміка вмісту
- •4. Обчислити вираз, представлений в інфіксній формі запису.
- •3.2.2. Граф-схема алгоритму
- •3.3. Результати виконання програми Висновки
- •Список літератури
- •Додатки Частина 1. Побудова атд
- •Частина 2. Застосування атд
4. Обчислити вираз, представлений в інфіксній формі запису.
Вказівки до розв’язання задачі: При обчисленні виразу, представленого в інфіксній формі застусовуйте два стеки – один для операндів, другий для операторів.
3.2. Алгоритм розв’язання задачі
3.2.1. Словесний опис алгоритму
Ініціалізація об’єкту типу “stack” та рядка символів для зберігання арифметичного виразу.
Аналі кожного елемента вхідної послідовності.
Якщо елемент вхідної послідовності це число, то воно додається у стек операндів.
Якщо це операція та стек операторів не пустий то операція із вх.. рядка аналізується:
Якщо пріоритет вершини стеку операторів більший ніж пр.-т елемента що розглядається, то поки вершина стеку операторів не є ‘(‘ і обидва стеки не порожні виконується обрахунок виразу.
Після цього у стек операндів додається елемент вхідної послідовності, що розглядався.
Якщо вх.. ел. що розглядається - ‘(‘ , то вона додається до стеку операторів
Якщо вх.. ел. що розглядається - ‘)‘ , то поки не знайдено ‘(‘ у стеку операторів виконується обрахунок виразу на основі обох стеків.
Якщо не вхідний елемент не підлягає під жодну попередню умову, або стек операторів пустий, то операція додається у стек операторів.
Якщо переглянуто усі елементи із вхідного рядка, то поки обидва стеки не пусті, виконується обрахунок виразу.
Вивід результату на екран.
3.2.2. Граф-схема алгоритму
3.3. Результати виконання програми Висновки
Виконуючи курсову роботу я:
провів детальний аналіз літератури та Інтернет джерел за темою «Динамічні структури», що дало змогу сформувати як теоретичні основи понять стек, черга та список так і основні алгоритми реалізації та роботи із цими типами даних. У курсовій роботі наведені графічні представлення стека, графічно показано суть алгоритмів вставки, видалення елемента стека;
дослідив внутрішнє представлення в пам’яті комп’ютера базових і похідних типів даних статичної структури та динамічних структур даних;
проаналізував застосування стеків на практиці, що дало змогу визначити, в яких цілях і з якою метою є їх найбільш доцільне використання. Було показано, що на даний час існує ряд специфічних задач і областей застосування, де без використання стека обійтись практично не можливо.
написав програму супроводжуючи її вказанням усіх можливих результатів роботи. У програмі зроблені коментарі, які роблять програму більш зрозумілою.
Список літератури
Грегори К. Использование Visual С++. Специальное издание. - М.: «Диалектика», 1999.
Мешков А.В., Тихомиров Ю.В. Visual С++ и MFC. Пер. с англ. – 2-е изд. перераб. и доп. – СПб.: БХВ - Петербург, 2002. – 1040 с.
Страуструп Б. Язык программирования С++. Третье издание. - М.: «Издательство Бином», 1999.
Трамбле Ж., Соренсон П. Введение в структуры данных. – М.:Машиностроение, 1982
Уильям Топп, Уильям Форд. Структуры данных в С++. – М.:Бином, 2000 - 700 с