МиНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
«тюменский государственный нефтегазовый университет»
ИНСТИТУТ МЕНЕДЖМЕНТА И БИЗНЕСА
Кафедра «Математические методы в экономике»
МЕТОДИЧЕСКИЕ УКАЗАНИЯ
к написанию курсовой работы по предмету
«Программирование»
Для студентов очной формы обучения по специальности
080500 «Бизнес-информатика»
Тюмень, 2012
1 Цель курсовой работы
Курсовая работа предусмотрена учебным планом и является учебным элементом дисциплины. Выполнение курсовой работы – важное звено в организации самостоятельной работы студентов. Она способствует приобретению опыта осуществления научно-исследовательской деятельности.
Целью курсовой работы (КР) является углубление знаний и расширение навыков по разработке алгоритмов и их реализации на персональном компьютере. Курсовая работа выполняется на языке программирования Паскаль, Си++, Delphi или др. и предполагает использование графических возможностей языка, создание игровых программ, работу с текстами, файловыми структурами, обработку записей. В курсовой работе следует максимально использовать возможности языка в работе со структурами, файлами, графикой.
2 Задание на курсовую работу
Примерные темы курсовых работ:
1.Приближенное решение нелинейных и трансцендентных уравнений. В программе предусмотреть графическое представление полученных результатов в виде графиков соответствующих функций и точек их пересечения с осями координат. Полученные числовые результаты необходимо хранить в виде текстового файла. Метод решения согласовывается с руководителем (метод хорд; метод касательных (Ньютона); комбинированный метод хорд и касательных; метод итераций; метод проб).
2.Нахождение корней нелинейного уравнения методом обратного интерполирования.
3.Построение по имеющейся таблице данных эмпирических формул с использованием метода наименьших квадратов. Входные данные: дискретные экспериментальные данные двух зависимых величин. В зависимости от характера данных (линейная, параболическая или др. зависимость) найти коэффициенты линий зависимости, построить график. Предусмотреть введение произвольного количества экспериментальных данных. Характер зависимости согласовывается с руководителем.
4.Интерполяция исходных табличных данных методом Лагранжа.
5.Интерполяция исходных табличных данных методом Ньютона.
6.Интерполяция исходных табличных данных сплайн-функциями. Тип сплайна (линейные, кусочно-кубические) согласовывается с руководителем.
7.Численное решение системы нелинейных уравнений итерационными методами.
8.Построение численных схем решения системы линейных алгебраических уравнений с использованием прямых методов.
9.Приближенное вычисление определенного интеграла по формулам прямоугольников, трапеции и Симпсона, сравнение формул интегрирования.
10. Вычисление интегралов с бесконечными пределами.
11. Приближенное вычисление кратных интегралов. Метод вычисления (аналог формулы прямоугольников, аналог формулы касательных, аналог формулы трапеций, аналог формулы Симпсона), кратность интеграла и тип подынтегральной функции согласовывается с руководителем.
12. Вычисление определенных интегралов методом Монте-Карло.
13. Вычисление кратных интегралов методом Монте-Карло.
14. Численное интегрирование дифференциальных уравнений методом Эйлера.
15. Численное интегрирование дифференциальных уравнений методом Рунге-Кутта.
16. Численное интегрирование дифференциальных уравнений методом Адамса.
17. Численное интегрирование дифференциальных уравнений методом Пикара.
18. Численное решение краевой задачи для обыкновенных дифференциальных уравнений методом конечных разностей.
19. Численное решение модельных дифференциальных уравнений в частных производных методом сеток.
20. Численное решение нелинейных дифференциальных уравнений 2-го порядка методом конечных разностей.
21. Программирование вычисления площадей плоских фигур. Предусмотреть вычисление с разной точностью и несколькими методами. Численные методы для вычисления площадей согласовываются с руководителем.
22. Программирование преобразования координат двумерных объектов (вращение, параллельный перенос). Начальные данные: уравнение кривой, выбор углов вращения, параллельного переноса. Кроме того, предусмотреть возможность трансформации: уплотнение, растягивание. Например, круг преобразуется в эллипс, квадрат в прямоугольник, изменяется амплитуда и частота синусоиды. Предусмотреть графическое представление результатов преобразований.
23. Метод Монте-Карло для вычисления площадей плоских фигур. В программе предусмотреть графическую демонстрацию работы метода статистического вычисления площадей. Предусмотреть разную точность вычислений и анализ зависимости скорости от точности и плотности случайных пикселов, а также сравнения, с точными значениями площадей для тестовых примеров (например прямоугольника). Виды фигур или их уравнения и способы вводу указывает руководитель.
24. Построение линий уровня для поверхностей второго порядка. Входные данные: уравнение поверхности (согласовываются с руководителем), шаг линий уровня, точность вычислений, область, для которой строятся линии уровня. Результат: графическое изображение линий уровня. Предусмотреть возможность масштабирования графического изображения, изменения цвета линий, толщины. Метод поиска линий уровня согласовывается или определяется руководителем.
25. Поиск экстремумов функции одной переменной. Входные данные: функция одной переменной, отрезок поиска, точность вычислений. Результат: экстремумы функции. По возможности предусмотреть графическую демонстрацию поиска экстремума, изменение графического оформления (цвет, толщина линий, масштаб), сохранения результатов. Тип функций и численный метод соглашается с руководителем.
26. Поиск экстремумов функции двух переменных. Входные данные: функция двух переменных, область поиска, точность вычислений. Результат: экстремумы функции. По возможности предусмотреть графическую демонстрацию поиска экстремума, изменение графического оформления (цвет, толщина линий, масштаб), сохранения результатов. Тип функций и численный метод соглашается с руководителем.
27. Программирование вычисления специальных функций и построение их графиков. Входные данные: некоторый класс специальных функций и точность их вычисления. Результат: таблицы значений этих функций и их графическое изображение для разных значений параметров этих функций. Предусмотреть сохранение таблиц в виде текстовых файлов, изменение графического оформления, масштабирования графиков. Выбор специальных функций и метод их вычисления согласовывается с руководителем (например, интегральные функции, интегральный синус и косинус, гамма-функции, функции Бесселя, полные эллиптические интегралы и т.п.).
28. Программирование решения систем нелинейных неравенств. Входные данные: некоторый класс неравенств с двумя переменными (возможное изменение коэффициентов). Результат: графическое изображение области решения на плоскости. Предусмотреть изменение графического оформления результатов и учебный демонстрационный режим решения системы. Класс системы неравенств, количество уравнений, согласовывается с руководителем.
29. Программирование разложения функции в ряд Тейлора и исследования сходимости ряда. Входные данные: несколько функций, точность разложения. Результат: коэффициенты разложения. По возможности предусмотреть численный анализ точности решения и сравнение с точными значениями. Предусмотреть возможность изменения графического оформления графиков и сохранения полученных результатов. Класс функций для разложения указывается руководителем.
30. Программирование решения дифференциального уравнения в виде разложения в ряд Тейлора. Входные данные: несколько дифференциальных уравнений, точность решения. Результат: коэффициенты разложения. Предусмотреть графическую иллюстрацию полученных результатов и сравнение с точными решениями (если это возможно), а также возможность изменения графического оформления графиков (цвет линий, толщина и др.). Класс дифференциальных уравнений указывается руководителем.
31. Решение нелинейных систем уравнений. Входные данные: система нелинейных уравнений. Результат: численные значения решений и графическое изображение в виде графиков уравнений системы и точек пересечения. Предусмотреть возможность сохранения результатов на диск, изменение цвета линий и их толщину. Численный метод решения согласовывается с руководителем.
32. Программирование булевой алгебры (логический калькулятор). Предусмотреть графическую демонстрацию с использованием диаграмм Эйлера-Венна.
33. Разработка игровых программ. Возможные варианты: 1) Игра в крестики-нолики с компьютером на поле 10х10. Выигрывает тот, кто первым поставит 5 символов в строке; 2) По экрану передвигается управляемый змей, который ловит мышей. Если мышь поймана, то длина змея растет; 3) Игра с управляемым объектом, что передвигается по карте; 4) Лотерея и др.
34. Построение на плоскости графиков функций. Типы графиков согласовываются с руководителем: полярные, параметрические, дискретные и др. Программа должна предусматривать введение функций, изменение графического представления графиков (толщина, цвет, стиль линий) и изменение систем координат, сохранения результатов, отображения нескольких графиков, штриховка областей и др.
35. Алгоритмы поиска кратчайшего пути. Постановка задачи: прямоугольная область разбита на одинаковые квадратные клетки. Каждая из клеток может быть наделена следующими свойствами: проходная клетка, непроходимая (препятствие), начальная, конечная. В программе предусматривается возможность создания карты препятствий (обозначение клеток как проходных или непроходимых) ее сохранения и загрузки. Кроме того, устанавливается одна начальная клетка и одна конечная. Программа должна находить наикратчайший путь от начальной клетки к конечной и выполнять демонстрацию алгоритма поиска. Выбор алгоритма поиска согласовывается с руководителем.