Определяне вид на триъгълник - теорема на Талес

определяне вида триъгълник спрямо ъглите му - теорема на Талес (Tales)
първи признак за подобни триъгълници
трети признак за подобни триъгълници
пропорционални отсечки - подобни триъгълници
подобни правоъгълни триъгълници - коефициент на подобие
подобни равнобедрени триъгълници - бедро и основа


Нека припомним някои зависимости в триъгълник: В един триъгълник всяка негова страна е по-малка от сбора на другите две страни, както и всяка негова страна е по-голяма от разликата на другите две страни от този триъгълник.
Средна отсечка на триъгълник е отсечката свързваща средите на две от страните в същия триъгълник. Тя е успоредна на третата страна и е равна на половината от нея.
Бисектриса / ъглополовяща на ъгъл в един триъгълник разделя ъгъла на две равни части. Всяка точка от ъглополовящата е на равни разстояния от раменете на същия ъгъл в този триъгълник.
Описана окръжност около триъгълник с дължина на страните a,b,c и лице S - трите върха на триъгълника едновременно лежат на окръжността. Радиус на описаната окръжност в триъгълник R = a*b*c/(4*S)
Вписана окръжност в триъгълник - трите страни на триъгълника се явяват допирателни към окръжността. Радиус на вписаната окръжност в триъгълник r = 2*S/(a+b+c)
Срещу равни страни лежат равни ъгли. Еднаквите триъгълници имат равни съответни страни и ъгли.
Два триъгълника са еднакви, ако имат съответно равни:
1) две страни и ъгъл между тях;
2) страна и два ъгъла;
3) три съответни страни;
Съответните ъгли на подобните триъгълници са равни, а съответни им страни се намират в едно и също съотношение.
Признаци за подобие на триъгълници. Два триъгълника са подобни, ако:
1) два ъгъла от единия триъгълник са съответно равни на два ъгъла от другия триъгълник.
2) ако две страни от единия триъгълник са пропорционални на съответните две страни от другия триъгълник и ъглите, заключени между тях са равни.
3) ако страните на единия триъгълник са пропорционални на съответните страни на другия триъгълник.
4) ако две страни от единия триъгълник са съответно пропорционални на сътветните две страни от другия триъгълник и ъглите, лежащи срещу по-голямата от тези страни, са равни.

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

определяне вида триъгълник спрямо ъглите му - теорема на Талес (Tales)

Талес (Tales) е древногръцки философ, един от групата на "Седемте мъдреци" на древността. Особена слава му донася предсказването на слънчевото затъмнение през 585 година пр.н.е., което е доказано и дава сведение, че тогава е живял. Той установява времето на равноденствие и слънце стоене. Определя продължителността на годината. Дали познанията му за слънчевите затъмнения не са заимствани от Египет е спорен въпрос. Тук ще разгледаме някои от неговите теореми. Нека имаме описан триъгълник с върхове A, B и C. Разглежданата теорема на Талес гласи, че ако една от страните на вписан в окръжност триъгълник е равна на диаметъра, то този триъгълник е правоъгълен.
Описание на друга теорема на Талес:
Нека имаме 4 прави: a, b, m, n, където правите a и b се пресичат в т.О, а двойката прави m,n са успоредни и пресичат съответно:
права m пресича права a в т.A1 и т.B1, а права n пресича права b в т.A2 и т.B2.
Дали пресечната точка O на прави a,b лежи между отсечките A1B1 и A2B2 няма значение за следното отношение:
OA1 / OA2 = OB1 / OB2
Това отношение играе особена роля при задачи с подобни триъгълници.

  Даден е триъгълник - дължината на всяка от страните е естествено число.
  От теоремата на Талес за вписан триъгълник могат да се направят няколко извода - в зависимост дали центъра на окръжността лежи в триъгълника (остроъгълен), на негова страна (правоъгълен) или извън триъгълника (тъпоъгълен). За правоъгълен триъгълник се ползва и теоремата на Питагор - квадрата на хипотенузата (най-дългата страна) е равна на сумата от квадратите на останалите две страни. В зависимост от направените сравнения се извежда съобщение какъв е триъгълника спрямо вида на ъглите - остроъгълен, правоъгълен, тъпоъгълен.
теорема на Талес
Следващата примерна програма дава решена задача за определяне вида на триъгълник спрямо ъглите му чрез теорема на Талес.
#include <iostream>
using namespace std;

