Файл: Лабораторная работа 10. Разработка тестовых модулей проекта для тестирования отдельных модулей.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 11.12.2023
Просмотров: 45
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Лабораторная работа № 10. Разработка тестовых модулей проекта для тестирования отдельных модулей
Цель занятия: Ознакомление с видами оптимизации программы, оптимизация индивидуального модуля по выбранному параметру (время выполнения, объем памяти).
Оборудование, технические и программные средства: персональный компьютер, среда программирования Visual Studio 2019.
Продолжительность занятия:2 часа.
Задание:
Разработать тестовые модулей проекта для тестирования отдельных модулей, провести оптимизацию программы по выбранному параметру.
Теоретические сведения:
Оптимизация – преобразование программы, сохраняющее ее семантику (конструкции языка программирования), но уменьшающие ее размер и время выполнения.
Виды оптимизация программы:
-
глобальная (всей программы); -
локальная (нескольких соседних операторов, образующих линейный участок); -
квазилокальная (фрагментов программы фиксированной структуры, например, циклов).
Способы оптимизации:
1. Разгрузка участков повторяемости: вынесение вычислений из многократно проходимых исполняемых участков программы на участки программы, редко проходимые. Таким образом, это преобразование тела цикла или рекурсивных процедур.
2. Упрощение действий: улучшение программы за счет замены групп вычислений на группу вычислений, дающих тот же результат с точки зрения всей программы, но имеющих меньшую сложность.
а) упрощение действий происходит при замене сложных операций в выражениях более простыми: x / 0.4 -> x*0.25;
б) преобразование по объединению или расчленению циклов, по перестановке заголовков циклов, по удалению избыточных выражений (замене их на переменную).
3. Реализация действия: действия над константами заменяются на константы; ликвидация константных распознавателей -замена условного оператора на одну из его ветвей, если его выбирающее условие-выражение
имеет постоянное значение; удаление из программы ненужных пересылок вида:
Y=F(W), X=Y на X=F(W)
4. Чистка программы (удаление ненужных конструкций): недостижимых операторов, существенных операторов, неиспользуемых переменных, видов, операций.
5. Сокращение размера программы: вынесение одинаковых конструкций в начальную или конечную точку программы; поиск в программе похожих объектов и формирование их в виде процедуры.
6. Экономия памяти -уменьшение объема памяти, отводимые под информационные объекты программы (например, параметры процедуры).
Выполнение работы:
1. Для индивидуального модуля выбрать параметр оптимизации и определить его количественные характеристики.
2. Провести оптимизацию программы по выбранному параметру.
3. Сравнить характеристики исходного модуля и модуля, полученного в результате оптимизации.
4. Оформить отчет, содержащий описание, обоснование и результаты оптимизации программы.
Требования к отчету: Текст должен быть написан шрифтом Times New Roman, 12. Интервал между строками и абзацами – 1,5. Отступ слева 1,5. Ориентация текста – по ширине страницы. Скриншоты необходимо подписать. Название практической работы, цель работы, ход работы, вывод, ответы на контрольные вопросы, должны быть выделены жирным шрифтом, так же как в методичке.
Контрольные вопросы:
1. Почему необходимо проводить оптимизацию, а не минимизацию программы?
2. От чего зависит выбор метода оптимизации?
3. Почему большое внимание уделяется циклическим участкам?
4. К каким нежелательным последствиям может привести оптимизация?