Чисельне інтегрування функції

Автор: Пользователь скрыл имя, 29 Апреля 2014 в 10:20, курсовая работа

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

Основна частина курсової робота містить чотири розділи, в яких розглянуто:
в першому розділі виконується аналіз задачі, що вирішується, а саме:
детальне вивчення завдання, доповнення необхідними додатковими умовами, формування виду вхідних даних та даних що необхідно отримати в результаті виконання програми,
вивчаються існуючі способі вирішення поставленої задачі в інформаційних джерелах та надається оцінка існуючим способам рішення;
обирається спосіб розв’язку, реалізації поставленої задачі.
в другому розділі здійснюється вибір технології та мови програмування
в третьому розділі розкривається творчій процес рішення, а саме:
розробка структурної схеми програми;
розробка інтерфейсу;
опис і розробка алгоритму розв’язку;
опис програми;

Оглавление

Реферат
1 Вступ
2 Основна частина
2.1 Аналіз розв’язуваної задачі
2.2 Дослідження джерел існуючої інформації
3 Вибір мови і технології програмування
4 Опис творчого процесу розв’язку задачі
4.1 Структура програмного виробу
4.2 Інтерфейс користувача
4.3 Розробка алгоритму програми
4.4 Опис програми
4.5 Структура файлів вхідних даних
4.6 Опис роботи програми
5 Вимоги до програмної та інформаційної сумісності
6 Висновок
7 Список використаних джерел

Файлы: 1 файл

Kursovaa(Денис).doc

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

Міністерство освіти і науки, молоді та спорту України

Бердичівський коледж промисловості, економіки та права

Циклова комісія спеціальності 5.05010301 „Розробка програмного забезпечення”

Чисельне інтегрування функції

Курсова робота

з дисципліни „Основи програмування та алгоритмічні мови”

Виконав

 

Педосенко Д.В.

Керівник викладач

 

Куропаткін С.Г.


 

 

Зміст

Реферат

 

4

1 Вступ

 

5

2 Основна частина

 

7

2.1 Аналіз розв’язуваної задачі

 

7

2.2 Дослідження джерел існуючої інформації

 

9

3 Вибір мови і технології програмування

 

10

4 Опис творчого процесу розв’язку задачі

 

12

4.1 Структура програмного виробу

 

12

4.2 Інтерфейс користувача

 

13

4.3 Розробка алгоритму програми

 

14

4.4 Опис програми

 

15

4.5 Структура файлів вхідних даних

 

18

4.6 Опис роботи програми

 

19

5 Вимоги до програмної та інформаційної сумісності

 

20

6 Висновок

 

21

7 Список використаних джерел

 

22

8 Додатки

 

23

    1. Лістинг програми
 

23

  1. Блок-схеми
 

30

      1. FUNCTION F
 

30

  1. PROCEDURE WORK
 

31

  1. PROCEDURE INPUT
 

32

  1. PROCEDURE INPUTFILE
 

33

  1. PROCEDURE EKRAN
 

34

  1. PROCEDURER PROPROG
 

35


 

РЕФЕРАТ

Курсова робота, 35с., 9 джерел, 2 додатки.

ЧИСЕЛЬНЕ ІНТЕГРУВАННЯ ФУНКЦІЇ

У роботі описані процес і результати розробки програмного продукту, який виконує розв’язок поставленої в курсовій роботі задачі.

При розробці програми використані мова програмування PASCAL, та технологія покрокової деталізації.

Робота програми можлива в операційній системі MS DOS на комп'ютерах, сумісних з IBM PC.

Подальший розвиток роботи можливо убік покращення зовнішнього інтерфейсу і адаптації програми до можливо більшої області потенційного застосування.

Робота має практичну цінність. Розрахунок економічної ефективності не виконувався.

 

ВСТУП

Розвиток і широке поширення засобів обчислювальної техніки в останні десятиліття послужило поштовхом до розробки програмного забезпечення різного рівня складності та різного за призначенням.

Для придбання вмінь та навичок розробки програмного забезпечення в процесі навчання вивчається предмет “Основи програмування та алгоритмічні мови”. Курсова робота є підсумком отриманих знань під час навчання.

Курсова робота “Чисельне інтегрування функцій” розроблена на алгоритмічній мові програмування з використанням текстового меню та методів математичної обробки інформації.

Наявність зручного інтерфейсу полегшує процес роботи користувача з програмою.

Основна частина курсової  робота містить чотири розділи, в яких розглянуто:

в першому розділі виконується аналіз задачі, що вирішується, а саме:

детальне вивчення завдання, доповнення необхідними додатковими умовами, формування виду вхідних даних та даних що необхідно отримати в результаті виконання програми,

вивчаються існуючі способі вирішення поставленої задачі в інформаційних джерелах та надається оцінка існуючим способам рішення;

обирається спосіб розв’язку, реалізації поставленої задачі.

в другому розділі здійснюється вибір технології та мови програмування

в третьому розділі розкривається творчій процес рішення, а саме:

розробка структурної схеми програми;

розробка інтерфейсу;

опис і розробка алгоритму розв’язку;

опис програми;

опис структури вхідної і вихідної інформації;

