Алгоритмы разветвляющей структуры

1.Вычислить:

Алгоритмы разветвляющей структуры - student2.ru

Решение:

#include <iostream>

using namespace std;

int main()

{

double a, x, b;

cout << "X = ";

cin >> x;

cout << "a = ";

cin >> a;

cout << "b = ";

cin >> b;

if ((a > x) || (a == x))

cout << "Z = " << sin(x) << endl;

else if ((a < x) && (x < b))

cout << "Z = " << cos(x) << endl;

else if ((x > b) || (x == b))

cout << "Z = " << tan(x) << endl;

system("pause");

return 0;

}

2.Найти квадрат наибольшего из двух чисел a и b и отпечатать

N = 1, если наибольшим является а, и признак N = 2 ‑ в противном случае.

Решение:

#include <iostream>

using namespace std;

int main()

{

int a, b;

cin >> a >> b;

if (a * a > b * b)

cout << "N = 1" << endl;

else

cout << "N = 2" << endl;

system("pause");

return 0;

}

3.Определить, попадает ли точка с координатами х, у в круг радиуса r (уравнение окружности Алгоритмы разветвляющей структуры - student2.ru ). Вывести признак N = 1, если точка находится внутри круга, и признак N = 0, если точка находиться вне круга.

4.Составить программу, выполняющую упорядочение трех чисел A, B, C, таким образом, чтобы при выполнении ее в ячейке с симво­лическим адресом A находилось наименьшее число, в ячейке B ‑ сред­нее, в ячейке C ‑ наибольшее.

Решение:

#include <iostream>

using namespace std;

int main()

{

double a, b, c;

cin >> a >> b >> c;

//можно просто рассмотреть все 6 возможных случаев

if ((b >= a) && (b >= c) && (a >= c)) swap(a, b);

else if ((b >= a) && (b >= c) && (c >= a)) { swap(a, b); swap(b, c); }

//cout << b << " " << c << " " << a << endl;

else if ((c >= a) && (c >= b) && (a >= b)) { swap(a, c); swap(b, a); }

//cout << c << " " << a << " " << b << endl;

else if ((c >= a) && (c >= b) && (b >= a)) swap(a, c);

//cout << c << " " << b << " " << a << endl;

else if ((a >= b) && (a >= c) && (c >= b)) swap(b, c);

//cout << a << " " << c << " " << b << endl;

system("pause");

return 0;

}

5.Записать указанное действие в виде одного условного оператора:

а) у = Алгоритмы разветвляющей структуры - student2.ru

Решение:

#include <iostream>

using namespace std;

int main()

{

double x;

cin >> x;

cout << "Y = " << ((0 < x) && (x < 2) ? cos(x) * cos(x) : 1 - sin(x) * sin(x)) << endl;

system(“pause”);

return 0;

}

б) переменной х присвоить корень уравнения Алгоритмы разветвляющей структуры - student2.ru .

Решение:

#include <iostream>

using namespace std;

int main()

{

double x;

cin >> x;

double y = asin(log(x))

system(“pause”);

return 0;

}

в) перераспределить значение переменных х и у так, чтобы в х оказалось большее из этих значений, а в у ‑ меньшее;

Решение:

#include <iostream>

using namespace std;

int main()

{

double x, y;

cin >> x >> y;

if (x < y)

swap(x, y);

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

<< "y = " << y << endl;

system(“pause”);

return 0;

}

г) d = max (a, b, c);

Решение:

double max(double first, double second, double third)

{

if ((first > second) && (first > third))

return first;

else if (second > third)

return second;

else

return third;

}

double a, b, c;

cin >> a >> b >> c;

cout << "d = " << max(a, b, c) << endl;

д) z = Алгоритмы разветвляющей структуры - student2.ru

Решение:

double x, y;

cin >> x >> y;

if (x < 0)

cout << "Z = " << max(x, y) << endl;

else if (x >= 0)

cout << "Z = " << min(x, y) << endl;

е) переменной k присвоить номер четверти плоскости, в которой находится точка с координатами х и у (ху Алгоритмы разветвляющей структуры - student2.ru 0);

Решение:

double x, y;

cin >> x >> y;

if ((x > 0) && (y > 0))

cout << "k = 1" << endl;

else if ((x < 0) && (y > 0))

