Разработать программу нахождения корня уравнения методом Симпсона

Автор работы: Пользователь скрыл имя, 14 Мая 2012 в 09:18, курсовая работа

Краткое описание

Pascal — это императивный язык программирования, разработанный Никлаусом Виртом в 1970 в качестве языка обучения структурному программированию. Название языку дано в честь выдающегося французского математика, физика, литератора и философа Блеза Паскаля. Первоначально язык компилировался в байт-код, подобно языку Java. Особенностями языка являются строгая типизация и наличие средств структурного (процедурного) программирования. Паскаль был одним из первых таких языков. По мнению Н. Вирта, язык должен способствовать дисциплинированию программирования, поэтому, наряду со строгой типизацией, в Паскале сведены к минимуму возможные синтаксические неоднозначности, а сам синтаксис интуитивно понятен даже при первом знакомстве с языком.

Содержание

Введение………………………………………………………………3
1 Постановку задачи…………………………………………………4
2 Математическую модель для решения задачи………….………5
3 Блок-схему решения задачи, выполненную с учетом требований ГОСТ…………………………………………………………………………..9
4 Исходный текст программы на Pascal 7.0 с обязательными комментариями………………………………………………………………20
5 Руководство пользователя………………………………………23
6 Результаты работы программы для различных вариантов…………………………………………………………………….24
7 Тестовые примеры для всех ветвей работы программы Выводы по курсовой работе………………………………………………………..
Выводы по курсовой работе…………………………..………..28
Список использованной литературы………………..…………….29

Вложенные файлы: 1 файл

курсовая по вс.doc

— 3.99 Мб (Скачать файл)

 
 
 
 
 

     Пояснительная записка

     к курсовой работе по дисциплине информатике  и программированию 
на тему: «Разработать программу нахождения корня уравнения методом Симпсона»
 
 
 
 
 
 
 
 

 

 

     

     

     Содержание 

     Введение………………………………………………………………3

    1  
     
     
     

 

     

Уфимский  государственный авиационный технический университет

Кафедра автоматизированных систем управления 
 

Задание к курсовой работе по дисциплине «Информатика и программирование» 

Вариант 4 

     Разработать программу нахождения значения определенного  интеграла методом Симпсона. Функция  для интегрирования 

     y=x –1 ln(x+1) 

     Интервал  интегрирования [1;25].

     Исходные  данные: интервал, количество разбиений  отрезка.

     Результат: график заданной функции.

     Решение интерпретировать графически (автоматическое масштабирование, название графика, метки  на осях и обозначение осей).

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

     Предусмотреть проверку корректности данных.

     Для сдачи курсовой работы необходимо представить преподавателю исходный и исполнимый файлы на Pascal 7.0. и пояснительную записку к курсовой работе.

     Пояснительная записка должна включать:

  1. Титульный лист.
  2. Содержание.
  3. Задание на курсовую работу.
  4. Постановку задачи.
  5. Математическую модель для решения задачи.
  6. Блок-схему решения задачи, выполненную с учетом требований ГОСТ.
  7. Исходный текст программы на Pascal 7.0 с обязательными комментариями.
  8. Руководство пользователя.
  9. Результаты работы программы для различных вариантов.
  10. Тестовые примеры для всех ветвей работы программы (как для корректной, так и для некорректной работы).
  11. Выводы по курсовой работе.
  12. Список использованной литературы.

     Введение 

     Pascal — это императивный язык программирования, разработанный Никлаусом Виртом  в 1970 в качестве языка обучения структурному программированию. Название языку дано в честь выдающегося французского математика, физика, литератора и философа Блеза Паскаля. Первоначально язык компилировался в байт-код, подобно языку Java. Особенностями языка являются строгая типизация и наличие средств структурного (процедурного) программирования. Паскаль был одним из первых таких языков. По мнению Н. Вирта, язык должен способствовать дисциплинированию программирования, поэтому, наряду со строгой типизацией, в Паскале сведены к минимуму возможные синтаксические неоднозначности, а сам синтаксис интуитивно понятен даже при первом знакомстве с языком.

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

     1 Постановка Задачи

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

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

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

2. Анализ, формализация задачи, выбор модели.

3. Выбор  или разработка алгоритма решения задачи.

