Программа численного интегрирования

Автор: Пользователь скрыл имя, 03 Октября 2011 в 20:39, курсовая работа

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

В данной пояснительной записке проводится описание последовательности шагов по составлению программы на алгоритмическом языке Turbo Pascal 7.0 и результаты применения этой программы для нахождения приближенного значения интеграла численным методом Симпсона и методом трапеций. Рассматриваются вопросы математической формулировки и алгоритмизации задачи, разработки блок-схемы алгоритма её решения, составления исходной Pascal-программы и реализации вычислений по составленной программе.

Оглавление

Введение…………………………………………………………………………4

Постановка задачи………………………………………………………………5
Математическая формулировка задачи………………………………………..7
Алгоритмизация задачи…………………………………………………………9
Идентификаторы программы…………………………………………………..12
Блок-схема алгоритма…………………………………………………………..13
Текст исходной программы………………………………………………………..
Результаты выполнения программы……………………………………………...
Анализ результатов………………………………………………………………...
Инструкция по работе с программой……………………………………………..
Заключение…………………………………………………………………………

Список использованных источников……………………………………………..

Файлы: 1 файл

Пояснительная записка к курсовой.docx

— 286.05 Кб (Скачать)

      Министерство  образования Республики Беларусь

      Белорусский национальный технический университет 
       

      Кафедра «Горные машины» 
       
       
       
       
       
       
       

      КУРСОВАЯ  РАБОТА

      По  дисциплине «Информатика» 
       

      Программа численного интегрирования 
       

      ПОЯСНИТЕЛЬНАЯ ЗАПИСКА 
       
       
       
       
       
       
       

      Руководитель:          Ринкевич В. П. 
       
       

      Исполнитель:        Семенова М. В.

      гр. 102528 
       
       
       

      2010 

Содержание 

      Введение…………………………………………………………………………4

    1. Постановка задачи………………………………………………………………5
    2. Математическая формулировка задачи………………………………………..7
    3. Алгоритмизация задачи…………………………………………………………9
    4. Идентификаторы программы…………………………………………………..12
    5. Блок-схема алгоритма…………………………………………………………..13
    6. Текст исходной программы………………………………………………………..
    7. Результаты выполнения программы……………………………………………...
    8. Анализ результатов………………………………………………………………...
    9. Инструкция по работе с программой……………………………………………..

      Заключение…………………………………………………………………………

      Список использованных источников……………………………………………..

 

           Введение 

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

           В данной пояснительной записке проводится описание последовательности шагов  по составлению программы на алгоритмическом  языке Turbo Pascal 7.0 и результаты применения этой программы для нахождения приближенного значения интеграла численным методом Симпсона и методом трапеций. Рассматриваются вопросы математической формулировки и алгоритмизации задачи, разработки блок-схемы алгоритма её решения, составления исходной Pascal-программы и реализации вычислений по составленной программе. 

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

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

 

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

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

      I=  (1) 

      где a и b – нижний и верхний пределы интегрирования, f(x) – непрерывная интегральная функция на отрезке [a, b]. Такой определённый интеграл можно трактовать как площадь фигуры (рисунок 1), ограниченной ординатами a и b, осью абсцисс x и графиком подынтегральной функции f(x). 

      Рисунок 1. К вычислению определенного интеграла 

        Обыкновенный  определённый интеграл, у которого известна его первообразная F(x), вычисляется по формуле Ньютона-Лейбница 

      I=F(b)-F(a)   (2) 

        Численное интегрирование применяется, если нахождение F(x) сложно или невозможно. Оно заключается в интерполяции f(x) на отрезке [a, b] подходящим полиномом, для которого известна первообразная F(x). Обычно отрезок [a, b] разбивается на N частей, к каждой применяется соответствующая простая формула. 

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

    • быструю смену подынтегральной функции f(x) путем замены аналитического выражения ее правой части в подпрограмме – функции;
    • выбором пользователем численного метода вычисления интеграла;
    • ввода с клавиатуры значений пределов интегрирования a и b и количества интегралов разбиения n;
    • вывода результатов вычисления на дисплей в удобном для восприятия виде с отображением названия выбранного численного метода, значений пределов интегрирования и принятого числа интегралов разбиения;
    • программа после загрузки должна выводить на дисплей исходное окно-заставку, в которой отображаются общие сведения о статусе программы и ее авторах;
    • после выполнения указанной в строке подсказки процедуры перехода должно выводиться вертикальное меню с пунктами: «Справка», «Метод Симпсона», «Метод трапеций» и «Выход»;
    • при выборе в меню пункта «Справка» должна выводится краткая выводиться краткая справка о назначении программы и порядке работы с ней;
    • после выбора в меню варианта численного метода должно открываться отдельное окно, в котором будут выводиться запросы программы о значениях пределов интегрирования, числе интегралов разбиения и в этом же окне после ввода исходных значений будет выводиться результат вычисления интеграла выбранным методом;
    • при выборе пункта меню «Выход» программы должна завершать работу.
 

 

    1. Математическая  формулировка задачи
 

        Метод Симпсона.

        Подынтегральную функцию f(x) заменим интерполяционным полиномом второй степени P2(x) – параболой, проходящей через узлы x0, x1, x2 (рис 2), тогда 

      (3) 

        где R – погрешность вычисления интеграла.

           
         
