double S,numb;
Примеры работы программы:
1)
e = 1
The number of repetitions = 4
S = -1.33333
2)
e = 0.000001
The number of repetitions = 14
s = 1.87937e-07
S = -0.864665
Вывод: Вданной программе необходимо использовать тип переменных float т.к. идёт работа с очень маленькими цифрами по значению, которые требуют больше оперативной памяти.
Задание 6
Разработать программу для решения уравнения методом Ньютона.
Корень уравнения находится по заданному нулевому приближению последовательными приближениями по формуле
; где i = 1, 2, 3, … - номер итерации.
Итерации следует прекращать, когда будет выполнено условие ; где - заданная погрешность.
Проверить работу программы на решении уравнений и .
Код программы:
1)
#include <iostream.h>
#include <conio.h>
#include <math.h>
void main()
{
// Îïèñàíèå ïåðåìåííûõ
double i;
float Xi,xi,Fx,fx,x0,m,e,r;
// Ââîä ïåðåìåííûõ
clrscr();
cout<<"e = ";
cin>>e;
cout<<"x0 = ";
cin>>x0;
cout<<endl;
// Öèêë
xi=x0;
Xi=0;
i=1;
do
{
Xi=xi-(exp(-xi)-xi)/(-xi*exp(-xi)-1);
r=(Xi-xi);
if (r<0) m = -r;
if (r>0) m = m;
xi=Xi;
++i;
}
while(m>e);
// Âûâîä ðåçóëüòàòà
cout<<"¹ "<<i<<endl;
cout<<"x = "<<Xi;
getch();
}
2)
#include <iostream.h>
#include <conio.h>
#include <math.h>
void main()
{
// Îïèñàíèå ïåðåìåííûõ
double i;
float Xi,xi,xo,Fx,fx,x0,m,e,r;
// Ââîä ïåðåìåííûõ
clrscr();
cout<<"e = ";
cin>>e;
cout<<"x0 = ";
cin>>x0;
cout<<endl;
// Öèêë
xi=x0;
Xi=0;
i=0;
do
{
Xi=xi+(cos(xi)+xi)/(sin(xi)+1);
r=(Xi-xi);
if (r<0) m = -r;
if (r>0) m = m;
xi=Xi;
++i;
}
while(m>e);
// Âûâîä ðåçóëüòàòà
cout<<"iter: "<<i<<endl;
cout<<"x = "<<Xi;
getch();
}
На входе:
float x0, e;
На выходе:
float Xi
Задание 7
Разработать программу для расчета и вывода на дисплей таблицы зависимости
в пределах от до с шагом (x и y – вещественные).
Использовать цикл с предусловием, цикл с постусловием и цикл по вещественной переменной.
Код программы:
1)с постусловием:
#include <iostream.h>
#include <conio.h>
#include <math.h>
void main()
{
// Îïèñàíèå ïåðåìåííûõ
double i;
float Xi,xi,xo,Fx,fx,x0,m,e,r;
// Ââîä ïåðåìåííûõ
clrscr();
cout<<"e = ";
cin>>e;
cout<<"x0 = ";
cin>>x0;
cout<<endl;
// Öèêë ñ ïîñòóñëîâèåì
xi=x0;
Xi=0;
i=1;
do
{
Xi=xi+(cos(xi)+xi)/(sin(xi)+1);
r=(Xi-xi);
if (r<0) m = -r;
if (r>0) m = m;
xi=Xi;
++i;
}
while(m>e);
// Âûâîä ðåçóëüòàòà
cout<<"¹ "<<i<<endl;
cout<<"x = "<<Xi;
getch();
}
2)С предусловием
#include <iostream.h>
#include <conio.h>
#include <math.h>
void main()
{
// Îïèñàíèå ïåðåìåííûõ
double i;
float x,y,xmin,xmax,xstp;
// Ââîä ïåðåìåííûõ
clrscr();
cout<<"xmin = ";
cin>>xmin;
cout<<"xmax = ";
cin>>xmax;
cout<<"xstp = ";
cin>>xstp;
cout<<endl;
// Öèêë ñ ïðåäóñëîâèåì
x=xmin;
while (x<=xmax)
{
y=cos(x)-x;
cout<<"x:"<<x<<endl;
cout<<"y:"<<y<<endl<<endl;
x=x+xstp;
}
getch();
}
3) По вещественной переменной
#include <iostream.h>
#include <conio.h>
#include <math.h>
void main()
{
// Îïèñàíèå ïåðåìåííûõ
double i;
float x,y,xmin,xmax,xstp;
// Ââîä ïåðåìåííûõ
clrscr();
cout<<"xmin = ";
cin>>xmin;
cout<<"xmax = ";
cin>>xmax;
cout<<"xstp = ";
cin>>xstp;
cout<<endl;
// Öèêë ïî âåùåñòåííîé ïåðåìåííîé
for (i=xmin; i<=xmax; i=i+xstp)
{
y=cos(i)-i;
cout<<"x:"<<i<<endl;
cout<<"y:"<<y<<endl<<endl;
}
getch();
}
На входе:
float xmin, xmax, xstp;
На выходе:
Float y;
Выводится много раз
Пример работы программы:
x:0
y:1
x:0.1
y:0.895004
x:0.2
y:0.780067
x:0.3
y:0.655336
x:0.4
y:0.521061
x:0.5
y:0.377583
x:0.6
y:0.225336
x:0.7
y:0.0648422
x:0.8
y:-0.103293
x:0.9
y:-0.27839
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.