Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лаба 2 / Лаба 2

.docx
Скачиваний:
0
Добавлен:
27.11.2023
Размер:
41.97 Кб
Скачать

Задание: Для функции из лабораторной работы № 1 составить программу построения таблицы значений функции, состоящую из n строк при изменении аргумента от A до B.

В каждой строке таблицы выводить значение аргумента x и соответствующее ему значение функции y в форматированном виде с 4 знаками после запятой. В конце таблицы вывести отдельной строкой среднее арифметическое всех значений функции.

Кроме того, программа должна определить, сколько точек с координатами (x, y) из полученной таблицы попадает внутрь области, ограниченной фигурой, соответствующей индивидуальному заданию.

Ход работы

Вариант № 8

Код А

#include <iomanip>

#include <iostream>

#include <math.h>

#define A -3.0

#define B 3.0

using namespace std;

double F(double x)

{

return x * exp(x) + 2 * sin(x) - sqrt(abs(pow(x, 3) - pow(x, 2)));

}

int main()

{

double x, y, h;

int count, n;

count = 0;

cout << "n = "; /* количество строк в таблице */

cin >> n;

h = (B - A) / (n - 1);

for (x = A; x <= B; x += h)

{

y = F(x);

cout << fixed << setprecision(4) << x << "\t " << fixed << setprecision(4) << y << endl;

if (x >= -9 && x <= 5 && y >= -10 && y <= 10) //A8. (-9, -10), (-9, 3), (5, 3), (5, -10)

count++;

}

cout << "count = " << count;

return 0;

}

Код B

#include <iomanip>

#include <iostream>

#include <math.h>

#define A -3.0

#define B 3.0

using namespace std;

double F(double x)

{

return x * exp(x) + 2 * sin(x) - sqrt(abs(pow(x, 3) - pow(x, 2)));

}

int main()

{

double x, y, h;

int count, n;

count = 0;

cout << "n = "; /* количество строк в таблице */

cin >> n;

h = (B - A) / (n - 1);

for (x = A; x <= B; x += h)

{

y = F(x);

cout << fixed << setprecision(4) << x << "\t " << fixed << setprecision(4) << y << endl;

if ((x >= 0 && x <= 1 && y >= 0 && y <= 1) && (x >= 0 && x <= 1 && y >= -1 && y <= -0.6)) //В8. (1,0), (1,1), (0,1), (0,0) & (0, -1), (0.5, -0.87), (0.8, -0.6)

count++;

}

cout << "count = " << count;

return 0;

}

Код C

#include <iomanip>

#include <iostream>

#include <math.h>

#define A -3.0

#define B 3.0

using namespace std;

double F(double x)

{

return x * exp(x) + 2 * sin(x) - sqrt(abs(pow(x, 3) - pow(x, 2)));

}

int main()

{

double x, y, h;

int count, n;

count = 0;

cout << "n = "; /* количество строк в таблице */

cin >> n;

h = (B - A) / (n - 1);

for (x = A; x <= B; x += h)

{

y = F(x);

cout << fixed << setprecision(4) << x << "\t " << fixed << setprecision(4) << y << endl;

if ((x >= 0 && x <= 1 && y >= 0 && y <= 1) && (x >= 0 && x <= 1 && y >= -1 && y <= -0.6)) //A8. (-9, -10), (-9, 3), (5, 3), (5, -10).

count++;

}

cout << "count = " << count;

return 0;

}

/*x1 = rand() % 10; // I - четверть

y1 = rand() % 10;

x2 = rand() % 10; //II - четверть

y2 = rand() % 10 * -1;

x3 = rand() % 10 * -1; //III - четверть

y3 = rand() % 10 * -1;

x4 = rand() % 10 * -1; //IV - четверть

y4 = rand() % 10;*/

Вывод: в ходе лабораторной работы составили программу построения таблицы значений функции, состоящую из n строк при изменении аргумента от A до B.

Соседние файлы в папке Лаба 2