f(x)        
  P2(x)    
         
           
         
         
  x0 x1 x2   x
 

      Рисунок 2. Метод Симпсона 

        Для записи полинома P2(x) воспользуемся интерполяционной формулой Ньютона для трех узлов 

      P2(x)=f0+f01(x-x0)+f012(x-x0)(x-x1),     (4) 

      где 

      ,

      - разделенные разности; h – расстояние между узлами.

            Введем  новую переменную z=x-x0, тогда x=z+x0 и полиномом (4) принимает вид 

      P2(z)=f0+(f01-f012h)z+f012z2    (5) 

            Теперь  вычислим интеграл от полинома (5) 

          (6) 

            Последнее соотношение называют квадратурной формулой Симпсона, или формулой парабол где

      f0=f(x)   (7)

       – значение подынтегральной функции при текущем значении x; 

        (8) 

        (9) 

            Метод трапеций.

        Подынтегральную функцию заменим на участке [xi, xi+h] полиномом первой степени P1(x). Такая аппроксимация неоднозначна. Одним из возможных способов является проведение прямой через значения функции на границах интервала интегрирования (рис. 3). В этом случае приближенное значение интеграла определяется площадью трапеции 

      .

           
         
f(x)        
        f(xi+h)  
         
           
  f(xi)      
         
  xi   xi+h   x
 

      Рисунок 3. Метод трапеций

 

    1. Алгоритмизация  задачи
 

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

        Алгоритм  работы головной программы следующий:

    1. Скрыть курсор с использованием подпрограммы – процедуры скрытия курсора и вывести в специальном окне заставку программы, содержащую сведения о назначении программы, исполнителе и руководителе курсовой работы, а также подсказку для пользователя о последующих действиях, с использованием подпрограммы – процедуры заставки.
    2. Запустить подпрограмму-процедуру вертикального меню при нажатии любой клавиши с использованием подпрограмм-процедур построения окна, вывода рамки окна и скрытия курсора.
    3. Запустить подпрограмму-процедуру справки и вывести в специальном окне справочные сведения о работе с программой при выборе пункта меню «Справка» с использованием подпрограмм-процедур построения окна, вывода рамки окна и скрытия курсора, а также строки-подсказки о возврате в меню.
    4. Запустить подпрограмму-процедуру вычисления интеграла методом Симпсона при выборе пункта меню «Метод Симпсона» с использованием подпрограмм-процедур построения окна, вывода рамки окна и выключения курсора, а также строки-подсказки о возврате в меню.
    5. Запустить подпрограмму-процедуру вычисления интеграла методом трапеций при выборе пункта меню «Метод трапеций» с использованием подпрограмм-процедур построения окна, вывода рамки и включения курсора, а также строки-подсказки о возврате в меню.
    6. Завершить работу программы при выборе пункта меню «Выход».
 

           Алгоритм  вычисления интеграла методом Симпсона в подпрограмме-процедуре включает следующие шаги:

    1. Создать окно для ввода исходных данных и вывода результатов вычисления по методу Симпсона.
    2. Восстановить отображение курсора нормального размера соответствующей подпрограммой-процедурой.
    3. Ввести нижний a и верхний b пределы интегрирования как границы отрезка интегрирования и количество n интервалов его разбиения.
    4. Вывести в окне запрос о правильности ввода a, b и n.
    5. Выполнить анализ кода нажатой в ответ на запрос клавиши: при нажатии «Y» перейти к вычислениям, при нажатии любой клавиши перейти к пункту 3 алгоритма.
    6. Вычислить значение шага по h формуле h=(b-a)/n.
    7. Присвоить первоначальному значению интеграла s нуль и начальному значению аргумента x0 значение a.
    8. Организовать цикл по i от 1 до n.
    9. Вычислить по формулам (7) – (9) значения f0, f1 и f2.
    10. Вычислить значение s=s+ f0+4 f1+ f2.
    11. Вычислить новое значение x=x+h.
    12. Закончить цикл по i.
    13. Вычислить конечное значение интеграла s=s*h/6.
    14. Вывести результаты вычислений в том же окне.
    15. Вывести в окне запрос о продолжении вычислений с новыми исходными данными.
    16. Выполнить анализ кода нажатой в ответ на запрос клавиши: при нажатии «Y» перейти в окно с меню, при нажатии любой другой клавиши прейти в окно с заставкой программы.
 

        Алгоритм  вычисления интеграла методом трапеций в подпрограмме-процедуре включает:

    1. Создать окно для ввода исходных данных и вывода результатов вычисления по методу трапеции.
    2. Восстановить отображение курсора нормального размера соответствующей подпрограммой-процедурой.
    3. Ввести нижний a и верхний b пределы интегрирования как границы отрезка интегрирования и количество n интервалов его разбиения.
    4. Вывести в окне запрос о правильности ввода a, b и n.
    5. Выполнить анализ кода нажатой в ответ на запрос клавиши: при нажатии «Y» перейти к вычислениям, при нажатии любой клавиши перейти к пункту 3 алгоритма.
    6. Вычислить значение шага h по формуле h=(b-a)/n.
    7. Присвоить первоначальному значению интеграла s нуль и начальному значению аргумента x0 значение a.
    8. Организовать цикл по i от 1 до n.
    9. Вычислить значения f0 и f1
    10. Вычислить значение s=s+ f0+f1.
    11. Вычислить новое значение x=x+h.
    12. Закончить цикл по i.
    13. Вычислить конечное значение интеграла s=s*h/2.
    14. Вывести результаты вычислений в том же окне.
    15. Вывести в окне запрос о продолжении вычислений с новыми исходными данными.
    16. Выполнить анализ кода нажатой в ответ на запрос клавиши: при нажатии «Y» перейти в окно с меню, при нажатии любой другой клавиши прейти в окно с заставкой программы.

Информация о работе Программа численного интегрирования