опис роботи програми.

в четвертому розділі вказані вимоги до програмної та інформаційної сумісності.

Отже, тема курсової роботи “Чисельне інтегрування функцій” носить практичний характер і є досить актуальною.

 

ОСНОВНА ЧАСТИНА

АНАЛІЗ РОЗВ'ЯЗУВАНОЇ ЗАДАЧІ

У курсовій роботі проведено дослідження методів чисельного інтегрування. Адже, у задачах, пов'язаних з аналізом, ідентифікацією, оцінкою якості, моделюванням різноманітних пристроїв автоматики, керування, інформаційно-вимірювальної техніки, радіоелектроніки, виникає необхідність обчислення визначених інтегралів. 

В основу чисельного інтегрування покладено наближене обчислення площини під кривою, яка описується підінтегральною функцією інтеграла:

Загальний підхід до розв’язування цієї задачі такий: визначений інтеграл I являє собою площину, обмежену кривою f(х), віссю Х та прямими Х=a, Х =b, відрізок від a до b розбивають на множину менших відрізків, знаходять наближено площу кожної площини Si, яку отримують за таким розбиванням, значення інтеграла І знаходять як суму площ площин Sі, тобто I =  Si. При цьому використовують два способи розбивання початкового відрізка на менші 

1.Розбивання відрізка проводиться  раніше, до того ж завжди відрізок  вибирають рівним (метод прямокутників, трапецій, Сімпсона). 

2.Місцезнаходження та довжина  відрізків визначаються аналізом, до того ж спочатку ставиться за мету досягти найбільшої точності з заданим числом відрізків, а потім відповідно з цим визначають їхні межі (методи Гаусса, Ньютона - Котеса, Чебишева) [1]. 

Метод прямокутників

Найпростішим методом наближеного обчислення інтеграла є метод прямокутників, геометрична інтерпретація якого зводиться до знаходження визначеного інтеграла як суми площ N прямокутників (з висотою f(x) та основою h=  xi=xi+1-xi), отриманих розділень відрізка[a,b] на N рівних частин, до того ж якщо розділити на прямокутники зліва на право, то отримаємо формулу лівих прямокутників: 

In=  f(x)dx»  Si=h[f(x0)+f(x1)+...+f(xn-1)]=  f(xi);(1.1) 

якщо ж розділити на N прямокутників справа на ліво, то отримаємо формулу правих прямокутників: 

Iпр=  f(x)dx => h[f(xn)+...+f(x1)]=  f(xi)(1.2) 

Метод трапецій

Суть методу трапеції, полягає в тому, що інтеграл обчислюється по-іншому, відрізок інтегрування поділяється на N рівних відрізків, всередині яких підінтегральна крива f(x) замінюється кусково- лінійною функцією j(x), отриманою стягуванням ординат N відрізків хордами. 

Обчислення визначеного інтеграла зводиться до знаходження сум площ Si прямокутних трапецій N. 

Площа кожної такої трапеції визначається як:

Si=h  (f(xi)+f(xi+1)).(1.3)

Отже, формула трапеції: 

