Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Математические методы и алгоритмы решения задач




Назначение курса

  Упражнения и лаборатории курса ПО САПР предназначены для практического закрепления навыков, полученных при прослушивании лекционного материала по соответствующему курсу.

 

 

Общие требования

Порядок выполнения практической работы

  Выполнение лабораторной работы начинается с получения задания.
  Студент должен ознакомиться с заданием на лабораторную работу. В случае, если задание непонятно, он может проконсультироваться у преподавателя.
  Практическая работа выполняется каждым студентом индивидуально.
  После получения и согласования с преподавателем задания на лабораторную работу студент приступает к выполнению теоретической части работы. В ходе теоретической части работы студент разрабатывает: · требования к программному продукту; · математические методы и алгоритмы; · структуру программы; · форматы представления данных.
  После разработки теоретической части студент представляет преподавателю разработанный материал, и, получив разрешение преподавателя, приступает к непосредственному кодированию разработанной программы на компьютере.
  Написав программу, студент должен её тщательно протестировать (в том числе встроенными модульными тестами). После этого он должен сдать программу преподавателю, продемонстрировав её работу и исходный код.
  По завершении работы студент оформляет отчёт, к которому прилагается исходный код программы.

Содержание отчёта

 

  В отчёт входит описание: · постановки задачи; · исходных данных; · особых ситуаций; · математических методов и алгоритмов решения задачи; · форматов представления данных в памяти и на внешних носителях; · структуры программы; · модулей, функций и переменных программы; · модульных тестов; · полученных результатов.
  Отчёт оформляется на листах формата A4 с обязательным титульным листом, на котором указываются названием работы; ФИО исполнителя; ФИО преподавателя и т.д.

Постановка задачи

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

Исходные данные

  Исходными данными являются любые данные, которые программа получает для обработки.
  Описание исходных данных должно содержать: · семантику (назначение) данных; · единицы изменения; · представление в программе.

Особые ситуации

  Под особыми ситуациями понимаются ситуации, в которых поведение программы может не соответствовать поведению, ожидаемому пользователем.
  Все особые ситуации должны быть описаны и соответствующим образом обработаны в программе.
  Примерами особых ситуаций являются: · отсутствие ожидаемых программой файлов; · возможное деление на ноль в ходе вычислений; · нехватка оперативной памяти.

Математические методы и алгоритмы решения задач

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

Форматы представления данных

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

Структура программы

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

Результаты работы программы

  Необходимо указать, какие результаты производит программа.
  Необходимо указать в каком формате пользователь получает результат.

Исходный текст программы

  Исходный текст программы распечатывается и прилагается к отчёту.

Документирование и комментирование исходного текста

  Все пользовательские типы данных должны быть прокомментированы.
  Все функции, классы и модули должны быть прокомментированы.
  Каждый модуль (h или cpp) должен начинаться с комментария, указывающего его назначение, автора, используемые алгоритмы.
  Каждая нетривиальная функция должна предваряться комментарием, описывающим: · назначение; · входные данные; · результаты.
  В функциях, где соответствующее описание будет полезным, также следует описать: · предусловия; · постусловия; · инварианты.

Защита и сдача лабораторной работы

  Лабораторная работа «защищается» преподавателю, ведущему лабораторные и практические работы.
  Для защиты необходимо иметь отчёт о проделанной работе и продемонстрировать работоспособную программу.
  Оценку за лабораторную работу выставляет преподаватель, которому работа была «защищена».
  Окончательная сдача лабораторной работы производится преподавателю, ведущему лекционный курс, и является допуском к экзамену (или зачёту) по предмету.

Окончательная сдача лабораторных работ

  Для сдачи лабораторных работ, необходимо представить: · комплект отчётов по лабораторным работам; · дискету с исходными кодами программ и выполняемыми модулями. В корневом каталоге дискеты должен содержаться файл readme.txt, в котором должно быть указано: · Ф.И.О. выполнившего (выполнивших) работы · Год, название предмета, названия работ.

Лабораторная работа №1.
Использование языка программирования С++ для математических расчётов.

Цель работы

Первая лабораторная работа предназначена для приобретения практического опыта в создании простейшего приложения с использованием языка программирования С++.

Призвана:

· Закрепить базовые навыки использования арифметических типов, операторов и инструкций языка программирования C++.

· Обучить использованию структур (struct) в программе.

· Рассмотреть основы ввода-вывода в консольном приложении.

Варианты заданий

  Для заданной функции на заданном интервале найти требуемое значение методом половинного деления.
  Для заданной функции на заданном интервале найти требуемое значение методом Ньютона.
Для заданной функции на заданном интервале найти требуемое значение методом хорд.
Для заданной окружности и луча определить, пересекает ли луч окружность.
  Для заданных отрезков определить, пересекаются ли они.
  В заданном интервале указать все числа, удовлетворяющие одновременно двум условиям: · это простые числа · эти числа ряда Фибоначчи
  Вычислить интеграл заданной функции методом Эйлера

Пример выполнения задания

При выполнении лабораторной работы будет использоваться компилятор Visual C++ NET 2003.

Постановка задачи

Методом Монте-Карло вычислить число «пи».

Исходные данные

В качестве исходных данных программа использует вводимое пользователем число испытаний при проведении эксперимента.

Особые ситуации

Необходимо рассмотреть следующие особые ситуации:

· Если пользователь ввёл число испытаний меньше одного, то эксперимент провести невозможно.

· Если пользователь ввёл число испытаний меньше разумного предела для проведения статистического эксперимента, результаты могут быть недостоверными.

· Если пользователь ввёл очень большое число испытаний, то эксперимент может занять значительное время, о чём пользователь должен быть предупреждён.

Математические методы и алгоритмы решения задач

Согласно постановке задачи для составления программы будет использован метод Монте-Карло, который заключается в случайном выборе координат точек внутри квадрата заданного размера.

Для каждой точки будет проверяться попадание во вписанную в квадрат окружность. Таким образом, по окончании эксперимента мы будем располагать двумя числами:

· N – число случайно выбранных точек;

· M – число точек, попавших внутрь вписанной окружности.

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

Площадь круга, вписанного в этот квадрат, может быть определена по формуле:

(1)

Таким образом, число можно выразить через площадь и диаметр вписанного круга следующим образом:

(2)

Площадь вписанного круга можно найти из отношения M к N. Они относятся друг к другу так, как относится площадь вписанной окружности к площади квадрата. А площадь квадрата нам известна – она единична. Исходя из этого получаем полную формулу для вычисления числа по известным на числам M и N.

 

(3)

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

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...