int main ()
{int a,b,c,p;
  cout<<"Da se systawi programa, chrez koqto se wywevdat 3 celi chisla: a,b,c.\n";
  cout<<"Chislata a,b,c sa strani w triygylnik. Da se systawi programa, chrez\n";
  cout<<"koqto se izchislqwa wid na triygylnik: ostroygylen, prawoygylen, typoygylen.\n";
  cout<<"Primer: 3,4,5 Izhod prawoygylen\n";
  cout<<"Wywedete strana a: ";cin>>a;
  cout<<"Wywedete strana b: ";cin>>b;
  cout<<"Wywedete strana c: ";cin>>c;
  if (c<a) {p=c; c=a; a=p;}
  if (c<b) {p=c; c=b; b=p;}
  p=a*a + b*b;
  cout<<" Tozi triygylnik e ";
  if (c*c > p) 
 { if (c>=a+b) cout<<"s gresho wywedeni strani!\n";
  else  cout<<"typoygylen.\n";
  } 
  else 
  { if (c*c == p) cout<<"prawooygylen.\n";
    else cout<<"ostroygylen.\n";
  } 
 system ("pause");
 return 0;
}//kraj na programa wid na triygylnik 

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

първи признак за подобни триъгълници

Първият признак за подобие на триъгълници изисква равенство между ъглите в двата триъгълника. Ако две двойки ъгли са равни помежду си, то и третата двойка са също равни, т.к. сумата от ъглите в (Евклидов) триъгълник е 180 градуса.
Алгоритъмът включва следните стъпки: въвеждат се първо стойността на двата ъгъла от първия триъгълник, след това и за втория триъгълник. За ад са подобни триъгълниците е нужно:
първия ъгъл от първия триъгълник да е равен на първия ъгъл от втория триъгълник както и втория ъгъл от първия триъгълник да е равен на втория ъгъл от втория триъгълник
или
първия ъгъл от първия триъгълник да е равен на втория ъгъл от втория триъгълник както и втория ъгъл от първия триъгълник да е равен на първия ъгъл от втория триъгълник
Проверката се осъществява чрез реда: if ((yg1a==yg2a && yg1b==yg2b) || (yg1a==yg2b && yg1b==yg2a))

Следващата примерна програма дава решена задача относно първи признак за подобни триъгълници:
#include <iostream>
using namespace std;

int main()
 {int yg1a, yg1b, yg2a,yg2b; 
 cout<<"Imate 4 estestweni chisla a1,b1,a2,b2 ot interwala [1..90], \n";
 cout<<"predtswlqwashi syotwetni ygli ot 2 triygylnika.\n";
 cout<<"Da se systawi programa, chrez koqto se wywevdat po 2 ygyla za\n";
 cout<<"triygylnik i se izwevda syobshenie dali tezi triygylnici sa podobni.\n";
 cout<<"Primer: 30, 60; 60,30 Izhod: Da.\n";

 cout<<"Wwywedete ygyl a1: ";cin>>yg1a;
 cout<<"Wwywedete ygyl b1: ";cin>>yg1b;
 cout<<"Wwywedete ygyl a2: ";cin>>yg2a;
 cout<<"Wwywedete ygyl b2: ";cin>>yg2b;

 if ((yg1a==yg2a && yg1b==yg2b) || (yg1a==yg2b && yg1b==yg2a))
 { cout<<"Da. Tezi triygylnici sa podobni.\n"; }
  else  { cout<<"Ne. Tezi triygylnici ne sa podobni.\n";}
  system("pause");
  return 0;
} //kraj na programa triygylnik 

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

трети признак за подобни триъгълници

Третият признак за подобие изисква отношенията между всяка двойка съответните страни в два триъгълника да е едно и също. Алгоритъмът може да се опише в следните стъпки: въвеждане страните на първия триъгълник, подреждането им във възходящ ред, същите две стъпки за втория триъгълник, изчисляване на отношенията на вече подредените дължини, сравняване на трите отношения.

Следващата примерна програма дава решена задача относно трети признак за подобни триъгълници:
#include <iostream>
using namespace std;

void naredba (int &a, int &b, int &c)
{int i;
 if (a>b) {i=a; a=b; b=i;}
 if (b>c) {i=b; b=c; c=i;}
 if (a>b) {i=a; a=b; b=i;}
}

