Funkcja sin() w Perl

W języku programowania Perl jest wbudowana funkcja sin(). Funkcja ta zwraca wartość тригонометрической funkcji sinus swój argument.

Oto przykład:

▶ Run
#!/usr/bin/perl

print sin( -3.14159265358979 / 2 );

Ten program wypisze na ekran liczba -1. Sinus -π/2 to -1, to wyświetla program.

Argumenty

my $value = sin($rad);

Argument Perl funkcji sin() — oznacza liczbę w radianach.

Jeśli funkcje sin() przekazać jeden argument, to funkcja będzie z nim pracować.

Jeśli nie oddać ani jednego argumentu funkcja będzie działać z дефолтной zmiennej $_. Oto przykład (program wyświetli liczbę 1):

▶ Run
#!/usr/bin/perl

$_ = 3.14159265358979 / 2;

print sin;

Jeśli funkcje sin() przekazać więcej niż jeden argument, to będzie błąd:

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

Wartość zwracana

Funkcja sin() zawsze zwraca liczbę. Zakres możliwych wartości — od -1, do 1.

Przykład zwracanej wartości: 0.0998334166468282 (to jest wartość będzie przy użyciu argumentu 0.1).

Praca ze stopniami

Argument sin() — oznacza liczbę w radianach. Jeśli chcesz obliczyć sinus stopni, to trzeba je przetłumaczyć na radiany. Aby przeliczyć stopnie na radiany wykorzystywana jest formuła rad = degree * π/180.

Oto przykład programu, który wyświetla tabelę z stopniami, radiany i wartość sinus:

▶ Run
#!/usr/bin/perl

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

use Math::Trig;

say 'deg      rad  sin(rad)';

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

W tym programie jest używany moduł Perl Math::Trig. Po podłączeniu staje się dostępna funkcja pi(), która zwraca liczbę π.

Oto wniosek z tego programu:

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

Tematy pokrewne

Oficjalna dokumentacja

Oto wynik polecenia perldoc -f sin:

       sin EXPR
       sin     Returns the sine of EXPR (expressed in radians).  If EXPR is
               omitted, returns sine of $_.

               For the inverse sine operation, you may use the
               "Math::Trig::asin" function, or use this relation:

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

Inne artykuły