Как использовать математическую функцию в программе

Изучите основные математические функции в Python, включая встроенные функции и модуль `math`, с примерами использования для новичков.

Алексей Кодов
Автор статьи
10 июля 2023 в 17:48

Python предоставляет множество встроенных математических функций, а также дополнительный модуль math , который содержит более продвинутые функции и константы. В этой статье мы рассмотрим основные математические функции и как с ними работать.

Встроенные математические функции

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

  • abs(x) — возвращает абсолютное значение числа x
  • round(x, n) — округляет число x до n знаков после запятой (n — необязательный аргумент)

x = -5 y = 3.14159 print(abs(x)) # Выведет 5 print(round(y, 2)) # Выведет 3.14

Модуль math

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

  • math.sqrt(x) — возвращает квадратный корень числа x
  • math.sin(x) — возвращает синус угла x, заданного в радианах
  • math.cos(x) — возвращает косинус угла x, заданного в радианах
  • math.tan(x) — возвращает тангенс угла x, заданного в радианах
  • math.radians(x) — конвертирует угол x из градусов в радианы
  • math.degrees(x) — конвертирует угол x из радиан в градусы

import math x = 25 y = 45 print(math.sqrt(x)) # Выведет 5.0 print(math.sin(math.radians(y))) # Выведет 0.7071067811865475
Python-разработчик: новая работа через 9 месяцев
Получится, даже если у вас нет опыта в IT

Экспонента и логарифм

Модуль math также предоставляет функции для работы с экспонентой и логарифмами:

Математические функции в С++

  • math.exp(x) — возвращает e^x
  • math.log(x, base) — возвращает натуральный логарифм числа x (или логарифм по основанию base, если указано)

import math x = 2 print(math.exp(x)) # Выведет 7.389056098930649 print(math.log(x)) # Выведет 0.6931471805599453 print(math.log(x, 10)) # Выведет 0.3010299956639812

Теперь вы знаете основные математические функции в Python и как их использовать. Удачного кодирования!

Источник: sky.pro

Стандартная библиотека C++

Начиная со стандарта C++20 стандартная библиотека предоставляет модуль numbers , который содержит ряд встроенных математических констант. Некоторые наиболее распростраенные:

  • std::numbers::e : число 2.71828 (основание натурального алгоритма)
  • std::numbers::pi : число π — 3.14159.
  • std::numbers::sqrt2 : квадратный корень числа 2 — 1.41421.
  • std::numbers::phi : золотое сечение (число Фидия) φ — 1.618.

Все эти числа представляют тип double

Математические функции

Заголовочный файл стандартной библиотеки C++ определяет набор математических функций. которые можно использовать в программах. Перечислю наиболее распространенные:

#5. Математические функции и работа с модулем math | Python для начинающих

  • abs(arg) : вычисляет абсолютное значение arg. В отличие от большинства функций , abs() возвращает целочисленный тип, если arg является целым числом.
  • ceil(arg) : вычисляет ближайшее целое число, большее или равное arg, и возвращает его в виде числа с плавающей точкой. Например, выражение std::ceil(2.5) возвращает 3.0 , а std::ceil(-2.5) — -2.0 . (дробная часть округляется до единицы)
  • floor(arg) : вычисляет ближайшее целое число, меньшее или равное arg, и возвращает его в виде числа с плавающей точкой. Например, выражение std::floor(2.5) возвращает 2.0, а std::floor(-2.5) — число -3.0. (дробная часть округляется до нуля)
  • exp(arg) : вычисляет выражение e arg .
  • log(arg) : вычисляет натуральный логарифм (по основанию e) числа arg.
  • log10(arg) : вычисляет логарифм по основанию 10 от arg.
  • pow(arg1, arg2) : вычисляет значение arg1, возведенное в степень arg2, то есть arg1 arg2 . Числа arg1 и arg2 могут быть целочисленными или с плавающей запятой. Так, результат std::pow(2, 3) равен 8.0, а std::pow(4, 0,5) равно 2,0.
  • sqrt(arg) : вычисляет квадратный корень из arg.
  • round(arg) , lround (arg) и llround (arg) округляют число до ближайщего целого. Разница между ними состоит в типа возвращаемого результата: round() возвращает число с плавающей точкой, lround (arg) — число long , а llround (arg) — long long . Половинные значения округляются до нуля: std::lround(0.5) возвращает 1L , тогда как std::round(-1.5f) возвращает -2.0f.
  • sin(arg) : вычисляет синус угла, при этом arg представляет значение в радианах.
  • cod(arg) : вычисляет косинус угла.
  • tan(arg) : вычисляет тангенс угла.
  • isinf(arg) : возвращает true , если аргумент представляет +-бесконечность.
  • isnan(arg) : возвращает true , если аргумент представляет NaN.
Читайте также:
Выберите фрагмент программы в котором ищется произведение

Пример применения некоторых функций:

#include #include // подключаем заголовочный файл math.h int main()

abs(-3) = 3 pow(-3, 2) = 9 round(-3.4) = -3 ceil(3.2) = 4 floor(3.2) = 3 ceil(-3.2) = -3 floor(-3.2) = -4

Проверка результата арифметических операций на NaN и бесконечность:

#include #include int main() < double a< 1.5 >, b, c<>, d <>; std::cout << a << «/» << b << » is Infinity? » << std::isinf(a / b) << std::endl; std::cout << a << «/» << b << » is Nan? » << std::isnan(a / b) << std::endl; std::cout << a << «/» << c << » is Infinity? » << std::isinf(a / c) << std::endl; std::cout << c << «/» << d << » is NaN? » << std::isnan(c / d)

1.5/-1.5 is Infinity? 0 1.5/-1.5 is Nan? 0 1.5/0 is Infinity? 1 0/0 is NaN? 1

Источник: metanit.com

Математические функции

В С++ определены в заголовочном файле функции выполняющие некоторые часто используемые математические задачи (табл. 3).

Математические функции в языке С++

Математическая функция

Модуль или абсолютное значение от а

Корень квадратный из а, причём а не отрицательно

Возведение а в степень b

Округление c избытком

Округление а до наибольшего целого, но не больше чем а

вычисление остатка от a/b

вычисление экспоненты а

a задаётся в радианах

a задаётся в радианах

натуральный логарифм a(основанием является экспонента)

десятичный логарифм а

