Функция sin - синус и cos - косинус на ъгъл в триъгълник

правоъгълен триъгълник - височина и ъгъл
триъгълник - височина и два ъгъла
височини в триъгълник - 2 ъгъла и радиус

За една окръжност казваме, че най-големият ъгъл в нея е 360 градуса. Така 360 градуса са равни на 2 pi радиана, където pi е 3.1415925.. (нарича се също число на Лудолф – Лудолф ван Цойлен). Единица за измерване на равнинен ъгъл е радиан - безразмерна величина. Означава се с rad. Ако в една окръжност с два радиуса се обозначи централен ъгъл, на който съответстващата му дъга по дължина е равна на радиуса на същата окръжност, то този ъгъл е равен на 1 радиан. Тригонометричните функции, в езиците за програмиране, изискват аргумента ъгъл да бъде представен в радиани. Тук разглежданите две функции ( sin и cos ) дават като резултат безразмерна величина - отношение между хипотенуза, прилежаща и срещулежаща страна в правоъгълен триъгълник. Има и обратни функции аркус на синус и косинус. Те изискват аргумент отношение между две страни и връщат резултат - ъгъл в радиани. При изчисляване на всяка тригонометрична функция, включително синус и косинус се ползва математически апарат свързан с изчисляване на редове, т.е. тригонометричните функции налагат допълнителни изчисления в конкретната програма. функция синус sin - изисква аргумент ъгъл в радиани, а като резултат връща отношение между срещулежаща страна към хипотенуза. функция косинус cos - изисква аргумент ъгъл в радиани, а като резултат връща отношение между прилежаща страна към хипотенуза. cos (-A) = cos (A) - четна функция; sin (-A) = - sin (A) - нечетна функция; sin (90 + A) = cos (A); cos (90 +A) = - sin (A). И двете тригонометричн функции sin и cos са периодични и ограничени в числовия интервала [-1..1] Описание на библиотечните функции в езика C++ sin, cos се съдържа във файла cmath.

   Библиотечните функции синус и косинус имат за аргумент ъгъл в радиани и връщат като резултат съответно:
   sin синус - отношение на срещулежаща страна в правоъгълен триъгълник към хипотенуза. Диапазон на възможни стойности [-1..1];
    cos косинус - отношение на прилежаща страна към хипотенуза.Диапазон на възможни стойности [-1..1].

Начало на страницата

правоъгълен триъгълник - височина и ъгъл

Имаме правоъгълен триъгълник, за който са въведени: дължина на височината към хипотенузата hc и един от острите му ъгли ygа. Търсим периметър на този триъгълника и диаметър на описаната около триъгълника окръжност.

правоъгълен триъгълник - височина и ъгъл     Решението на задачата включва следните стъпки:
    а) изчисляване на другия остър ъгъл ygb = 0.5 * pi - yga
    б) изчисляване дължина на катета a, сключващ ъгъл yga с хипотенузата a =hc / sin (yga);
    в) проекцията на катета върху хипотенузата ca=hc / cos (yga);
   г) изчисляване дължина на катета b, сключващ ъгъл ygb с хипотенузата b = hc / sin (ygb);
   д) проекцията на катета върху хипотенузата cb = hc / cos (ygb);
   е) диаметърът на описаната окръжност D = ca+cb е дължината на хипотенузата
   ж) периметърът на триъгълника P= a+b+(ca+cb) е сума от дължините на страните в триъгълника

Следва пример с използване на библиотечна функция sin:
#include<iostream>
#include <cmath>
using namespace std;
  double const pi=3.1415925;

int main()
{
double hc, yg,yga,ygb,a,b,ca,cb,P,D;
 cout<<"Imate prawoygylen triygylnk zadaden s hc dylvina na wisochinata kym\n";
 cout<<"hipotenuzata i a edin ot ostrite mu ygli. Ygylyt se wywevda w gradusi.\n";
 cout<<"Da se izchislqt: diametyr na opisanata okryvnost i perimetyr na triygylnika.\n";
cout<<"Primer: 10 45 Izhod D=20, P=48.2843 \n";

  cout<<"Wywedete dylvina na wisochinata [9..99]: "; cin>>hc;
  cout<<"Wywedete ostyr ygyl w gradusi [10..80]; ";cin>>yg;
   yga=yg*pi/180;//preobrazuwame gradusi w radiani za sin i cos 
  ygb=0.5*pi-yga;  // 0.5*pi=90 gradusa  
  a=hc / sin (yga); // sin (yga)=hc/a - sinus sreshulevasha strana kym hipotenuza
  cout<<"Dylvinata na katet a: "<<a<<endl;
  ca=a * cos (yga); // cos (yga) = ca/a - cosinus prilevasha strana kym hipotenuza
  b=hc / sin (ygb);
  cout<<"Dylvinata na katet b: "<<b<<endl;
  cb=b * cos (ygb);
  D=ca+cb;
  cout<<"Diametyr na opisanata okryvnost: "<<D<<endl;
   P=a+b+D;
  cout<<"Perimetyr na triygylnika: "<<P<<endl;
 system("pause");
 return 0; 
} //kraj na programa sin i cos 

Начало на страницата

триъгълник - височина и два ъгъла

