Глава 7. Немного математики - Введение в программирование
Программирование и математика неразрывно связаны между собой, хотя
конечно же это не значит, что ее нужно знать на очень высоком уровне.
Вполне достаточно уверенно разбираться с основными математическими
операциями, такими как сложение, вычитание, умножение, деление и т.д. Ну
и конечно же логика, логика и еще раз логика. На ней то все и строиться
в программировании. Ее мы и будем с вами развивать.
Итак, разбираем основные математические операции в программировании.
Некоторые из них мы уже знаем из предыдущих глав, сейчас же мы на них
остановимся подробнее. Разбирать будем на примере. Давайте напишем с
вами программу, которая будет у пользователя запрашивать значения двух
катетов прямоугольного треугольника, а выдавать значение его гипотенузы.
Все мы знаем, что для этого используется теорема Пифагора.
01.
02.
03. #include <iostream>
04. #include <math.h>
05.
06. using namespace std;
07. int main()
08. {
09. float ab, bc;
10. float ac;
11.
12. cout << "Vvedite katet 1: " << endl;
13. cin >> ab;
14. cout << "Vvedite katet 2: " << endl;
15. cin >> bc;
16.
17. ac = sqrt ((ab * ab) + (bc * bc));
18.
19. cout << "Gipotenuza ravna: " << ac << endl;
20.
21. return 0;
22. }
Здесь внимания заслуживает только строка 1. ac = sqrt ((ab * ab) + (bc * bc));
Итак, здесь мы переменной ac присваиваем
значение, полученное в правой части. Все мы знаем, что квадрат
гипотенузы равен сумме квадратов катетов прямоугольного треугольника.
Для того, чтобы в левой части избавиться от квадрата, мы извлекаем
квадратный корень из выражения в правой части. Для этого мы используем
библиотечную функцию sqrt, описанную в заголовочном файле math.h, который мы подключили с помощью директивы препроцессора в начале программы
А теперь давайте подробнее остановимся на математических функциях библиотеки math.h.
Такое понятие как функция мы еще с вами не рассматривали, поэтому скажу
кратко, что функция - это как бы небольшая законченная программа,
которая выполняет свою задуманную задачу (например, находит корень
числа). Для того, чтобы его выполнять, функция обычно принимает
какие-либо данные в качестве аргументов и возвращает результат своей
работы (бывает и так, что функция не принимает аргументов и не
возвращает значение - подробнее рассматриваем функции в последующих
главах учебника). Сейчас вы это сами увидите на примере математических
функций библиотеки math.h языка программирования С++.
Еще одно замечание: все математические функции принимают в
качестве аргументов и возвращают числа с плавающей точкой двойной
точности double. Иными словами, принимают дробные
числа, которые могут содержать после запятой 15 - 16 разрядов. Но это не
значит, что вам при использовании данных функций нужно обязательно
пользоваться дробными числами - вы можете использовать любые числа. В
данном случае, программа сама выполнит необходимые приведения типов.
Math.h - математические функции
Функция |
Описание работы функции |
double sqrt (double x); |
Данная математическая функция вычисляет и возвращает корень из положительного числа, принимая его в качестве аргумента х |
double pow (double x, double y); |
Возводит число, принимаемое в качестве аргумента х, в степень, принимаемую в качестве аргумента y. |
double fabs (double x); |
Вычисляет абсолютное значение числа х (иными словами, его модуль) |
double fmod (double x, double y); |
Вычисляет остаток от деления х на y. |
double ceil (double x); |
Вычисляет наименьшее целое, значение которого не будет меньшим, чем х. Например, функция ceil (4.68) вернет значение 5.00. |
double floor (double x); |
В отличии от предыдущей функции эта функция вычисляет наибольшее целое, по значению не превосходящее х. Например, функция floor (4.68) вернет значение 4.00. |
double modf (double value, double *ptr); |
Разбивает значение аргумента value на целую и дробные части. Целую часть функция сохраняет в объекте на который указывает указатель *ptr, а дробную возвращает. |
double cos (double x); |
Вычисляет косинус аргумента х, который задается в радианах |
double sin (double x); |
То же, но синус |
double tan (double x); |
То же, но тангенс |
double acos (double x); |
Вычисляет главное значение арккосинуса х. Аргумент х должен быть из интервала [-1 ; +1]. Функция возвращает значение в радианах из интервала [0; p] |
double asin (double x); |
Вычисляет главное значение арксинуса х. Аргумент х должен быть из интервала [-1 ; +1]. Функция возвращает значение в радианах из интервала [- p/2; + p/2] |
double atan (double x); |
Вычисляет главное значение арктангенса х. |
double exp (double x); |
Вычисляет значение показательной функции аргумента х. |
double log (double x); |
Вычисляет натуральный логарифм аргумента х. |
double log10 (double x); |
Вычисляет десятичный логарифм аргумента х. |
Можете поэксперементировать с данными функциями в среде
программирования. Не забывайте о вводе допустимых значений в качестве
аргументов данных функций, иначе компилятор будет выдавать ошибки выхода
за пределы значений и т.д.
Глава 8. Начинаем управлять
http://iguania.ru/uchebnik-po-osnovam-programmirovaniya-dlya-nachinaiuschich/glava-7-nemnogo-matematiki.html
|