cout << "k = 2" << endl;

else if ((x < 0) && (y < 0))

cout << "k = 3" << endl;

else if ((y < 0) && (x > 0))

cout << "k = 4" << endl;

6.Записать программу для решения задачи:

а) по номеру у (у> 0) некоторого года определить с ‑ номер его столетия (учесть, что, к примеру, началом XX столетия был 1901);

Решение:

#include <iostream

using namespace std;

int main()

{

int y;

cin >> y;

int result = 1, year = 100;

while (year < y)

{

result++;

year += 100;

}

cout << result << endl;

system("pause");

return 0;

}

б) Алгоритмы разветвляющей структуры - student2.ru ;

Решение:

#include <iostream>

using namespace std;

double max(double first, double second, double third)

{

if ((first > second) && (first > third))

return first;

else if (second > third)

return second;

else

return third;

}

double min(double first, double second, double third)

{

if ((first < second) && (first < third))

return first;

else if (second < third)

return second;

else

return third;

}

int main()

{

double mx, mn, x, y, z;

cin >> x >> y >> z;

mx = max(x, y, z);

mn = min(x, y, z);

cout << "u = " << (mx * mx - pow(2, x) * mn) / (sin(2) + (mx / mn)) << endl;

system("pause");

return 0;

}

в) если уравнение ax2 + bx +c = 0 (a Алгоритмы разветвляющей структуры - student2.ru 0) имеет вещественные корни, то логической переменной t присвоить значение True, а переменным xl и х2 ‑ сами корни, иначе переменной t присвоить False, а значение пере­мен­­ных xl и х2 не менять;

Решение:

#include <iostream>

using namespace std;

int main()

{

double x1, x2, D, a, b, c;

bool t = true;

cin >> a >> b >> c;

D = b * b - 4 * a * c;

if (D < 0)

{

t = false;

cout << boolalpha << "t = " << t << "\nКорней нет.\n";

}

else if (D == 0)

{

x1 = (-b + sqrt(D)) / 2 * a;

cout << boolalpha << "t = " << t << "\nx1 = " << x1 << endl;

}

else

{

x1 = (-b + sqrt(D)) / 2 * a;

x2 = (-b - sqrt(D)) / 2 * a;

cout << boolalpha << "t = " << t

<< "\nx1 = " << x1

<< "\nx2 = " << x2 << endl;

}

system("pause");

return 0;

}

г) считая, что стандартные функции sin и cos применимы только к аргументам из отрезка [0, Алгоритмы разветвляющей структуры - student2.ru ], вычислить у = sin х для произвольного числа х;

Решение:

#include <iostream>

using namespace std;

const double pi = 3.14159265358979;

int main()

{

double x = 0;

double res;

cin >> x;

while (abs(x) >= 2 * pi)

{

if (x > 0)

x -= 2 * pi;

else

x += 2 * pi;

}

if ((x > 0) && (x <= pi / 2))

res = sin(x);

if ((x > pi / 2) && (x <= pi))

res = sin(x - pi / 2);

if ((x > pi && x) <= (3 * pi / 2))

res = -sin(x - pi);

if ((x > 3 * pi / 2) && (x < 2 * pi))

res = -sin(x - 3 * pi / 2);

cout << "sin(x) = " << res << endl;

system("pause");

return 0;

}

д) значения переменных а, b и c поменять местами так, чтобы оказалось а Алгоритмы разветвляющей структуры - student2.ru b Алгоритмы разветвляющей структуры - student2.ru c.

Решение:

#include <iostream>

using namespace std;

int main()

{

double a, b, c;

cin >> a >> b >> c;

if ((a >= b) && (a >= c) && (b >= c)) cout << a << " " << b << " " << c << endl;

else if ((b >= a) && (b >= c) && (a >= c)) cout << b << " " << a << " " << c << endl;

else if ((b >= a) && (b >= c) && (c >= a)) cout << b << " " << c << " " << a << endl;

else if ((c >= a) && (c >= b) && (a >= b)) cout << c << " " << a << " " << b << endl;

else if ((c >= a) && (c >= b) && (b >= a)) cout << c << " " << b << " " << a << endl;

else if ((a >= b) && (a >= c) && (c >= b)) cout << a << " " << c << " " << b << endl;

system("pause");

return 0;

}

Наши рекомендации