- ъглополовяща-бисектриса
- Криви
- Разстояние между две точки
- ъгъл градуси радиан
- две окръжности
- диаметър на окръжност
- периметър
- височина, перпендикуляр
- триъгълник - Талес
- триъгълник - Херон
- триъгълник - Питагор
- правоъгълен триъгълник
- успоредник
- правоъгълник
- ромб
- трапец
- правоъгълен трапец
- многоъгълник
- дъга - хорда, ъгъл и радиус
- окръжност
- цилиндър
- конус
- призма
- пирамида
Конус - прав, кръгов, пресечен, повърхнина и обем
повърхнина и обем на прав кръгов конус
повърхнина на пресечен конус
ротационен конус и тъпоъгълен триъгълник
ротационен конус и правоъгълен триъгълник
пресечен конус - сечение равнобедрен трапец
пресечен конус - сечение правоъгълен трапец
Повърхнината на конус включва равнинна основа и конична околна повърхнина.
Последната е формирана от движението на права, наречена образувателна, около друга права, наречена ос на конуса.
Ако оста на един кръгов конус е перпендикулярна на основата му, то този конус е прав кръгов конус, в противен случай е наклонен конус.
Ос на конус е отсечката, свързваща върха на конуса и центъра на окръжността.
Осно сечение на кръгов конус е сечение на конуса с равнина минаваща през оста му.
Осното сечение на прав кръгов конус е равнобедрен триъгълник.
Прав кръгов конус, наричан също и ротационен конус, може да се получи при завъртането на правоъгълен триъгълник около един от катетите му.
Ако завъртим същия правоъгълен триъгълник около хипотенузата ще се получи фигура съставена от два кръгови конуси с долепени основи. Образователните ще са катетите, радиус на основата – височината към хипотенузата, а общата височина на двата конуса е дължината хипотенузата.
Пресечен кръгов конус е част от кръгов конус, заключена между две негови успоредни сечения, наречени основи.
Пресечен конус може да се получи с ротация на равнобедрен трапец.
Осно сечение на прав кръгов пресечен конус е равнобедрен трапец.
лице на основата на конус: π * r * r - аналогично с лице на кръг;
лице на околна повърхнина на конус: S = π *r* l;
лице на пълна повърхнина: S1 = π* r* (r + l);.
обем на конус: V = π* r*r* h/3.
повърхнина и обем на прав кръгов конус
Имаме въведени данни за прав кръгов конус - радиус на основата r и височина на конуса h. Търсим околна и пълна повърхнина, както и обем на прав кръгов конус.
Алгоритъм
Въвеждат се радиус r и височина h на прав кръгов конус.
От въведените радиус и височина на конуса се изчислява образуваща L по теоремата на Питагор.
образуваща на конус L = sqrt(r*r +h*h);
околна повърхнина на конус Sok = pi*r*L;
пълна повърхнина на конус Sp =pi*r*(r+L)
#include <iostream>
#include <cmath>
using namespace std;
double const pi=3.141592;
int main()
{ double r,h,L,Sp,Sok,V;
char ose;
cout<<"Imame wywedeni radius r i wisochina h za praw krygow konus - realni\n";
cout<<"chilsa ot interwala [1..101]. Tyrsim okolnata powyrhnina Sok,\n";
cout<<"pylnata powyrhnina Sp i obem na konus V.\n";
cout<<"Primer: r=3, h=4 Izhod Sok=47.1239 , Sp =75.3982 , V=37.6991 \n";
do {
cout<<"Wywedete radius na konus : ";cin>>r;
cout<<"Wywedete wisochina na konus : ";cin>>h;
L = sqrt(r*r +h*h);//obrazuwatelna na konus
cout<<"obrazuwatelna na konus L = "<<L<<endl;
Sok = pi*r*L;//okolna powyrhnina na konus
Sp =pi*r*(r+L);//pylna powyhnina na konus
V= (pi*r*r*h)/3;//obem na konus
cout<<" okolna powyrhnina na konus Sok = "<<Sok<<endl;
cout<<" pylna powyrhnina na konus Sp = "<<Sp<<endl;
cout<<" obem na konus V = "<<V<<endl;
cout<<"She wywevdate li drugi danni <y/n>: ";cin>>ose;
} while (ose=='y');
system ("pause");
return 0;
}//kraj na programa konus
повърхнина на пресечен конус
Имаме прав кръгов пресечен конус, за който са въведени следните данни:
h - височина на конус;
m - разлика между радиусите на двете основи;
P - периметър на осното сечение на разглеждания пресечен конус.
Търсим пълна повърхнина на този пресечен конус.
Алгоритъм
Осно сечение на кръгов конус е равнина през оста на конуса - права свързваща върха на конуса и центъра на основата.
В разглеждания случай осното сечение представлява равнобедрен трапец с разлика между основите 2*m (диаметъра на основите на конуса) и височина h.
В този трапец вече разглеждаме правоъгълен триъгълник със страни: хипотенуза - образувателна L; катет - височина h, катет - разлика между половините на основите m.
Изчисляваме:
L по формулата на Питагор.
радиус на малката основа на конус r1= (P - 2*L - 2*m)/4;
радиус на голямата основа на конус r2 = r1 + m;
Пълна повърхнина на конус: Sp=pi *( L*(r1+r2) + r1*r1 + r2*r2);
#include <iostream>
#include <cmath>
using namespace std;
double const pi=3.141592;
int main()
{ double h,m,L, r1,r2, P,Sp;
cout<<"Imate presechen konus za kojto sa wywedeni: wisochina h, razlika\n";
cout<<"mevdu radiusite na dwete osnowi m, kakto i permetyr na osnoto\n";
cout<<"sechenie P. Tyrsim pylna powyrhnina na konus Sp.\n";
cout<<"Primer: P=52; h=8; m=6 Izhod: S=961.327 \n";
cout<<"Wywedete perimetyr na osnoto secheniq: ";cin>>P;
cout<<"Wywedete wisochina na konus : ";cin>>h;
cout<<"Wywedete razlikata mevdu radiusite: ";cin>>m;
L = sqrt(h*h + m*m);//po formula na Pitagor
cout<<" obrazuwatelna na konus : "<<L<<endl;
r1 = (P - 2*L - 2*m)/4;//po-malkiq radius na konus
cout<<"radius na malkata osnowa: "<<r1<<endl;
r2 = r1 + m;//po-golemiq radius na konus
cout<<"radius na golqmata osnowa: "<<r2<<endl;
Sp=pi *( L*(r1+r2) + r1*r1 + r2*r2);//okolna powyrhnina + 2-te osnowi
cout<<"pylna powyrhnina na presechen konus : "<<Sp<<endl;
system ("pause");
return 0;
}//kraj na programa konus
ротационен конус и тъпоъгълен триъгълник
Имаме тъпоъгълен триъгълник, за който са въведени дължини на страните a,b,c. Триъгълникът е ротиран с ос на симетрия най-късата му страна. Да се изчисли обем и повърхнина на полученото тяло - ротационен конус, състоящо се от два конуса.
Алгоритъм:
Полученото тяло може да се разгледа като съставено от два отделни конуса ( съставен конус ),
като от големия конус с образувателна най-дългата страна е изваден обема на празня конус с образувателна средната страна.
Разликата във височините на двата конуса е най-късата страна.
Подреждаме страните във възходящ ред a<b<c.
Изчисляваме лицето на триъгълника по формулата на Херон
Полупериметър p=(a+b+c)/2
Лице по Херон St= sqrt(p*(p-a)*(p-b)*(p-c))
Изчисляваме височината към най-късата страна. Това е и радиус на основата и за двата разглеждани конуса ha=2*St/a;
Разглеждаме правоъгълен триъгълник с хипотенуза c и катет ha.
Изчисляваме продължението на страната a до петата на хипотенузата ha по формулата на Питагор
височина на целия конус h1 = sqrt(c*c - ha*ha)
височина на празния конус h2= h1-a
обем на целия конус V1=pi*r*r*h1/3
обем на празния конус V2=pi*r*r*h2/3
обем на съставния конус V=V1-V2
околна повърхнина на целия конус S1=pi*ha*h1
околна повърхнина на празния конус S2=pi*ha*h2
околна повърхнина на съставния конус S=S1+S2
#include <iostream>
#include <cmath>
using namespace std;
double const pi=3.1415925;
double Heron( double mas[])
{double p,S;
int fl=1;
do
{ cout<<"Wywedete strani ot typoygylen triygylnik\n";
cout<<"Wywedete strana a: ";cin>>mas[0];
cout<<"Wywedete strana b: ";cin>>mas[1];
cout<<"Wywedete strana c: ";cin>>mas[2];
if (mas[0]>mas[1]) {mas[3]=mas[0];mas[0]=mas[1];mas[1]=mas[3];}
if (mas[1]>mas[2]) {mas[3]=mas[1];mas[1]=mas[2];mas[2]=mas[3];}
if (mas[0]>mas[1]) {mas[3]=mas[0];mas[0]=mas[1];mas[1]=mas[3];}
if ( ( mas[2]*mas[2] > mas[0]*mas[0] + mas[1]*mas[1] ) && ( mas[2] < mas[0]+ mas[1] ) )
{ fl = 0;
//stranite podredeni wyw wyzhodqsh red
p=(mas[0]+mas[1]+mas[2])/2;//poluperimetyr
S=sqrt(p*(p-mas[0])*(p-mas[1])*(p-mas[2]));//lice na triygylnik po Heron
}//if
} while (fl);
return S;
}// Heron
void cone (double mas[])
{double St,ha,h1,h2,V,V1,V2,S,S1,S2;
St= Heron (mas);
cout<<"Lice po Heron: "<<St<<endl;
ha=2*St/mas[0];//wisochina kym naj-kysata strana
cout<<"Radius na osnowata ha: "<<ha<<endl;
h1 = sqrt(mas[2]*mas[2] - ha*ha);//wisochina na celiq konus
cout<<"Wisochina na celiq konus : "<<h1<<endl;
h2= h1-mas[0];//wisochna na prazniq konus
V1=pi*mas[2]*mas[2]*h1/3; //obem na celiq konus - obrazuwatelna naj-golqmata
V2=pi*mas[1]*mas[1]*h2/3; //obem na prazniq konus - obrazuwatelna srednata
S1=pi*ha*mas[2]; //okolna pow na celiq konus pi*r*L
S2=pi*ha*mas[1]; //okolna pow na prazniq konus
V=V1-V2; S=S1+S2; //obemite se izwavdat licata se sybirat
cout<<" pylna powyrhnina na systawniq konus S= "<<S<<endl;
cout<<" obem na systawniq konus V= "<<V<<endl;
} // cone konus
int main ()
{ double mas[4];
cout<<"Imate wywedeni 3 strani na typoygylen triygylnik a,b,c.\n";
cout<<"Tozi triygylnik e rotiran okolo naj-kysata strana.\n";
cout<<"Da se izchisli pylna powyrhnina i obem na rotacionnoto tqlo - konus.\n";
cout<<"Primer: 4,4,6 Izhod S=124.678; V=161.268 \n";
cone (mas);
system("pause") ;
return 0;
}//kraj na programa konus
ротационен конус и правоъгълен триъгълник
Имаме правоъгълен триъгълник, за който са въведени дължини на катетите a,b. Триъгълникът е ротиран с ос на симетрия хипотенузата си. Да се изчисли повърхнина и обем на полученото тяло - ротационен конус.
Алгоритъм
Получават се два отделни конуса с долепени равни основи. Диаметърът на основата и за двата конуса е височината към хипотенузата.Обща височина на двата конуса и едновременно хипотенуза в правоъгълния триъгълник: c = sqrt(a*a + b*b).
лице на триъгълник S=a*b/2
радиус на основата на конус hc = 2*S/c;
Изчисляваме поотделно височините на двата конуса от следствията на Питагоровата теорема - квадратът на катета a е равен на произведението от проекцията му върху хипотенузата m и хипотенузата c a*a=h1*c.
височина на конус с образувателна a: h1= a*a/c
височина на конус с образувателна b: h2= b*b/c
околна повърхнина на съставния конус: S = pi * hc * ( a + b)
обем на съставния конус: V = pi*hc*hc*(h1+h2) / 3
Следващата примерна програма съдържа решена задача за ротационен конус:
#include <iostream>
#include <cmath>
using namespace std;
double const pi=3.141592;
int main ()
{ double a,b,c,hc,h1,h2, S,V;
cout<<"Imate prawoygylen triygylnk s dylvina na katetite a,b.\n";
cout<<"Triygylnikyt e rotiran s os na simetriq hipotenuzata si.\n";
cout<<"Izchislete okolna powyrhnina i obem na poluceniq systawen konus.\n";
cout<<"Primer: a=3; b=4; Izhod S=52.7787; V=30.1593 \n";
cout<<"Wywedete a: ";cin>>a;
cout<<"Wywedete b: ";cin>>b;
c= sqrt (a*a+b*b);//dylvina na hipotenuzata
S=a*b/2; //lice na tiygylnik
hc = 2*S/c;// wisochina kym hipotenuzata i radius na 2-ta konusa
h1= a*a/c; // wisochina na konus s obrazuwatelna katet a
h2= b*b/c; // wisochina na konus s obrazuwatelna katet b
cout<<"c: "<<c<<" h1: "<<h1<<" h2: "<<h2<<endl;
S = pi * hc * ( a + b);// powyrhnina na systawniq sdwoen konus
cout<<" powyrhnina na sysytawniq konus : "<<S<<endl;
V = pi*hc*hc*(h1+h2) / 3;
cout<<" obem na systawniq konus : "<<V<<endl;
system ("pause");
return 0;
}//kraj na programa konus
пресечен конус - сечение равнобедрен трапец
Имаме пресечен конус със сечение равнобедрен трапец, за който са въведени: b - бедро на трапец; f - средно аритметично от двете основи на трапеца; g - средно геометрично от двете основи на трапеца. Търсим околна и пълна повърхнина на този пресечен конус.
Алгоритъм:
бедрото на равнобедрения трапец b е образувателна на този конус
Нека означим дължината на двете основи на трапеца с a=2*r1, b=2*r2.
f = (a+b)/2 = (2*r1+2*r2)/2 така r1+r2=f
f*f = r1*r1 +2*r1*r2 + r2*r2
g = sqrt(a*b) = sqrt(2*r1*2*r2)
g*g = 4*r1*r2
Формулите за повърхнина и обем на пресечен кръгов конус са съответно:
околна повърхнина на конус :
Sok = π * (r1+ r2) * b = 2 * pi * f * b;
пълна повърхнина на конус :
Sp = Sok + π * (r1*r1 + r2*r2) = Sok + π * (f*f – 0.5*g*g) ;
Следващата примерна програма съдържа решена задача за пресечен конус :
#include <iostream>
#include <cmath>
using namespace std;
double const pi=3.141592;
int main()
{ double b,f,g,Sok,Sp;
cout<<"Imame presechen konus, chieto osno sechenie e rawnobedren trapec.\n";
cout<<"Za tozi trapec sa wywedeni b - dylvina na bedro;\n";
cout<<"sredno aritemetichno f i sredno geometrichno g na dwete mu osnowi.\n";
cout<<"Tyrsim okolna Sok i pulna powyrhnina Sp na presecheniq konus.\n";
cout<<"Primer b=10, f=10; g=8 Izhod Sok=628.318 Sp=841.947\n";
cout<<"Wywedete dylvina na bedroto na trapeca: ";cin>>b;
cout<<"Wywedete sredno aritmetichnoto na dwete osnowi: ";cin>>f;
cout<<"Wywedete sredno geomrtichnoto na dwete osnowi: ";cin>>g;
cout<<"Perimetyr na trapec: "<<2*b+2*f<<endl;
Sok = 2*pi*f*b;
cout<<" okolna powyrhnina na presechen konus : "<<Sok<<endl;
Sp = Sok + pi*(f*f - 0.5*g*g);
cout<<" pylna powyrhnina na presechen konus : "<<Sp<<endl;
system("pause");
return 0;
}//kraj na programa presechen konus
пресечен конус - сечение правоъгълен трапец
Имаме правоъгълен трапец с въведени: дължина на двете основи - r1, r2 и височина - бедрото, сключващо прав ъгъл с двете основи. Избрана е ос на ротация правоъгълното бедро на трапеца. Полученото ново ротационно тяло е пресечен конус. Търсим: околна повърхнина, пълна повърхнина и обем на този пречен конус.
Алгоритъм:
Изчисляваме разликата в дължините на двете основи на конуса a_raz= abs (r1-r2);
Използваме торема на Питагор за изчисляване L образувателна на конус L = sqrt (h*h + a_raz*a_raz);
Изчисляваме околна повърхнина на пресечен конус Sok = pi * L * (r1 + r2);
Изчисляваме пълна повърхнина на пресечен конус Sp = pi * ( L * (r1+r2) + r1 * r1 + r2 * r2);
Изчисляваме обем на пресечен конус V = pi * h *(r1 * r1 + r2 * r2 + r1 * r2) / 3
Следващата програма съдържа решена задача за пресечен конус:
#include <iostream>
#include <cmath>
using namespace std;
double const pi=3.141592;
void cone(double r1,double r2, double h)
{ double a_sr,a_raz,L,Sok,Sp,V;
a_raz = abs (r1-r2);// absoliutna stojnost ot razlikata na 2-te osnowi
L = sqrt (h*h + a_raz*a_raz);// obrazuwatelna na konus po Pitagor
Sok = pi * L*(r1+r2);// okolna powyrhnina na presechen konus
Sp = pi *( L*(r1+r2) + r1*r1 + r2*r2);// pylna powyrhnina na presechen konus
V = pi* h *(r1*r1 + r2*r2 + r1*r2)/3;// obem na presechen konus
cout<<" obrazuwatelna na konus "<<L<<endl;
cout<<" okolna powyrhnina na presechen konus "<<Sok<<endl;
cout<<" pylna powyrhnina na presechen konus "<<Sp<<endl;
cout<<" obem na presechen konus "<<V<<endl;
}// presechen konus
int main()
{double r1,r2,h;
cout<<"Imame prawoygylen trapec s wywedeni osnowi r1,r2 i wisochina h.\n";
cout<<"Tozi trapec e zawyrtqn s os na simetriq wisochinata. Nowoto \n";
cout<<"tqlo e presechen konus za kojto tyrsim: Sok okolna powyrhnina,\n";
cout<<"Sp - pylna powyrhnina i V - obem na konus.\n";
cout<<"Primer: r1=10; r2=7; h=4 Izhod: Sok=267.035, Sp=735.133, V=917.345 \n";
cout<<"Wywedete dylvina na osnowa r1: ";cin>>r1;
cout<<"Wywedete dylvina na osnowa r2: ";cin>>r2;
cout<<"Wywedete wisochina h: ";cin>>h;
cone(r1, r2, h);
system("pause");
return 0;
}//kraj na programa presechen konus
Обяснени и решени задачи с подобни алгоритми, функции и служебни думи са разгледани в страницата с електронни уроци по информатика - програмиране.
Илюстриране работата на характерни алгоритми можете да намерите в предоставените електронни помагала съдържащи решени задачи, примери.