Порядок выполнения задания. Санкт-Петербургский государственный университет
Санкт-Петербургский государственный университет
Аэрокосмического приборостроения
Кафедра компьютерной математики и программирования
А.А.Ключарёв, М.Д.Поляк, М. В. Фаттахова
Учебно-вычислительная практика
Методические указания
Санкт-Петербург
Цель учебно-вычислительной практики.
Целью проведения учебно-вычислительной практики (УВП) является:
· закрепление теоретических знаний, полученных студентами на лекционных, лабораторных и практических занятиях;
· развитие навыков самостоятельной работы по анализу информационных материалов печатных и электронных источников;
· получение навыков программирования на языке MATLAB;
· освоение работы с функциями и массивами данных, получение навыков построения интерфейса пользователя.
2. Задание по УВП.
Разработать алгоритм и программную реализацию заданного математического метода в виде функции на языке программирования MATLAB в среде MatLab, FreeMat, Octave или SciLab. Разработанная функция должна быть снабжена пользовательским интерфейсом. Для недопустимых значений входных данных, при которых невозможно провести вычисления, должно отображаться сообщение об ошибке. Также необходимо провести сравнение разработанной функции со встроенными функциями используемого математического пакета (MatLab, FreeMat, Octave), решающими те же задачи.
Реализуемый математический метод определяется в соответствии с вариантом. Варианты назначаются преподавателем.
Результаты практики оформляются в виде отчета, представляемого в конце практики.
Варианты заданий
Блок «системы линейных алгебраических уравнений»
1. Решение системы линейных алгебраических уравнений методом Гаусса ([1], с. 75).
Блок «интерполяция и экстраполяция»
1. Интерполяция функции по формулам Лагранжа при равномерном расположении узлов ([1], с. 79).
2. Интерполяция функции методом Ньютона при произвольном расположении узлов ([1], с. 82).
Блок «нелинейные и трансцендентные уравнения»
1. Решение нелинейных и трансцендентных уравнений методом Ньютона ([1], с. 86).
2. Решение нелинейных и трансцендентных уравнений методом простых итераций ([1], с. 86, 87).
3. Решение нелинейных и трансцендентных уравнений методом хорд ([1], с. 89).
Блок «численное интегрирование»
1. Численное интегрирование функций методом трапеций ([1], с. 104‑105).
2. Численное интегрирование функций методом парабол (Симпсона) ([1], с. 108, 109).
Порядок выполнения задания
· 1 этап (0 – 20 баллов). Анализируется возможность применения указанного численного метода при решении поставленной задачи [2, 3]. Проверяется выполнение условий, которые накладываются на исходные данные [2]. Указанным методом вручную решается тестовый пример, указанный в задании, или произвольный. (Числовая информация для параметров тестового примера подбирается самостоятельно с учетом области существования программируемого выражения.)
Защищаемый результат: математическое и вербальное описание выбранного метода решения задачи, результаты решения (в письменном виде, обязательно подробно и с описанием каждого шага).
· 2 этап (0 – 24 баллов). Разрабатывается алгоритм программной реализации заданного аналитического выражения, его блок-схема [1] и реализация в MATLAB. На этом этапе необходимо выполнить следующее:
a) построить алгоритм для указанного в задании математического метода, описать его с помощью блок - схемы и реализовать в виде пользовательской функции (см. примечание 1 ниже);
b) реализовать указанный в задании математический метод с использованием встроенных математических функций среды разработки (см. примечание 2 ниже);
c) реализовать пользовательский интерфейс для упрощения взаимодействия конечного пользователя с разработанной функцией;
d) сравнить работу пользовательских функций, полученных в результате выполнения пунктов 1 и 2.
Защищаемый результат: блок-схема алгоритма, листинг программы с подробными комментариями и работающая версия на электронном носителе.
Примечание 1: при выполнении пункта a) задания запрещается использовать все математические и другие функции используемого математического пакета. Алгоритм необходимо реализовать с помощью базовых языковых конструкций, таких как for, while, if-else и т.п.
Примечание 2: при выполнении пункта b) задания, в случае, если в используемом математическом пакете нет встроенной функции, реализующей указанный в задании математический метод, необходимо подобрать имеющуюся в математическом пакете функцию, наиболее близкую по смыслу решаемой ею задачи. Например, в пакете FreeMat не реализована интерполяция многочленами Лагранжа или по формуле Ньютона, однако связка функций polyfit и polyval решает задачу интерполяции многочленами методом наименьших квадратов. Следовательно, вместо интерполяции многочленами по Лагранжу или по Ньютону, при выполнении пункта 2 задания можно использовать функции polyfit и polyval.
· 3 заключительный этап (0 – 56 баллов). Окончательный вариант отчета, подготовленный к защите, комплектуется и оформляется на бумажном носителе.
Защищаемый результат: отчет по учебной (вычислительной) практике, выполненный на бумажном носителе.
Баллы начисляются по следующему правилу:
· На первых двух этапах: если очередной этап защищен в срок, студент может получить за него максимальное количество баллов. Если в срок, установленный для защиты, очередной этап работы представлен не был, студент лишается баллов, определенных за выполнение данного этапа. Основанием для переноса срока защиты очередного этапа УВП может служить только медицинская справка.
· На последнем, заключительном, этапе: представленная работа оценивается по нескольким показателям: срок представления, оформление, подробность и ясность изложения материала, качество программного продукта и др. На основании этой оценки выставляется количество баллов в диапазоне 0 – 56.
После итоговой защиты работы количество баллов, полученное на каждом этапе, суммируется и по общему количеству баллов выставляется оценка по пятибалльной системе в соответствие с общепринятыми правилами:
85 – 100 баллов: «отлично»;
70 – 84 баллов: «хорошо»;
56 – 69 баллов: «удовлетворительно»;
менее 56 баллов: «неудовлетворительно».