Главная страница
Навигация по странице:

  • Оборудование, технические и программные средства

  • Теоретические сведения

  • Выполнение работы

  • Требования к отчету

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

  • Лабораторная работа № 10. Лабораторная работа 10. Разработка тестовых модулей проекта для тестирования отдельных модулей


    Скачать 15.49 Kb.
    НазваниеЛабораторная работа 10. Разработка тестовых модулей проекта для тестирования отдельных модулей
    Дата27.04.2023
    Размер15.49 Kb.
    Формат файлаdocx
    Имя файлаЛабораторная работа № 10.docx
    ТипЛабораторная работа
    #1093603

    Лабораторная работа № 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. К каким нежелательным последствиям может привести оптимизация?


    написать администратору сайта