Имаме триъгълник с въведени: ha - височина към страна а, както и двата принадлежащи към същата страна - ъгъл C и ъгъл B. Търсим P - периметър на този триъгълник.

   Алгоритъм:
   Разглеждаме двата правоъгълни триъгълника, образувани от страни c, b - хипотенузи и общ катет ha.
   Въведен е по един остър ъгъл за всеки от триъгълниците – ъгъл C и ъгъл B.
   Изчисляваме страна c = ha / sin (B);
   Изчисляваме страна b = ha / sin (C);
   Изчисляваме страна a = c * cos (C) + b * cos (B) - като проекции на вече изчислените страни;

   Следващата примерна програма дава решена задача за периметър на тръгълник по въведени височина към страна и два прилежащи ъгъла чрез използване на библиотечна функция sin и функция cos:
#include <iostream>
#include <cmath>
using namespace std;
double const pi=3.141592;

double ygyl  (double C,double B, double ha)
{ double a,b,c,P;
 //formirani sa 2 prawoygylni triygylnika s wywedeni ostyr ygyl i katet
  c= ha / sin (B);// strana a
  b= ha / sin (C); //strana b
  cout<<c<<":"<<b<<endl;
  a= c *  cos (C) + b * cos (B) ;
  P= a+b+c;
  return P;
}//  ygyl  i wisochnina sin cos 

int main()
{double C,B,ha,yg,P;
  cout<<"Imame triygylnk s wywedeni: wisochina ha kym strana a i ygli\n";
  cout<<"A, B prilevashi kym strana a. Tyrsim perimetyr P na triygylnika. \n";
  cout<<"Primer: C=30; B=30; h=10 Izhod: P=74.641 \n";
  cout<<"Wywedete ygyl C: ";cin>>yg;
  C=pi*yg/180; // sin i cos - ygyl w radiani
  cout<<"Wywedete ygyl B: ";cin>>B;
  B=pi*yg/180; // ygyl w radiani
  cout<<"Wywedete wisochina ha: ";cin>>ha;
  P = ygyl (C, B, ha);
  cout<<"Perimetyr na triygylnika: "<<P<<endl;
system("pause");
return 0;
}//kraj na programa sin i cos 

Начало на страницата

височини в триъгълник - 2 ъгъла и радиус

Имаме триъгълник с въведени: R - радиус на описаната около него окръгност, както и два ъгъла - ъгъл ygA и ъгъл ygB. Търсим ha, hb и hc - всички височини в този триъгълник.

височини в триъгълник - 2 ъгъла и радиус    Алгоритъм:
Ще използваме следните зависимости:
Сумата от вътрешните ъгли ygA+ygB+ygC = 180 градуса;
лице на триъгълник Sabc = 2 * R * R* sin (ygA) * sin (ygB) * sin (ygC)
височина към страна a ha = sqrt (2* Sabc * sin (ygB) * sin (ygC)/ sin (ygA));
височина към страна b hb = sqrt (2* Sabc * sin (ygA) * sin (ygC)/ sin (ygB));
височина към страна c hc = sqrt (2* Sabc * sin (ygA) * sin (ygB)/ sin (ygC));

   Следващата примерна програма дава решена задача за височини в тръгълник:
 #include<iostream>
 #include <cmath>
 using namespace std;
   double const pi=3.1415925;
   
 double radiani (double gradus )
 { double rad = pi * gradus /180;
 return rad;
 }// gradus w radian
 
 int main()
 
 { double ygA,ygB,ygC,ha,hb,hc,ygyl, R, Sabc;
  cout<<"Imame wpisan triygylnik w okryvnost s radius R. Wywedeni sa\n";
  cout<<"sysho i dwa ot yglite w triygylnika. Tyrsim wisochinite.\n";
  cout<<"Primer: ygA = 45, ygB=45 R=10 Izhod: ha=14.1421; hb=14.1421 hc=10\n";
  cout<<"Wywedete ygyl A: ";cin>>ygyl;
  ygA=radiani (ygyl);
  cout<<"Wywedete ygyl B: ";cin>>ygyl;
  ygB=radiani (ygyl);
  ygC=pi-(ygA+ygB);// sumata na ygli w triygylnik e 180 gradusa
  cout<<"Wywedete radius na opisanata okryvnost: ";cin>>R;
  
   Sabc = 2*R*R*sin (ygA)* sin (ygB) * sin (ygC);
   cout<<" lice na wpisan triygylnik: "<<Sabc<<endl;
  
   ha = sqrt (2* Sabc * sin (ygB) * sin (ygC)/ sin (ygA));
   cout<<" wisochina kym strana a: "<<ha<<endl;
   hb = sqrt (2* Sabc * sin (ygA) * sin (ygC)/ sin (ygB));
   cout<<" wisochina kym strana b: "<<hb<<endl;
   hc = sqrt (2* Sabc * sin (ygA) * sin (ygB)/ sin (ygC));
   cout<<" wisochina kym strana c: "<<hc<<endl;  
   
  system("pause");
  return 0; 
 } //kraj na programa wisochina

Обяснени и решени задачи с подобни алгоритми, функции и служебни думи са разгледани в страницата с електронни уроци по информатика - програмиране.
Илюстриране работата на характерни алгоритми можете да намерите в предоставените електронни помагала съдържащи решени задачи, примери.

Начало на страницата

 
Размер на шрифта
Increase Font Size Option 3 Reset Font Size Option 3 Decrease Font Size Option 3
Bulgarian Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish
Търсене в сайта: