Математичні функції та їх застосування в С++
Константа – величина, яка не змінюється упродовж виконування програми. Для оголошення константи у програмі використовується специфікатор const. При цьому зазначається тип константи і обов’язково надається значення, наприклад:
const double Pi = 3.14159;
У якості значення константи можна подавати константний вираз, який містить раніш оголошені константи та змінні. Наприклад:
const double Pi2 = 2 * Pi, k = Pi /180;
Математичні функції широко використовуються для записування різних математичних виразів.
Стандартні математичні функції С++ розміщені у заголовному файлі (бібліотеці) math.h, який долучають директивою #include<math.h>.
#include "stdafx.h"
#include<iostream>
#include<math.h>
using namespace std;
int main()
{
setlocale(0,".1251");
double x, y;
cout << "Введiть значення x" << endl;
cin >> x;
y = 0.2*x*x - x / (sqrt(3)*x)*(1 + 2 * x) + 2 * (pow(x - 1, 3)) / (pow(sin(x), 2) + 1);
cout << "Результат y = " << y << endl;
system("pause>>void");
return 0;
}
Прочитайте текст помилки та спробуйте її виправити своїми силами. Якщо не вийде, напишіть про вашу проблему в коментарях:)
const double Pi = 3.14159;
У якості значення константи можна подавати константний вираз, який містить раніш оголошені константи та змінні. Наприклад:
const double Pi2 = 2 * Pi, k = Pi /180;
Математичні функції широко використовуються для записування різних математичних виразів.
Стандартні математичні функції С++ розміщені у заголовному файлі (бібліотеці) math.h, який долучають директивою #include<math.h>.
Основні математичні функції C++ та класу Math: |
До речі, константи math (наприклад, M_PI (π ≈ 3.14159), M_E (число Ейлера е ≈ 2.71828, яке є основою натуральних логарифмів) та багато інших) не вказані в стандартному C/C++. Щоб використовувати їх, слід спочатку визначити _USE_MATH_DEFINES, а тоді долучити cmath або math.h. #define _USE_MATH_DEFINES #include <math.h> // для C або #include <cmath> для C++
ПРАВИЛА ЗАПИСУВАННЯ АРИФМЕТИЧНИХ ВИРАЗІВ
- Вираз, який завершується крапкою з комою, є оператором.
- Оператор задає закінчений опис певної дії.
- Арифметичний вираз складається із операндів, арифметичних операцій (+, –, *, /, %, ++, --) і оператора присвоювання (=).
- Результатом операції обчислення остачі від цілочисельного ділення (%) є залишок від ділення першого операнда на другий. Операндами цієї операції мають бути цілі числа.
Арифметичні операції |
int n = 49, m = 10, x, y;
x = n / m; // x = 4
y = n % m; /* y = 9
- */ Текст, який розміщений після двох скісних рисок (//) (або у середині /* */), є коментарем і не береться до уваги при компілюванні файла.
- Операції ++ (інкремент) та -- (декремент) є унарними, тобто мають лише один операнд.
- Операція ++ додає одиницю до операнда, операція -- віднімає одиницю від операнда.
Обчислення в арифметичних виразах виконуються зліва направо згідно з таким пріоритетом операцій:
1. стандартні функції, ++, --;
2. множення (*), ділення (/), остача від ділення (%);
3. додавання (+) та віднімання (–).
Вирази у круглих дужках виконуються першочергово.
Для здобуття правильного результату слід дотримуватися таких правил записування арифметичних виразів в операторах С++:
кожна команда (інструкція) має завершуватись крапкою з комою (;)
мова С++ є чутлива до регістру, тобто х та Х – це дві різні змінні;
аргумент функції завжди записують у круглих дужках;
знаки множення не можна пропускати (3ab –> 3*a*b);
якщо знаменник або чисельник має операції (+, −, *, /), то його слід записувати у круглих дужках;
для записування раціональних дробів, у чисельнику або знаменнику яких є числові константи, хоча б одну з цих констант слід записати як дійсне число із зазначенням десяткової крапки, наприклад, 2 𝑘 ⁄ записують як 2.0/k; радикали (тобто корінь кубічний і вище) замінюють на дробові степені,
наприклад, √𝑥 + 1 3 записують як pow(x+1, 1/3.0);
слід враховувати правила зведення типів, оскільки в арифметичних виразах можуть брати участь різнотипні дані та відбувається зведення типів.
Оператор присвоювання «=» основний оператор програмування – має формат: <ім’я_змінної> = <вираз>;
Приклад:
Розробити схему алгоритму і створити програмний проект у Visual С++ для обчислення 𝑦 = 0.2𝑥2−𝑥 (√3+𝑥)(1+2𝑥) + 2((𝑥−1)3) 𝑠𝑖𝑛2𝑥+1 , де 𝑥 змінна, яку слід ввести.
Текст програмного коду та схема алгоритму: #include "stdafx.h"
#include<iostream>
#include<math.h>
using namespace std;
int main()
{
setlocale(0,".1251");
double x, y;
cout << "Введiть значення x" << endl;
cin >> x;
y = 0.2*x*x - x / (sqrt(3)*x)*(1 + 2 * x) + 2 * (pow(x - 1, 3)) / (pow(sin(x), 2) + 1);
cout << "Результат y = " << y << endl;
system("pause>>void");
return 0;
}
Якщо програма зібралася з першого разу- добре. Якщо компілятор говорить про наявність помилок, значить Ви щось зробили неправильно.
Прочитайте текст помилки та спробуйте її виправити своїми силами. Якщо не вийде, напишіть про вашу проблему в коментарях:)
Коментарі
Дописати коментар