арксинус a, где -1.0 < а < 1.0

    1. Пример реализации линейного алгоритма на языке С++

    Для демонстрации работы с операторами ввода-вывода и математическими функциями рассмотрим следующую задачу: требуется написать программу, вычисляющую значение формулы при различных значениях .

    На первом этапе произведем анализ поставленной задачи. Для начала определимся с переменными, которые следует ввести. В данном случае это . В условиях задачи можно считать, что введены целочисленные значения , то есть эти переменные будут иметь тип integer, и вещественный x (переменная х имеет тип double).

    Читайте также:
    Как создать интерфейс программы

    Результат вычислений должен быть занесен в переменную. Из вида формулы ясно, что результат будет вещественным. Для сохранения результата нам потребуется переменная типа double. Присвоим ей имя y.

    Теперь следует переписать переменную в линейном виде, используя арифметические операции языка СИ и математические функции, обращая внимание на порядок скобок в записи выражения.

    Далее создадим новый проект (как это сделать изучено в ЛР1). Добавим в него файл исходного кода, запишем в нем функцию main() и объявим переменные.

    Далее произведем чтение целочисленных значений переменных с клавиатуры, используя оператор scanf(). Для того, чтобы его стало возможным использовать, подключим заголовочный файл stdio.h.

    После чтения значений переменных организуем расчет формулы. Заметим, что для использования функции вычисления синуса числа нам потребуется подключить библиотеку “math.h”, содержащую определение математических функций.

    На следующем шаге осуществим вывод полученного значения у. В формате вывода числа укажем, что само число должно занимать 10 символов, после запятой должно отображаться три знака:

    При запуске программы в данном случае мы вводим значения переменных, после чего окно закрывается и мы не успеваем увидеть результат работы программы. Для того, чтобы предотвратить закрытие окна добавим команду system(«pause») и подключим библиотеку :

    После запуска приложения и ввода переменных программа выведет следующую информацию (рис. 1).

    Рис. 1. Консольное окно выполнения программы

    Несмотря на то, что алгоритм программы правильный, сама она неинформативна. Для того, чтобы сделать ее более простой в использовании, добавим так называемые подсказки пользователя, выведя перед вводом переменных сообщения о том, какие данные следует вводить:

    Вывод полученных результатов организуем следующим образом:

    После запуска программы, ввода значений и завершения алгоритма мы увидим окно со следующим содержимым (рис. 2).

    Читайте также:
    Рабочая программа пожарно строевая подготовка

    Рис. 2. Консольное окно выполнения программы

    Как мы видим, кириллический шрифт оказался нераспознанным. Для того, чтобы исправить это, добавим в код программы следующие строку:

    Кроме того, необходимо подключить библиотеку locale.h.

    Теперь код программы выглядит следующим образом:

    После выполнения программы мы получим окно со следующим содержимым (рис. 3)

    Рис. 3. Консольное окно выполнения программы

    При написании программы правилом хорошего тона является добавление в исходный код комментариев. Они позволяют легко ориентироваться в коде, особенно, если программа содержит много функций или ее алгоритм достаточно сложен. Добавим комментарии к нашей программе. Кроме того, для облегчения понимания кода, отдельные его смысловые блоки выделим при помощи отступов:

    На этом выполнение данного задания завершено.

    ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ.

    1. Ознакомится с теоретической частью лабораторной работы.
    2. Ознакомится с заданиями согласно варианту.
    3. Разработать блок-схему линейного алгоритма решения задачи.
    4. Реализовать разработанный алгоритм на языке программирования C++.
    5. Протестировать программу.

    СОДЕРЖАНИЕ ОТЧЕТА

      1. Титульный лист с названием лабораторной работы, номером своего варианта, фамилией студента(ов) и группы.
      2. На первом после титульного листа указать :

      — Задание по варианту.

        1. Блок схема алгоритма.
        2. Текст программы.
        3. Результаты работы программы.
        4. Выводы о полученных результатах работы программы.

        КОНТРОЛЬНЫЕ ВОПРОСЫ

          1. Что называется выражением в языке СИ?
          2. Что называется операцией в языке СИ?
          3. Какие типы операций в языке СИ вам известны?
          4. Как осуществляется ввод и вывод информации в программах на языке СИ?
          5. Как реализуются основные математические функции в программах на языке СИ?

          СПИСОК РЕКОМЕНДУЕМОЙ ЛИТЕРАТУРЫ

          1. Липпман С. Б. Основы программирования на C++: Пер. с англ. — М.:Вильямс, 2002. — 256 с.
          2. Липпман С. Б., Лажойе Ж. Язык программирования С++. Вводный курс: Пер. с англ. — 3-е изд. — М.: ДМК, 2001. — 1104 с.
          3. Страуструп Б. Язык программирования C++: Пер. с англ. — 3-е спец. изд. — М.: Бином, 2003. — 1104 с.
          4. Страуструп Б. Дизайн и эволюция языка C++. Объектно-ориентированный язык программирования: Пер. с англ. — М.: ДМК пресс, Питер, 2006. — 448 с.
          5. Эккель Б. Философия C++. Введение в стандартный C++: Пер. с англ. — 2-е изд. — СПб.: Питер, 2004. — 572 с.
          6. Эккель Б., Эллисон Ч. Философия C++. Практическое программирование: Пер. с англ. — СПб.: Питер, 2004. — 608 с.

          Источник: studfile.net

          Рейтинг
          ( Пока оценок нет )
          Загрузка ...
          EFT-Soft.ru