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

Лаба 1 / Лаба 1

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

Задание: для функции составить программу построения таблицы значений функции при изменении аргумента от A = −5 до B = 5 с шагом H = 0,1. Значения A, B и H объявить, как константы в директивах #define. В каждой строке выводить значение аргумента и соответствующее ему значение функции в форматированном виде с 4 знаками после запятой. Кроме того, в конце таблицы нужно напечатать отдельной строкой значение, которое требуется вычислить в соответствии с индивидуальным вариантом.

Ход работы

Вариант №8

Листинг программы ур-е «А». Количество всех неотрицательных значений функции:

#include <iomanip>

#include <iostream>

#include <math.h>

#define A -5.0

#define B 5.0

#define H 0.1

using namespace std;

/* функция F() вычисляет значение функции y = sin(x)+x2 в точке x */

double F(double x)

{

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

//exp - e, sqrt - корень, abs - модуль, pow – степень }

int main()

{

setlocale(LC_ALL, "Russian");

double x, y, sum;

int count;

sum = count = 0;

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

{

y = F(x);

cout << fixed << setprecision(4) << x << "\t " << fixed << setprecision(4) << y << endl; //выводит в два столбца

// setprecision (int count) - Задаёт количество знаков после запятой, где count — количество знаков после десятичной точки

//Задание A8. Количество всех неотрицательных значений функции

if (x> 0, y>0)

{count++;}

}

cout << endl;

cout <<"Количество всех неотрицательных значений функции: " << count<<endl;

return 0;

}

Листинг программы ур-е «В». Сумма таких значений функции, которые имеют целую часть, кратную Z.

#include <iomanip>

#include <iostream>

#include <math.h>

#define A -5.0

#define B 5.0

#define H 0.1

using namespace std;

/* функция F() вычисляет значение функции y = sin(x)+x2 в точке x */

double F(double x)

{

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

//exp - e, sqrt - корень, abs - модуль, pow - степень

}

int main()

{

setlocale(LC_ALL, "Russian");

double x, y, sum;

double avg = 0;

int z;

unsigned countValueEven = 0; // счетчик значений функции с четной целой частью

unsigned count; // счетчик цикла

cout << "ввод числа Z: ";

cin >> z;

sum = count = 0;

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

{

y = F(x);

cout << fixed << setprecision(4) << x << "\t " << fixed << setprecision(4) << y << endl; //выводит в два столбца

// setprecision (int count) - Задаёт количество знаков после запятой, где count — количество знаков после десятичной точки

//Задание A8. Количество всех неотрицательных значений функции

if (x> 0, y>0)

{

count++;

}

if (!((int)y % z)) //Задание B2. Сумма таких значений функции, которые имеют целую часть, кратную z.

{ // если целая часть значения функции четная

avg += y; // добавляем его в сумму значений с четной целой частью

++countValueEven; // увеличиваем счетчик значений функции с четной целой частью

}

}

cout << endl;

cout <<"Количество всех неотрицательных значений функции: " << count<<endl;

if (countValueEven)

{ // если количество значений функции с четной целой частью больше нуля

avg /= countValueEven; // завершаем вычисление среднего арифметического

// выводим результаты

cout <<"Среднее арифметическое таких значений функций, которые имеют четную целую часть равно: " << fixed << setprecision(6) << avg<<endl;

cout << "Количество таких значений функции равно: " << countValueEven << endl;

}

else { // а если все же количество таких значений функции равно 0, то сообщаем об этом

puts("Среднее арифметическое таких значений функций, которые имеют четную целую часть равно 0");

puts("Так как количество таких значений функции равно 0");

}

return 0;

}

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

Гордиенко Л.В.

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