I=  =>  Si=h(  f(x0)+f(x1)+f(x2)+...+f(xn-1)+  f(xN)= [ (f(x0)+f(xn))+  f(xi)].  (1.4) 

Графічна модель 

Похибка обчислення інтеграла за формулою трапецій оцінюється як 

(1.5)

Де М2 – максимальне значення другої похідної. f(x) при  ,h-крок обчислень. 

Метод Ньютона-Котеса

Цей метод засновано на апроксимації однієї із сторін криволінійної трапеції, яка отримується поділом відрізка [a,b] на N рівних частин, многочленами вищих порядків, також як у методі трапецій використовується лінійна апроксимація (заміна однієї із сторін трапеції прямою лінією), а в методі Сімпсона - апроксимація параболою. 

Основна формула методу: 

yiHi,(1.9) 

де Hi - коефіцієнти Ньютона - Котеса. Ці коефіцієнти не залежать від вигляду f(x), а є функцією тільки N (кількість вузлів інтерполяції). Таким чином, коефіцієнти Ньютона - Котеса можна обчислити раніше для різного числа вузлів інтерполяції . 

Легко можна показати, що методи трапецій та Сімпсона є частинними випадками методу Ньютона - Котеса. 

 

ДОСЛІДЖЕННЯ ДЖЕРЕЛ ІСНУЮЧОЇ ІНФОРМАЦІЇ

Метод Сімпсона (метод парабол або метод криволінійних трапецій)

Цей метод також використано у курсовій роботі, близький до методу трапецій у тій частині, що інтегрування проводиться шляхом поділу відрізка інтегрування [а, b] на множину відрізків (N пар відрізків). Однак, з метою збільшення точності наближеного інтегрування на кожному відрізку [Xi, Xi+2] підінтегральної функції f(x) замінюють квадратичною параболою j(x), обчислення визначеного інтеграла зводиться до обчислення суми N криволінійних трапецій Si: I=  f(x)dx»  Si [1]. 

 
 


Графічна модель. 

Площа кожної такої трапеції визначається за формулою Сімпсона: 

Si=   [f(xi)+4f(  xi+1)+f(xi+2)], (1.6), тобто 

(y0+4y1+y2), 

(y2+4y3+y4), 

(y4+4y5+y6), (1.7) 

(y2n-2+4y2n-1+y2n), 

Тоді чисельне значення визначеного інтеграла на відрізку [a,b] дорівнюватиме сумі інтегралів, тобто 

[y0+y2n+4(y1+...+y2n-1)+2(y2+...+y2n-2)], 

або 

[y0+y2n+4  y2i-1+2  y2i],(1.8) 

де h =(b-a)/2N. 

Похибка обчислення інтеграла за формулою Сімпсона оцінюється як 

де М4 – максимальне значення четвертої похідної. f(x) при  , h-крок обчислень. 

 

ВИБІР ТЕХНОЛОГІЇ І МОВИ ПРОГРАМУВАННЯ

В даний час ми є свідками бурхливого розвитку обчислювальної техніки і її упровадження в багато сфер людської діяльності. Особливо чітко ці тенденції виявляються, коли мова заходить про персональний ЕОМ.

Інтерес до персональних комп'ютерів постійно росте, а коло їхніх користувачів безупинно розширюється. У число користувачів ПЕОМ  утягують як новачки в комп'ютерній справі, так і фахівці з інших класів ЕОМ.

Хоча на ПЕОМ  може використовуватися багато різних мов програмування: BASIC, PASCAL, С++, ASSEMBLER, використання мови програмування Turbo Pascal найбільше ефективно.

Мова BASIC входить до складу програмного забезпечення майже усіх ПЕОМ, що випускаються в дійсний час. Розроблювачі ПЕОМ, як правило, включають у реалізовану версію мови засобу, що дозволяють використовувати всі можливості, надані апаратурою конкретної ПЕОМ. Завдяки цьому для користувача, що не є професійним програмістом (а таких користувачів ПЕОМ  більшість), BASIC виконує роль "базової" мови подібно мові ASSEMBLER для професійного програміста.

Мова С++ - універсальну мову загального призначення, область додатків якого - програмування систем у самому широкому змісті. Крім цього, С++ успішно використовується як у багатьох додатках, так і в могутніх операційних системах. Реалізація С++ здійснена для машин у діапазоні від найпростіших персональних комп'ютерів до самих могутніх комп'ютерів і для всіх операційних систем.

Мова ASSEMBLER - мова, найбільш близька до машинної. Він дозволяє програмісту найбільше ближче познайомитися з машиною (на відміну від мов програмування високого рівня), і тому вивчення ASSEMBLER означає також вивчення самого мікропроцесора 8086. Як правило програма, написана на ASSEMBLER, виконується набагато швидше програми, написаної на будь-якій іншій мові. Звичайно ассемблировані програми виконуються в 2-3 рази швидше, ніж еквівалентні програми С чи PASCAL, і в 15 і більш раз швидше, ніж програми, по-кроково інтерпретовані BASIC. Ассемблерні програми також значно менші за розміром.

Програми на ASSEMBLER відкривають програмісту повний доступ до можливостей комп'ютера.

Мова Turbo Pascal - це одна з найпоширеніших мов програмування. Вона розроблена фірмою "BORLAND" як діалект стандартної мови PASCAL, але завдяки своїй популярності сам став стандартом мови програмування.

До найважливіших переваг мови Turbo Pascal відносяться невеликий розмір компілятора, висока ступінь відповідності стандартному PASCAL, дуже швидка компіляція програм, об'єднання компілятора з інтерактивним екранним редактором,попередження про помилки на рівні вихідної програми, велика бібліотека підпрограм і корисні розширення, що спрощують системне програмування.

І що сама головне, мова Turbo Pascal підходить для навчання починаючих програмістів гарному стилю програмування.

При розробці алгоритму та програми мною було вибрано метод покрокової деталізації.

Перевага цього методу в тому, що можна було написавши головну програму, яка має вигляд:

begin

menu

end.

поступово уточнювати як самі пункти меню, так і поступово розробляти окремі процедури.

При виборі цього методу програмування прийшлось до найбільш важливих змінних та процедур писати коментарі, оскільки при повторному уточненні вже розробленого фрагменту інколи доводилось “згадувати”, що ж це я там написав. Це ще раз підтвердило вимогу до необхідності коментування власних програм, що і було зроблено. 
ОПИС ТВОРЧОГО ПРОЦЕСУ РОЗВ'ЯЗКУ ЗАДАЧІ


    • Input_keybord – введення числа з  клавіатури.
    • List_file – зчитування числа з файлу.
    • Work – процес інтегрування функції.
    • Save – збереження результатів інтегрування у файл.
    • Output – виведення розв'язку на екран.
 

ІНТЕРФЕЙС КОРИСТУВАЧУ


 


 



 

При запуску програми з'являється головне меню, яке включає в себе наступні пункти, що вказані вище на схемі:

У основному циклі програми користувачеві надається можливість вибору пункту меню і запуск відповідних дій. При виборі пункту меню «Вихід» програма завершує своє функціонування.

Информация о работе Чисельне інтегрування функції