int main ()
{ int a1,b1,c1,a2,b2,c2;
  double k1,k2,k3;
  char ose;
  cout<<"Imate wywedeni 3 dwojki estestweni chisla ot interwala [1..101].\n";
  cout<<"Chislata sa dylvini na strani ot 2 triygylnika.\n";
  cout<<"Programata da izwede syobshenie dali tezi triygylnici sa podobni.\n";
  cout<<"Ne e zadylvitelno stranite da sa wywedeni w edin i syshi red.\n";
  cout<<"Primer: 3, 4, 5; 8, 10, 6 Izhod: Da.\n";
  do {
    cout<<"wywedete strana a1: ";cin>>a1;
    cout<<"wywedete strana b1: ";cin>>b1;
    cout<<"wywedete strana c1: ";cin>>c1;

    naredba (a1, b1, c1);//narevda stranite
//cout<<a1<<"; "<<b1<<"; "<<c1<<endl;
    cout<<"wywedete strana a2: ";cin>>a2;
    cout<<"wywedete strana b2: ";cin>>b2;

    cout<<"wywedete strana c2: ";cin>>c2;
    naredba (a2, b2, c2);//narevda stranite
//cout<<a2<<"; "<<b2<<"; "<<c2<<endl;
   k1=(double) a1/a2;

   k2=(double) b1/b2;
   k3=(double) c1/c2;

  if ( k1==k2 && k2==k3) {cout<<" Tezi triygylnici sa podobni.\n";}
   else {cout<<" Tezi triygylnici ne sa podobni.\n";}

  cout<<"She wywevdate li drugi danni <y/n>: ";cin>>ose;
} while (ose=='y');

system ("pause");
return 0;
}//kraj na programa podobni triygylnici 

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

пропорционални отсечки - подобни триъгълници

Нека имаме дължини на две отсечки, измерени с една и съща мерна единица за дължина. Отношение между две отсечки е отношение между техните дължини. Ще казваме, че четири отсечки a,b,c,d са пропорционални отсечки, ако е в сила равенството a/b = c/d. Два правоъгълни триъгълника са подобни ако техните катети са пропорционални отсечки - има еднакво отношение между катетите. Да разгледаме следната примерна задача: Имаме два правоъгълни триъгълника с катети a,b и c,d. Трябва да се състави програма извеждаща съобщение дали двата триъгълника са подобни.

пропорционални отсечки - подобни триъгълници

Алгоритъм:
Въвеждаме катети a,b,c,d.
Подреждаме в едно и също отношение дължините на катетите по двойки, така че a<b и c<d - чрез трета променлива.
Изчисляваме разликата a*d - b*c.
Ако разликата е <>0 триъгълниците не са подобни.

Следва примерна програма даваща решена задача за пропорционални отсечки - подобни триъгълници:
 #include <iostream>
 using namespace std;

 void srawni(int &a,int &b)
 { int i;
  if (a>b) {i=a;a=b;b=i;}
 }

 int proporciq (int a,int b,int c,int d)
 {   srawni(a,b);
     srawni(c,d);
     return (a*d-b*c);
 //a:b=(a+c)/(b+d) 
 }//podobni triygylnici 4-ta proporcionalna

 int main ()
 {int a,b,c,d;
  cout<<"Imame dwa prawoygylni triygylnika syotwetno s kateti a,,b; c,d.\n";
  cout<<"Da se systawi programa, chrez koqto se prowerqwa uslowie za \n";
  cout<<"podobni triygylnici - 4-ta proporcionalna.\n";
  cout<<"Primer: 3,4 ; 9,12 Izhod Da\n";
  cout<<"wywedete katet a: ";cin>>a;
  cout<<"wywedete katet b: ";cin>>b;
  cout<<"wywedete katet c: ";cin>>c;
  cout<<"wywedete katet d: ";cin>>d;
  if (proporciq (a, b, c, d))
  cout<<"Tezi prawoygylni triygylnici ne sa podobni\n";
  else cout<<"Tezi prawoygylni triygylnici sa podobni\n";
 system("pause");
 return 0;
 }//kraj programa podobni triygylnici

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

подобни правоъгълни триъгълници - коефициент на подобие

Имаме два подобни правоъгълни триъгълника с въведени дължини на хипотенузите им c1 и c2 - естествени числа от интервала [1..101]. Търсим коефициент на подобие на техните лица.

Алгоритъм:
Да припомним условия за подобие на правоъгълни триъгълници:
Всеки два правоъгълни триъгълника са подобни, ако:
остър ъгъл от единия триъгълник е равен на съответния остър ъгъл от другия правоъгълен триъгълник.
катетите на единия триъгълник са съответно пропорционални на катетите на другия правоъгълен триъгълник.
катет и хипотенуза от единия триъгълник са пропорционални на съответния катет и хипотенуза от другия правоъгълен триъгълник.
Тук ще използваме теорема на Талес за коефициент на подобие между лица на триъгълници.
c1*c1 / c2*c2 = S1 / S2