4. Проектирование  общей структуры программы.

5. Кодирование.

6. Отладка  и верификация программы.

7. Получение  результата, его интерпретация с  возможной последующей модификацией  модели.

8. Публикация  или передача заказчику результатов работы.

9. Сопровождение  программы.

     Первый  и второй этап в данной курсовой работе представлены разделом «Математическое  описание задачи». Дальнейшие разделы, в которых составляются и проверяются  различные формы алгоритмов, представляют этапы третий и четвертый. Раздел «Реализация алгоритма на языке Pascal» является воплощением пятого и шестого этапов. Оставшиеся этапы с седьмого по девятый для учебных заданий начального уровня нехарактерны и в курсовой работе не представлены.

 
 
 
 
 

3 Математическое описание задачи

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

      Рассмотрим подынтегральную функцию на отрезке . Заменим эту подынтегральную функцию (1) интерполяционным многочленом Лагранжа второй степени, совпадающим с в точках : 

           (1)

       
 

(2) 
 
 
 

Проинтегрируем  (2):

Формула  (3): 

      (3) 

и называется формулой Симпсона.

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

            К каждому из этих двух интегралов  уже можно применить теорему  о среднем, поскольку непрерывна  на и функция неотрицательна на первом интервале интегрирования и

     неположительна  на втором ( то есть не меняет знака  на каждом из этих интервалов). Поэтому: 

(4) 

(мы воспользовались теоремой о среднем (4), поскольку - непрерывная функция; ).

               Дифференцируя  дважды и применяя затем теорему о среднем, получим для другое выражение (5):

      , где  (5)

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

      , . (6)

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

     Запишем формулу Симпсона в общем виде (7):

          (7) 

              (8)

             Погрешность формулы Симпсона - метода четвертого порядка (9):

      ,       (9)

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

         Например, для функции   форма трапеции при для дает точный результат , тогда как по формуле Симпсона получаем

     Геометрическая  иллюстрация

       

       На отрезке  длиной 2h строится парабола, проходящая через три точки , . Площадь под параболой, заключенная между осью OX и прямыми , принимают равной интегралу .

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

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

                    (10) 

             Это формула Симпсона «трех восьмых».

              Для произвольного отрезка интегрирования формула (10) может быть «продолжена»; при этом число частичных отрезков должно быть кратно трем ( точек). 

     

      , m=2,3,...         (11)

      - целая часть 

      (12) 
 

     Для интегралов, вычисленных по формуле  с шагами и , справедливы соотношения: 

      ,

     

                (13)

     

       

      

     Выбор шага интегрирования

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

      . (14)

     Если ê ê , то ê ê . 

     По  заданной точности e метода интегрирования из последнего неравенства определяем подходящий шаг (15). 

      , . (15) 

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

     Разберем  один из таких приемов. Пусть ,

где - приближенное значение интеграла с шагом . Уменьшим шаг в два раза, разбив отрезок на две равные части и ( ).

     Тогда ,

     Предположим теперь, что  меняется не слишком быстро, так что почти постоянна: . Тогда и , откуда , то есть .

     Отсюда  можно сделать такой вывод: если , то есть если , , а - требуемая точность, то шаг подходит для вычисления интеграла с достаточной точностью. Если же , то расчет повторяют с шагом и затем сравнивают и и т.д. Это правило называется правилом Рунге.

     Другая  схема уточнения значений интеграла - процесс Эйтнена. Производится вычисление интеграла с шагами , причем . Вычисление значений . Тогда               (16).

         За меру точности метода Симпсона  принимают величину : 

        (17) 

                           Описание метода решения задачи

           Для  решения  поставленной  задачи  необходимо   выполнить   следующие

действия:

                 1) Ввести значения границ отрезков;

                 2) Вывести график функции на  экран с учётом масштаба;

                 3) Вычислить интеграл методом  трапеций;

                 4) Вычислить интеграл методом  Симпсона;

           Для успешной реализации этих  действий  программа  должна 

  состоять  из следующих функциональных модулей:

            1) Функция f - вычисляет значение  интегрируемой функции;

            2) Функция trap - вычисляет интеграл  методом трапеций;

Информация о работе Разработать программу нахождения корня уравнения методом Симпсона