Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LAB_TP_2013.doc
Скачиваний:
82
Добавлен:
02.06.2015
Размер:
15.36 Mб
Скачать

Тестирование и использование приложения

    1. Запустите приложение на выполнение, нажав быстрые кнопки Сохранить все и Запуск.

    2. Составьте тесты, которые проверят правильность сообщений об ошибках.

    3. Выполните преобразования для исходного выражения в общем виде, содержащего не менее трех вложенных скобок и все арифметические операции. Вычислите значение подобного по сложности арифметического выражения.

    4. Выделите в отдельный класс функции работы со стеком. Затем выполните отладку отредактированного приложения и получите результаты, представленные на рис.5.4 и 5.5.

Рис.5.4 – форма после пребразований выражения

Рис.5.5 – форма после пребразований и вычисления выражения

Контрольные вопросы

  1. Внесите комментарии в файл LR_5.cpp.

  2. Внесите комментарии в функции работы со стеком в файле f_5.cpp.

  3. Внесите комментарии в функцию проверки исходного выражения.

  4. Внесите комментарии в функцию расстановки пробелов в исходном выражении.

  5. Внесите комментарии в функцию получения постфиксной записи исходного выражения с пробелами.

  6. Внесите комментарии в функцию реверсирования исходного выражения с пробелами.

  7. Внесите комментарии в функцию преобразования реверсированного исходного выражения с пробелами в постфиксную запись.

  8. Внесите комментарии в функцию реверсирования постфиксной записи реверсированного исходного выражения с пробелами, или в функцию получения префиксной записи.

  9. Внесите комментарии в функцию вычисления значения исходного выражения по постфиксной записи.

  10. Где и как создается и разрушается объект класса Stack?

  11. Как выделить функции работы со стеком в отдельный класс?

  12. Каков список действий, доступных пользователю через разделы меню и кнопки инструментальной панели, в данной работе?

  13. Какие компоненты обеспечивают диспетчеризацию действий?

  14. Расскажите о возможностях редактора диспетчера действий ActionList.

  15. Каково назначение компонента ImageList? Как он используется?

  16. Расскажите о последовательности шагов при формировании списка действий и проектирования меню и инструментальной панели в данной работе.

  17. Как пользоваться Редактором Действий? Как задаются значения свойствам объекта действия?

  18. Какие события определены для каждого действия? Какое событие и как используется в данной работе? Как еще можно использовать это событие?

  19. Как использовать объект действия для щелчка на кнопке инструментальной панели?

  20. Как свойства и обработчики событий объекта действия перенести на раздел меню? На кнопки инструментальной панели?

  21. Расскажите о компоненте ToolBar. Какие свойства и как используются в данной работе?

  22. Поместите алгоритмы в обработчики щелчков на кнопках инструментальной панели и свяжите их с меню.

Лабораторная работа 6

ОЧЕРЕДЬ ПРИОРИТЕТОВ

Введение

Очередь(queue) – это структура данных, которая сохраняет элементы в стиске и обеспечивает доступ к данным только в двух концах списка. Элемент вставляется в конец списка и удаляется из начала списка. Приложения используют очередь для хранения элементов в порядке их поступления.

Элементы удаляются из очереди в том же порядке, в котором они сохраняются и, следовательно, очередь обеспечивает FIFO (first-in/first-out) упорядочение. Обслуживание клиентов в очереди и буферизация задач принтера в системе входных и выходных потоков принтера – это классические примеры очередей.

Возможны два способа реализации очереди. В первом способе блоки памяти под элементы очереди выделяются и освобождаются по мере поступления и удаления элементов и связываются указателями. Доступ к данным осуществляется через указатели на начало и конец очереди. Следовательно, при первом способе реализации очередь представляет собой динамическую структуру данных. Во втором способе для реализации очереди используется массив и здесь может возникнуть условие полной очереди. Здесь для доступа к данным используются индексы первого и последнего элементов участка массива, занимаемого очередью.

В очереди приоритетов элемент также вставляется в конец очереди, но удаляется элемент с наивысшим приоритетом, вне зависимости от его положения в очереди.

Целью данной лабораторной работе является изучение модели очереди приоритетов при обслуживании клиентов компьютерного сервиса. Элементами очереди являются заявки клиентов с разными или одинаковыми приоритетами.

В приложении очередь является объектом класса и строится на основе фиксированного по размеру массива объектов другого класса. Массив объектов размещается в динамической памяти. Все объекты – элементы массива – имеют одинаковый размер.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]