Вы находитесь на странице: 1из 12

Лабораторная работа №3

Повторяющиеся алгоритмы. Операторы цикла

Задания для самостоятельной работы

1. Вычислить значение функции при х изменяющемся от 1 до 20 с


шагом 0.5.
//1.
#include<iostream>
#include<cmath>
using namespace std;

int main()
{
double x, y;
for (x = 1; x <= 20; x = x + 0.5)
{
y = 2 * x * x + 15;
cout<<"x="<<x << " "<<"y=" << y << endl;
}

system("pause");
return 0;
}
2. Вычислить значение функции при х изменяющемся от 0 до
16 с шагом 2.

//2.
#include<iostream>
#include<cmath>
using namespace std;

int main()
{
double x, y;
for (x = 0; x <= 16; x = x + 2)
{
y = 0.8 * x -sin(sqrt(x))-0.1;
cout<<"x="<<x << " "<<"y=" << y << endl;
}
system("pause");
return 0;
}

2
3. Вычислить значение функции

a=0.3, n=10, i изменяется от 1 до 10 с шагом 1.


//3.
#include<iostream>
#include<cmath>
using namespace std;

int main()
{
double t, i,a=0.3;
int n = 10;
for (i = 1; i<= 10; i++)
{
if (sin((i * i + 1) / n) > 0)
t = a * sin((i * i + 1) / n);
else t = cos(i + 1/ n);
cout<<"i="<<i << " "<<"t=" << t << endl;
}
system("pause");
return 0;
}

3
4. Вычислить значение функции

a=2.6, b=5, x изменяется от 0 до 10 с шагом 0.5.

//4.
#include<iostream>
#include<cmath>
using namespace std;

int main()
{
double S, x, a = 2.6;
int b = 5;
for (x = 0; x <= 10; x=x+0.5)
{
if (x < 2)
4
S = a + (b / exp(x)) + cos(x);
if (x >= 2 && x < 6)
S = exp(x) + sin(x);
else
S = (a + b) / (x + 1);
cout << "x=" << x << " " << "S=" << S << endl;
}
system("pause");
return 0;
}

5. Найти сумму и произведение последовательности 10 целых чисел от 1 до 10.


Использовать оператор do…while

//5.
#include<iostream>

5
#include<cmath>
using namespace std;

int main()
{
setlocale(LC_ALL, "rus");
int i = 1, sum = 0, pr = 1;
do
{
sum += i;
pr *= i;
i++;
} while (i <= 10);
{
cout << "Сумма чисел от 1 до 10 =" << sum << endl;
cout << "Произведение чисел от 1 до 10=" << pr << endl;
}
system("pause");
return 0;
}

6. Вычислить . Использовать оператор while.


6
//6.
#include<iostream>
#include<cmath>
using namespace std;

int main()
{
int a = 1;
double b = 0;
while (a <= 100)
{
b += (1 / a * a);
a++;
}
cout << b << endl;
system("pause");
return 0;
}

7. Дано действительное число а. Найти среди чисел


первое большее а. Использовать оператор do…while.

//7.
7
#include <iostream>
#include<cmath>
using namespace std;

int main()
{
setlocale(LC_ALL, "rus");
double a,s = 0;
int i = 1;
cout << "Введите а: ";
cin >> a;
while (s <= a)
{
s += 1.0 / i;
i += 1;
}
cout << s;
system("pause");
return 0;
}

8
8. Даны натуральное n и действительное х. Вычислить
. Использовать оператор for.

//8.
#include <iostream>
#include<cmath>
using namespace std;

int main()
{
double x, sum = 0;
int n,i;
cout << "x=";
cin >> x;

9
cout << "n=";
cin >> n;
for (i = 1; i <= n; i++)
{
x = pow(sin(x),i);
sum += x;
}
cout << sum;
system("pause");
return 0;
}

9. Дано натуральное n. Вычислить:


1 1 1
(1+ )∗( 1+ ).∗. ..∗(1+ );
a) 12 22 n2

1 1 1
+ +.. .+
b) sin 1 sin 1+sin 2 sin 1+sin 2+.. .+sin n ;
10
c) √ 2+ √2+...+ √2 ; n -корней

cos1 cos1+cos2 cos1+cos2+.. ..+cosn


∗ ∗.. . .∗
d) sin 1 sin 1+sin 2 sin 1+sin 2+. ..+sin n

//9.
#include <iostream>
#include<cmath>
using namespace std;

int main()
{
int n, i;
double a = 1, b = 0, c = 0, d = 0;
double b1 = 0, d1 = 0, d2 = 0, c1 = 0, c2 = 0;
cout << "n=";
cin >> n;
for (i = 1; i <= n; i++)
{
a *= (1 + 1 / pow(i, 2));
b1 += sin(i);
b += (1 / b1);
d1 += cos(i);
d2 += sin(i);
d += d1 / d2;
c1 = sqrt(2 + c2);
c2 = c1;
c = c2;
}
cout << "a=" << a << endl;
cout << "b=" << b << endl;
cout << "c=" << c << endl;
cout << "d=" << d << endl;
system("pause");
return 0;
}

11
12