Следващата примерна програма дава решена задача за подобни правоъгълни триъгълници - коефициент на подобие:
 #include <iostream>
 using namespace std;

 #define Tales (c1*c1)/(c2*c2)
 double c1,c2; 
  
 int main ()
 { cout<<"Imame dwa podobni prawoygylni triygylnika s hipotenuzi c1 i c2\n";
  cout<<"Da se systawi programa, chrez koqto se izwevda koeficient na\n";
  cout<<"podobie mevdu licata na tezi dwa prawoygylni triygylnika. \n";
  cout<<"Primer: 5,10 Izhod 0.25\n";

  cout<<"wywedete hipotenuza 1: ";cin>>c1;
  cout<<"wywedete hipotenuza 2: ";cin>>c2;
  cout<<"koeficient na podobie: "<<Tales<<endl;
 system("pause");
 return 0;
 }//kraj programa podobni triygylnici

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

подобни равнобедрени триъгълници - бедро и основа

Имаме два равнобедрени триъгълника, за които са въведени сума и разлика между бедро и основа - m1, m2 - сума, n1,n2 - разлика всички те естествени числа от интервала [1..101]. Трябва да се провери дали двата равнобедрени триъгълници са подобни и да се изведат техните периметри.

Алгоритъм:
Да припомним условия за подобие на равнобедрени триъгълници:
ако ъглите срещу основите им са съответно равни;
ако ъгъл при основата на единия равнобедрен триъгълник е равен на ъгъла при основата на другия триъгълник;
ако съществува коефициент на подобие между основа и бедро на единия равнобедрен триъгълник и основа и бедро на другия триъгълник - правило на пропорционални отсечки.

Следващата примерна програма дава решена задача за подобни равнобедрени триъгълници - бедро и основа:
 #include <iostream>
 #include <cmath>
 using namespace std;
  
 void srawni(double &a,double &b)
 { double i;
   if (a>b) {i=a;a=b;b=i;}
 }//razmqna chrez treta promenliwa
  
 double proporciq (double m1,double n1,double m2,double n2)
 {double a, b, c, d;   
   n1=abs(n1);
  srawni(n1,m1);//suma > razlika
 //m=a+b; n=a-b => a=(m+n)/2 b=(m-n)/2
  a= (m1+n1)/2;
  b= (m1-n1)/2;  
  cout<<"Pyrwiqt triygylnik e s perimetyr: "<<2*a+b<< " ili "<<a+2*b<<endl;  
  n2=abs(n2);
  srawni(n2,m2);
  c= (m2+n2)/2;
  d= (m2-n2)/2;    
  cout<<"Wtiriqt triygylnik e s perimetyr: "<<2*c+d<< " ili "<<c+2*d<<endl;     
   return (a*d-b*c);
 }//podobni triygylnici 4-ta proporcionalna

 int main ()
 {double m1,n1,m2,n2;
  cout<<"Imame dwa rawnobedreni triygylnika s wywedeni suma i razlika\n";
  cout<<"mevdu bedro i osnowa - m1,m2 suma; n1,n2 - razlika.\n";
  cout<<"Da se systawi programa, chrez koqto se prowerqwa uslowie za \n";
  cout<<"podobni triygylnici - 4-ta proporcionalna, kakto i tehnite perimetri.\n";
  cout<<"Primer: 7,-1 ; 21,3 Izhod Da\n";
  cout<<"Za pyrwiq triygylnik \n";
  cout<<"wywedete suma na bedro i osnowa: ";cin>>m1;
  cout<<"wywedete razlika na bedro i osnowa: ";cin>>n1;
  cout<<"Za wtoriq triygylnik \n";
  cout<<"wywedete suma na bedro i osnowa: ";cin>>m2;
  cout<<"wywedete razlika na bedro i osnowa: ";cin>>n2;
  if (proporciq (m1, n1, m2, n2))
  cout<<"Tezi rawnobedreni triygylnici ne sa podobni\n";
  else cout<<"Tezi rawnobedreni triygylnici sa podobni\n";
 system("pause");
 return 0;
 }//kraj programa podobni triygylnici 

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

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

 
Размер на шрифта
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
Търсене в сайта: