Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лабораторная1.doc
Скачиваний:
3
Добавлен:
16.08.2019
Размер:
172.54 Кб
Скачать

1.2. Требования к реализации

  • Используемый язык программирования. Язык по выбору студента. Желательно использовать современные языки и платформы программирования: C++, Delphi, Java, C# и т.д.

  • Интерфейс пользователя. Интерфейс должен быть достаточно "дружественным", удобным для тестирования, лучше всего в виде диалоговых окон. Это ускоряет и упрощает процедуру тестирования программы преподавателем. Консольный вариант интерфейса программы так же допустим, хотя и не желателен, так как на сегодняшний день современные инструментальные средства разработки (такие как Borland Delphi, Visual Studio, Eclipse и т.д.) позволяют создавать удобные визуальные диалоговые окна «в несколько щелчков мышкой», вырабатывая соответствующие навыки у студентов.

  • Программа не должна выдавать таких возможных ситуаций, как «Деление на ноль», «Переполнение» и т.п. При возникновении таких ошибок программы будут отправляться на доработку.

  • Тестирование программы проходит во время занятий в компьютерном классе. Если тестирование проводится на компьютере преподавателя, то программа должна быть предоставлена в виде исполняемого модуля, при необходимости укомплектованная всеми нужными внешними библиотеками, так как на компьютере преподавателя может не быть той инструментальной среды, которую выбрал студент для реализации работы.

  • Исходные тексты программы должны быть отформатированы и содержать достаточное для понимания логики программы количество комментариев.

  • Исполняемый модуль и носитель (USB-носитель, CD диск и т.п.) на котором он предоставляется для проверки преподавателю, должны быть предварительно проверены на вирусы.

1.3 Пример интерфейса пользователя

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

Рис. 1

Примерный вид интерфейса пользователя.

Программа должна выполнять элементарные проверки на корректность вводимых данных, например, ввод строковых данных вместо числовых и т.п.

1.4 Получение и прием заданий

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

Студенты получают варианты заданий на практических занятиях. Так как общее число методов довольное большое, их количество для программной реализации оговаривается отдельно, в зависимости от уровня подготовки студентов. Общие рекомендации следующие. Рассмотреть методы поиска безусловного минимума из основных групп: нулевого порядка и градиентных методов (первого и второго порядков). Минимальное число: 2 метода в каждой группе. Необходимо сравнить методы между собой в каждой группе по разным показателям (быстродействие, чувствительность к выбору начальной точке и параметрам, трудоемкость алгоритма, сложность реализации и т.д.). Методы выбираются после прочтения лекционного материала, утверждаются преподавателем и не подлежат замене. Соответствие заданию строго контролируется.

Требования к выполнению лабораторных работ:

1. Строгое соответствие программы и результатов ее работы с полученным заданием.

2. Самостоятельные тестирование и отладка программы.

3. Устойчивость работы программы при любых значениях параметров, задаваемых пользователем через интерфейс программы.

4. Предоставление демонстрационных примеров и исходного текста программы для защиты лабораторных работ. Привести наиболее интересные графики из численного моделирования. Отдельно рассмотреть ситуации, когда метод не сходится к решению, если удается получить такой пример. Объяснить причины подобного поведения алгоритма.

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

6. Таблицы должны содержать значения всех переменных метода, которые подлежат пересчету на каждой итерации. Обязательно указывать значения критериев выхода из итерационной процедуры. Для методов покоординатного спуска указывать результаты по каждой координате. В дальнейшем учесть количество промежуточных вычислений при подсчете количества итераций.

7. Выводы: дать сравнительный анализ методов между основными группами и внутри каждой группы. Особенно уделить внимание на специализацию методов, т.е. ответить на вопрос – как поведение целевой функции отражается на работе алгоритма (метода). Поскольку у каждого метода есть свой класс функций, для которого данный метод и был разработан. Объяснить, почему на одних функциях результаты хорошие, на других сходимость медленнее. Указать алгоритмы, которые одинаково хорошо работают на функциях любого вида.

8. Работу выполнить для функций 2 типов: параболического (квадратичного) типа и общего типа.

Условия сдачи лабораторных работ:

Знание теории по сдаваемой теме. Умение объяснить полученные результаты. Способность быстро продемонстрировать владение предметной областью.