Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Функция және оның графигі




Функция – басқа мәліметтер алу үшін анықталған мәліметтерге қолданылатын компьютердің іс-әрекеті. Функцияның ерекшелігі – оның орындалуы барысында бір ғана нәтиже шығады, ал енгізілген параметрлері бірнешеу болуы мүмкін. Нәтиже функция атауымен белгіленіп, негізгі бағдарламаға беріледі.

Функцияның анықталуы:

int simple_function ()

{

return 0;

}

Функция екі жағдайда қолданылады:

1. Егер функция денесіндегі опетаторлар, программада көп кездескенде. Онда, оларға бөлек функция жариялаймыз. Осы жағдайда, программа коды қысқарады.

2. Егер программада, бірнеше операторлар қандай да бір нақты тапсырманы орындаған жағдайда. Осы жағдайда, программа көлемі қысқармауы мүмкін , бірақ программа нақтырақ болады.

#include<iostream.h>

#include<math.h>

#include<fstream.h>

void main()

{ofstream write_file("mk.dat");

int a,b,n,h;

cin >> a >> b >> n;

h=(b-a)/n;

for(double x=a;x<=b;x+=h)

{

cout << x << " " <<(cos(x)*sin(x))/(cos(x)-2*cos(x)) << endl;

 

write_file<< x << " " << (cos(x)*sin(x))/(cos(x)-2*cos(x)) << endl;}

}

}

 

2) #include<iostream.h>

#include<math.h>

#include<fstream.h>

void main()

{ofstream write_file("mk.dat");

int a,b,n,h;

cin >> a >> b >> n;

h=(b-a)/n;

for(double x=a;x<=b;x+=h)

{

cout << x << " " <<(pow(x,5)+pow(x,3)-pow(x,2))/(pow(x,6))<< endl;

 

write_file<< x << " " << (pow(x,5) +pow(x,3)-pow(x,2))/(pow(x,6))<< endl;} }

 

3)

#include<iostream.h>

#include<math.h>

#include<fstream.h>

void main()

{ofstream write_file("mk.dat");

int a,b,n,h;

cin >> a >> b >> n;

h=(b-a)/n;

for(double x=a;x<=b;x+=h)

{

cout << x << " " <<sin(2*x)+cos(x*5)-5<< endl;

 

write_file<< x << " " << sin(2*x)+cos(x*5)-5<< endl;}}

Тік төртбұрыш әдісі.

интегралдыжуықтап былайша есептейміз:

(1.1)

мұндағы

Бұл формуланың геометриялық мағынасы мынандай:

2-сурет

 

АВСД қисық сызықты трапецияның ауданы биіктігі АВД/C/ тік төртбұрышының ауданымен алмастырылады (2-сурет).

Сондықтан бұл формуланы тік төртбұрыш әдісі дейді.

(1.1) формуласының дәлдігі

. (1.2)

Тейлор формуласы арқылы оңай табылады.

Шынында да ді былайша жазып

= (1.3)

және +

десек, онда (1.3) формуласынан

(1.4)

формуласын аламыз.

Егер М = деп R -ді жоғарыдан бағаласақ ,онда

Яғни (1.5)

болғандықтан, h 0 ұмтылғандағы дәлдік 0(h ) болады.

Енді (1.1) теңдіктің i-дің 1 ден N ге дейінгі қосындысын қарастырсақ

(1.6)

болады. Сондықтан .

Осыдан

.

Егер десек, онда

, (1.7)

яғни тік төртбұрыш әдісінің кесіндісіндегі дәлдігі-0(h ).

 

С++ тілінде есепті жүзеге асыру программасы:

 

#include <iostream.h>

#include <math.h>

double f(double x)

{

return x;

}

void main()

{ double a,b,s,x[100],J1,J2,h,h1;

float e,s1,s2;

int n;

cin >> a >>b >>n;

h=(b-a)/n;

h1=(b-a)/(2*n);

s1=0;s2=0;

for(double i=a+h; i<=b; i+=h)

{s1+=f(i);}

J1=s1*h;

cout<<"J1="<<J1<<endl;

for( i=a+h1; i<=b; i+=h1)

{s2+=f(i);}

J2=s2*h1;

cout<<"J2="<<J2<<endl;

e=fabs(J2-J1);

cout<<"e=fabs(I2-I1)="<<e<<endl;}

 

1) a=1;b=5;n=10

2) a=1;b=5;n=100

3)a=1;b=5;n=1000







Дата добавления: 2015-09-06; просмотров: 1087. Нарушение авторских прав; Мы поможем в написании вашей работы!


Рекомендуемые страницы:


Studopedia.info - Студопедия - 2014-2021 год . (0.005 сек.) русская версия | украинская версия