Добавил:
elik.kondrashov@mail.ru Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
16
Добавлен:
12.01.2019
Размер:
336.53 Кб
Скачать

Нижегородский Государственный

Технический Университет

им. Р. Е. Алексеева

Кафедра: “Прикладная математика”

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

Тема: Циклический алгоритм

Вариант: 2

Выполнил

Студент группы: 18ПК

Гарахин А.Н.

Проверил:

Леканов А.К.

Нижний Новгород

2018г.

А)Постановка задачи:

1. использование оператора «for»

#include <iostream>

#include <iomanip>

#include <math.h>

using namespace std;

int main()

{

double x, y;

cout.precision(5);

cout << setw(10) << "x=" << "\t" << setw(10) << "y=" << endl;

for (x = 0; x <= 4; x += 0.8)

{

y = cos(3.56*(pow(x, 3) - 4 * x));

cout << setw(10) << x << "\t" << setw(10) << y << endl;

}

return 0;

}

2. использование оператора «while»

#include <iostream>

#include <iomanip>

#include <math.h>

using namespace std;

int main()

{

double x, y;

cout.precision(5);

cout << setw(10) << "x=" << "\t" << setw(10) << "y=" << endl;

x = 0;

while (x <= 4)

{

y = cos(3.56*(pow(x, 3) - 4 * x));

cout << setw(10) << x << "\t" << setw(10) << y << endl;

x += 0.8;

}

return 0;

}

3. использование оператора «do while»

#include <iostream>

#include <iomanip>

#include <math.h>

using namespace std;

int main()

{

double x, y;

cout.precision(5);

cout << setw(10) << "x=" << "\t" << setw(10) << "y=" << endl;

x = 0;

do

{

y = cos(3.56*(pow(x, 3) - 4 * x));

cout << setw(10) << x << "\t" << setw(10) << y << endl;

x += 0.8;

} while (x <= 4);

return 0;

}

Общий результат:

Mathcad:

1) 2)

3)

Б)Постановка задачи:

#include <iostream>

#include <iomanip>

#include <math.h>

using namespace std;

int main()

{

double x, y, z, s, p, min, max;

min = 10000;

max = -10000;

s = 0;

p = 1;

cout.precision(5);

cout << setw(10) << "x=" << "\t" << setw(10) << "y=" << "\t" << setw(10) << "z=" << endl;

for (x = 0; x <= 12; x += 7)

{

for (y = 0; y <= 3; y += 1.5)

{

if (fabs(x*y) <= 5)

z = cos(exp(1));

else if ((fabs(x*y) < 15) && (fabs(x*y) > 5))

z = pow(x, 2) + pow(y, 2);

else z = sin(x);

cout << setw(10) << x << "\t" << setw(10) << y << "\t" << setw(10) << z << endl;

if (min > z)

min = z;

if (max < z)

max = z;

s = s + z;

p = p * z;

}

}

cout <<"\n"<< " s= " << s << endl;

cout << " p= " << p << endl;

cout << " min= " << min << endl;

cout << " max= " << max << endl;

return 0;

}

Результат:

Блок – схема:

Mathcad:

В)Постановка задачи:

#include <iostream>

#include <iomanip>

#include <math.h>

using namespace std;

int main()

{

double x, y, z, z1, z2;

cout.precision(5);

cout << setw(10) << "x=" << "\t" << setw(10) << "y=" << "\t" << setw(10) << "z=" << endl;

(x = 2);

while (x <= 3.2)

{(y = 0.5);

while (y <= 1)

{

z1 = pow(fabs(cos(x)), y);

z2 = pow((x + 6), 1 / 5);

if (z1 < z2)

z = z1;

else

z = z2;

cout << setw(10) << x << "\t" << setw(10) << y << "\t" << setw(10) << z << endl;

y += 0.22;

}

x += 0.7;

}

return 0;

}

Результат:

Mathcad:

Excel:

1 задание

2 задание

3 задание

Вывод: На этой лабораторной работе я изучил циклические алгоритмы.