Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Programmirovanie_-_1_kurs / Основы С++.doc
Скачиваний:
117
Добавлен:
09.06.2015
Размер:
1.44 Mб
Скачать

VI. Циклические алгоритмы

7. Вычислить значения функции y=x2 для x1<=x<=x2 с шагом 1.

Обозначения: x1 - начальное значение аргумента; x2 - конечное значение аргумента; x- текущее значение аргумента; h-

приращение аргумента (величина шага); y- значение функции.

//Программа №7

//Вычислить значение функции y=x*x для x1<=x<=x2 с шагом равным 1.

//Обозначения:

// x1 - начальное значение аргумента;

// x2 - конечное значение аргумента;

// x - текущее значение аргумента;

// h - приращение аргумента (величина шага);

// y - значение функции.

#include<iostream.h>

#include<math.h>

int x,y,x1,x2;

main()

{

cout << "Введите исходные данные:" << "\nx1=";

cin >> x1;

cout << "\nx2=";

cin >> x2;

cout << "\nРезультаты:" << "\n x y" << "\n---------------";

for (x=x1; x<=x2; x++)

{

y=(int)pow(x,2);

cout << "\n" << x << " " << y;

}

return 0;

}

8. Вычислить значения функции y=x*x для x1<=x<=x2 с шагом h.

Обозначения: x1 - начальное значение аргумента; x2 - конечное значение аргумента; x- текущее значение аргумента; h- приращение аргумента (величина шага); y- значение функции.

Блок-схему смотри в примере 7.

//Программа №8

//Обозначения:

//x1 - начальное значение аргумента;

//x2 - конечное значение аргумента;

//x - текущее значение аргумента;

//h - приращение аргумента (величина шага);

//y - значение функции.

#include<iostream.h>

#include<math.h>

int x,y,x1,x2,h;

main()

{

cout << "Введите исходные данные:" << "\nx1=";

cin >> x1;

cout << "\nx2=";

cin >> x2;

cout << "\nh=";

cin >> h;

cout << "\nРезультаты:" << "\n x y" << "\n----------";

while (x<=x2)

{

y=(int)pow(x,2);

cout << "\n" << x << " " << y;

x+=h;

}

cout << "\n";

return 0;

}

9. Вычислить s=1+2+3+4+...+n.

Обозначения: n - количество слагаемых; s - сумма; i - параметр цикла.

//Программа №9

//Вычислить s=1+2+3+4+...+n.

//Обознаения:

//n - колиество слогаемых;

//s - сумма;

//i - параметр цикла.

#include<iostream.h>

int i,n,s;

main()

{

cout << "Введите целое число n=";

cin >> n;

s=0;

for(i=0; i<=n; i++)

s+=i;

cout << "\nСумма =" << s << "\n";

return 0;

}

10. Вычислить p=n!

//Программа №10

//Вычислить p=n!.

#include<iostream.h>

int i,n,p;

main()

{

cout << "Введите целое число n=";

cin >> n;

p=1;

for (i=1; i<=n; i++)

p*=i;

cout << "\nФакториал p=" << p << "\n";

return 0;

}

11. Вычислить сумму pяда s=1+1/2+1/3+1/4+... с точностью e.

Обозначения: s- приближенное значение суммы ряда; f - текущий член ряда; e - точность вычислений; n - номер члена ряда.

//Программа №11

//Вычислить сумму ряда s=1+1/2+1/3+1/4+,,, с точностью e.

#include<iostream.h>

float s,f,e;

int n;

main()

{

cout << "Введите точность вычислений e=";

cin >> e;

s=0;

n=1;

f=(float)1/n;

cout << "\nприюлиженные значения суммы:";

while (f>e)

{

s+=f;

n++;

f=(float)1/n;

cout << "\n" << s;

}

cout << "\nРезультат: \nn=" << n << " s=" << s << "\n\n";

return 0;

}

12. Вычислить число pi, используя фоpмулу Гpегоpи: pi=1-1/3+1/5-1/7+... с точностью e.

Обозначения: e - заданная точность вычислений; s - сумма

членов ряда; n - номер члена ряда; f - текущий член ряда; c -

знакопеременный коэффициент (с=+1 или с=-1); pi - приближенное значение числа pi .

//Программа №12

//Вычислить число pi, исползуя формулу Грегори:

//pi=1-1/3+1/5-1/7+,,, с точностью e.

#include<iostream.h>

#include<math.h>

float s,f,e,pi;

int n,c;

main()

{

cout << "Введите точность вычислений e=";

cin >> e;

c=-1;

s=n=f=1;

cout << "\nПриюлиженные значения pi:";

while (fabs(f)>e)

{

f=(float)c/(2*n+1);

s+=f;

c*=-1;

n++;

cout << "\n" << 4*s;

}

pi=4*s;

cout << "\nРезультат: \nn=" << n << " pi=" << pi << "\n\n";

return 0;

}

13. Hайти коpни уpавнения x2 - 5*x + 6 =0 методом Hьютона с точностью e.

Обозначения: y - приближенное значение корня на (n+1) шаге; z - приближенное значение корня на n шаге; e - заданная точность вычислений; n - номер итерации (шага).

//Программа №13

//Найти корни уравнения x2-5*x+6=0 методом Ньютона

//(метод касательных) с точностью e.

#include<iostream.h>

#include<math.h>

float y,z,e;

int n;

main()

{

cout << "\nВведите точность вычислений e=";

cin >> e;

cout << "\nВведите начальное приближение z=";

cin >> z;

cout << "\nПриближенные значения корня:";

n=1;

y=z-(z*z-5*z+6)/(2*z-5);

while (fabs(y-z)>=e)

{

z=y;

y=z-(z*z-5*z+6)/(2*z-5);

cout << "\nn=" << n << " y=" << y;

n++;

}

cout << "\nРезультат:" << "\nКорень уравнения =" << y << "\n\n";

return 0;

}

14. Опpеделить количество пpобелов в заданной последовательности символов.

Обозначения: prob - пробел; c - символ; n - счетчик пробелов.

//Программа №14

//Определить количество пробелов в заданной последовательности символов.

//Обознаения:

//prob - пробел;

//c - символ;

//n - счетчик пробелов;

#include<iostream.h>

#include<stdio.h>

char c,prob;

int n;

main()

{

n=0;

prob=' ';

cout << "Введите символы. В конце точка и Enter";

do

{

scanf("%c",&c);

if(c==prob) n++;

}

while (c!='.');

cout << "\nРезультат:" << "\nКоличество пробелов =" << n;

return 0;

}