Функция cos() в Perl

В языке программирования Perl есть встроенная функция cos(). Эта функция возвращает значение тригонометрической функции косинус от своего аргумента.

Вот пример:

▶ Run
#!/usr/bin/perl

print cos( 3.14159265358979 );

Эта программа выведет на экран число -1. Косинус π это -1, именно это и выводит программа.

Аргументы

my $value = cos($rad);

Аргумент Perl функции cos() — это число в радианах.

Если функции cos() передать один аргумент, то функция будет работать с ним.

Если не передать ни одного аргумента, то функция будет работать с дефолтной переменной $_. Вот пример (программа выведет число 1):

▶ Run
#!/usr/bin/perl

$_ = 2 * 3.14159265358979;

print cos;

Если функции cos() передать больше чем один аргумент, то будет ошибка:

Too many arguments for cos at script.pl line 3, near "0)"
Execution of script.pl aborted due to compilation errors.

Возвращаемое значение

Функция cos() всегда возвращает число. Диапазон возможных значений — от -1, до 1.

Пример возвращаемого значения: 0.995004165278026 (такое значение будет при использовании аргумента 0.1).

Работа с градусами

Аргумент cos() — это число в радианах. Если нужно рассчитать косинус градусов, то их нужно перевести в радианы. Для перевода градусов в радианы используется формула rad = degree * π/180.

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

▶ Run
#!/usr/bin/perl

use utf8;
use strict;
use warnings;
use feature qw(say);

use Math::Trig;

say 'deg      rad  cos(rad)';

for (my $degree = 0; $degree<=360; $degree += 15) {
    my $rad = $degree * pi() / 180;
    say sprintf '%3d  %0.5f  % 0.5f', $degree, $rad, cos($rad);
}

В этой программе используется Perl модуль Math::Trig. При его подключении становится доступна функция pi(), которая возвращает число π.

Вот вывод этой программы:

deg      rad  cos(rad)
  0  0.00000   1.00000
 15  0.26180   0.96593
 30  0.52360   0.86603
 45  0.78540   0.70711
 60  1.04720   0.50000
 75  1.30900   0.25882
 90  1.57080   0.00000
105  1.83260  -0.25882
120  2.09440  -0.50000
135  2.35619  -0.70711
150  2.61799  -0.86603
165  2.87979  -0.96593
180  3.14159  -1.00000
195  3.40339  -0.96593
210  3.66519  -0.86603
225  3.92699  -0.70711
240  4.18879  -0.50000
255  4.45059  -0.25882
270  4.71239  -0.00000
285  4.97419   0.25882
300  5.23599   0.50000
315  5.49779   0.70711
330  5.75959   0.86603
345  6.02139   0.96593
360  6.28319   1.00000

Связанные темы

Официальная документация

Вот вывод команды perldoc -f cos:

       cos EXPR
       cos     Returns the cosine of EXPR (expressed in radians).  If EXPR is
               omitted, takes the cosine of $_.

               For the inverse cosine operation, you may use the
               "Math::Trig::acos()" function, or use this relation:

                   sub acos { atan2( sqrt(1 - $_[0] * $_[0]), $_[0] ) }

Другие статьи

Комментарии