Анализ и исполнение программы Murka-2007 разделов for, while и examples (часть Циклы), страница 2

if(i>=n1)

cout<<i<<"      "<<S<<endl;

}

getch();

}

Набор входных данных:   x = 1; y=1; n1=8; n2=15.

Результат работы программы:

n      S(n)

8      0.638594

9      0.638613

10      0.638619

11      0.63862

12      0.638621

13      0.638621

14      0.638621

15      0.638621

5.  Разработать программу для расчета бесконечной суммы         . Суммирование следует прекращать, когда очередное слагаемое по абсолютной величине станет меньше заданной погрешности .

Структура входных и выходных данных следующая:

eps – погрешность, при которой прекращается вычисление суммы. S - вещественное значение суммы. Входные данные «вшиты» в программу.

Блок-схема программы:

Текст программы:

#include <iostream.h>

#include <conio.h>

#include <math.h>

void main()

{

double S,E,f,tmp,eps;

int k;

eps=2E-10;

S=0;

f=1;

k=1;

clrscr();

do

{

f=f*k;

tmp=pow(-2,k)/f;

S=S+tmp;

E=fabs(tmp);

k++;

}

while(E>=eps);

cout<<"S = "<<S<<endl;

getch();

}

Набор входных данных:   eps=2E-10

Результат работы программы:

S = -0.864665

6.  Разработать программу для решения уравнения    методом Ньютона.

Корень уравнения находится по заданному нулевому приближению  последовательными приближениями по формуле

;    где      i = 1, 2, 3, … - номер итерации.

Итерации следует прекращать, когда будет выполнено условие ;

где  - заданная погрешность.

Проверить работу программы на решении уравнений                   и       .

Структура входных и выходных данных следующая:

x – приближенное значение корня уравнения, eps – погрешность, до которой вычисляется значение корня. На выходе x - вещественное значение корня. Входные данные «вшиты» в программу.

Блок-схема программы:

Текст программы:

#include <iostream.h>

#include <conio.h>

#include <math.h>

void main()

{

double F,F_x,x_tmp,E,eps,x;

eps=2E-10;

x=0.5;

clrscr();

do

{

x_tmp=x;

F=cos(x)-x;

F_x=-sin(x)-1;

x=x-F/F_x;

E=fabs(x-x_tmp);

}

while(E>=eps);

cout<<"x = "<<x<<endl;

getch();

}

Работа программы на решении уравнения .

Набор входных данных:   eps=2E-10; x=0.5;

Результат работы программы:

x = 0.739085

Работа программы на решении уравнения :

Набор входных данных:   eps=2E-10; x=0.5;

Результат работы программы:

x = 0.567143

7.  Разработать программу для расчета и вывода на дисплей таблицы зависимости

   в пределах от  до  с шагом  (x и y – вещественные).

Использовать  цикл с предусловием, цикл с постусловием и цикл по вещественной переменной.

Структура входных и выходных данных следующая:

x_min – минимальное значение аргумента, x_max – максимальное значение аргумента, x_stp – шаг, с которым изменяется аргумент. y – рассчитанные значения функции y=f(x)=x2. Входные данные «вшиты» в программу.

Программа с использованием цикла с постусловием:

Блок-схема программы:

Текст программы:

#include <iostream.h>

#include <conio.h>

#include <math.h>

void main()

{

double Xmin,Xmax,Xstp;

double y;

Xmin=2.0;

Xstp=1.0;

Xmax=15.0;

clrscr();

cout<<"x"<<"        "<<"y=x^2"<<endl;

do

{

y=Xmin*Xmin;

cout<<Xmin<<"       "<<y<<endl;

Xmin=Xmin+Xstp;

}

while(Xmin<=Xmax);

getch();

}

Набор входных данных:   x_min=2; x_max=15; x_stp=1.

Результат работы программы:

x        y=x^2

2       4

3       9

4       16

5       25

6       36

7       49

8       64

9       81

10       100

11       121

12       144

13       169

14       196

15       225

Программа с использованием цикла с предусловием:

Блок-схема программы:

Текст программы:

#include <iostream.h>

#include <conio.h>

#include <math.h>

void main()

{

double Xmin,Xmax,Xstp;

double y;

Xmin=2.0;

Xstp=1.0;

Xmax=13.0;

clrscr();

cout<<"x"<<"        "<<"y=x^2"<<endl;

while(Xmin<=Xmax)

{

y=Xmin*Xmin;

cout<<Xmin<<"       "<<y<<endl;

Xmin=Xmin+Xstp;

}

getch();

}

Набор входных данных:   x_min=2; x_max=13; x_stp=1.

Результат работы программы:

x        y=x^2

2       4

3       9

4       16

5       25

6       36

7       49

8       64

9       81

10       100

11       121

12       144

13       169

Программа с использованием цикла по вещественной переменной:

Блок-схема программы:

Текст программы:

#include <iostream.h>

#include <conio.h>

#include <math.h>

void main()

{

double Xmin,Xmax,Xstp;

double y,x;

Xmin=2.0;

Xstp=0.5;

Xmax=10.0;

clrscr();

cout<<"x"<<"        "<<"y=f(x)"<<endl;

for(x=Xmin;x<=Xmax;x+=Xstp)

{

y=x*x;

cout<<x<<"        "<<y<<endl;

}

getch();

}

Набор входных данных:   x_min=2; x_max=10; x_stp=0,5.

Результат работы программы:

x        y=f(x)

2        4

2.5        6.25

3        9

3.5        12.25

4        16

4.5        20.25

5        25

5.5        30.25

6        36

6.5        42.25

7        49

7.5        56.25

8        64

8.5        72.25

9        81

9.5        90.25

10        100