Курсовая работа: Обчислення визначених інтегралів за формулами прямокутників, трапецій та Сімпсона
До програми входить файл:
Kursak.exe – програма для DOS.
Для початку роботи потрібно запустити
exe-файл. Далі необхідно вибрати необхідну дію, ввівши букву, що вказана в
головному меню, яке показано на (мал. 1).
Мал.1
При натисненні клавіші F зявляється меню
вибору функції (мал.2).
Мал.2
Після вибору функції відбувається ввід
даних. Формат вводу представлений на (мал.3).
Мал.3
При роботі в даній програмі можливе
натиснення невірної клавіші. В такому виподку зявляється повідомлення (мал.4).
Мал.4
6. Контрольні приклади та аналіз їх
реалізації
Приклад 1: Інтегрування функції exp(x).
Приклад 2: Інтегрування функції sin(2*x)+x.
Приклад 3: Інтегрування функції log(x*x).
Дані методи інтегрування пов’язані з
використанням наближених формул.
Тому результати, які ми отримуємо не є
точними. Виходячи з геометричного
змісту цих методів найменша похибка буде в
методі Сімпсона. Параболічні
трапеції, сумування площ яких
використовується в методі парабол, є
найбільш наближеними до фігур, які утворює
задана функція.
Висновки
У даній курсовій роботі я закріпив знання з
дисципліни “Проблемно-орієнтовані мови програмування” і виконав поставлене в
курсовій роботі завдання, а також реалізував програмне забезпечення на мові
програмування Turbo C.
Даний програмний продукт при потребі може
бути вдосконалений та розширений.
Список використаної літератури
1.Бахвалов Н.Б., Жидков Н.П., Коббельков
Г.М. Числові методи.-М.:Наука,1987
2.Даниліна Н.І,, Дубровська Н.С., Кваша
О.П. Числові методи.-М.:Вища шк.,1976
3.Рублев А.Н. Линейная алгебра. М.: Высшая
школа, 1968.
4.Керниган Б., Ритчи Д. Язык
программирования Си. - М.: Финансы и статистика, 1992.
5. Прата С. Язык программирования С. — М.,
СПб., К.: ДиаСофт, 2002.
6. Брєдлі Л., Ейткен П. Освой
самостоятельно С за 21 день.-М.:Изд.дом “Вильямс”,2003.
7.Шпак З. Я. “Програмування мовою С”, 2006.
Додатки
Текст програми на мові Turbo C
#include<stdio.h>
#include<conio.h>
#include<math.h>
//Функція задання кольору фону
void Fon(void)
{
textcolor(15); textbackground(BLUE);
return;
}
//Функція задання кольору букв
void Bykvu(void)
{
textcolor(1);
textbackground(15);
return;
}
//Заголовок
void Poc(void)
{
Fon();
clrscr();
printf("\n\n\n\n\n\n\t\t\t╔══════════════════════════╗");
printf("\n\t\t\t║ ║");
printf("\n\t\t\t║ Курсова робота
║");
printf("\n\t\t\t║ на тему: ║");
printf("\n\t\t\t║ Обчислення
інтегралу за ║");
printf("\n\t\t\t║ за допомогою
формул прямокутників, ║");
printf("\n\t\t\t║ трапецій,
Сімпсона. ║");
printf("\n\t\t\t║ ║");
printf("\n\t\t\t╚════════════════════════════════╝");
getch();
clrscr();
return;
}
//Головне меню
void Menu(void)
{
Fon();
clrscr();
Bykvu(); printf("\a\n\n\n\n\t\t╔════════════════════════════════╗");
printf("\n\t\t║ ║");
printf("\n\t\t║\t\t ");
cprintf(" МЕНЮ ");
printf("\t\t ║");
printf("\n\t\t║ ║");
printf("\n\t\t║ ");
cprintf("*1*");
printf(" ");
cprintf("Інтегрування функції");
printf(" --> ");
cprintf("натисніть");
printf(" ");
cprintf("F");
printf(" ║");
printf("\n\t\t║ ║");
printf("\n\t\t║ ");
cprintf("*2*");
printf(" ");
cprintf("Вихід");
printf(" ----------------->
");
cprintf("натисніть");
printf(" ");
cprintf("V");
printf(" ║");
printf("\n\t\t║ ║");
printf("\n\t\t╚═════════════════════════════════╝");
return;
}
//Меню вибору функції
void Vubir_Fun(void)
{
Fon();
clrscr();
Bykvu(); printf("\a\n\n\n\n\t\t╔════════════════════════════════╗");
printf("\n\t\t║ ║");
printf("\n\t\t║ ");
cprintf("Виберіть функцію:");
printf(" ║");
printf("\n\t\t║ ║");
printf("\n\t\t║ ");
cprintf("*");
printf(" ");
cprintf("exp(x)");
printf(" --------------> ");
cprintf("натисніть");
printf(" ");
cprintf("1");
printf(" ");
printf("║");
printf("\n\t\t║ ║");
printf("\n\t\t║ ");
cprintf("*");
printf(" ");
cprintf("sin(2*x)+x");
printf(" ----------> ");
cprintf("натисніть");
printf(" ");
cprintf("2");
printf(" ");
printf("║");
printf("\n\t\t║ ║");
printf("\n\t\t║ ");
cprintf("*");
printf(" ");
cprintf("log(x*x)");
printf(" ------------> ");
cprintf("натисніть");
printf(" ");
cprintf("3");
printf(" ");
printf("║");
printf("\n\t\t║ ║");
printf("\n\t\t║ ");
cprintf("*");
printf(" ");
cprintf("повернення в меню");
printf(" ---> ");
cprintf("натисніть");
printf(" ");
cprintf("4");
printf(" ");
printf("║");
printf("\n\t\t║ ║");
printf("\n\t\t╚═════════════════════════════════╝");
return;
}
//ввід меж інтегрування
void Megi(void)
{
Fon();
clrscr();
Bykvu();
printf("\n\t\t══════════════════════════\n");
printf("\t\t");
cprintf("Введіть межі
інтегрування:");
printf("\n\t\t══════════════════════════\n");
return;
}
//ввід кроків
void Rozb(void)
{
printf("\n\n\t\t═════════════════════════\n");
printf("\t\t");
cprintf("Введіть кількість
кроків:");
printf("\n\t\t═════════════════════════\n");
return;
}
//функція exp(w)
double fun1(double w)
{
return exp(w);
}
double fun2(double w)// функція sin(2*w)+w
{
return sin(2*w)+w;
}
// функція log(w*w)
double fun3(double w)
{
return log(w*w);
}
//обчислення за формулою „лівих”
прямокутників
double Liv_pram(double
(*fun)(double),double x,double h,int n)
Страницы: 1, 2, 3, 4, 5 |