Периметър - по въведени ъгъл, страна, диагонал

периметър на правоъгълен триъгълник – хипотенуза и радиус
периметър на правоъгълник – лице и съотношение на страни
лице и периметър на правоъгълник
периметър на успоредник – диагонал и остър ъгъл
периметър на равнобедрен трапец – бедро и средна основа
периметър на правоъгълен трапец по въведени основи и лице
периметър на правоъгълен трапец по въведени основи и остър ъгъл
периметър на вписан квадрат в сектор от окръжност
периметър на правилен многъгълник по въведена страна
периметър на правилен многъгълник по въведена апотема
многоъгълник - периметър

Нека имаме произволна непрекъсната и затворена равнинна крива. Под периметър ще разбираме общата дължина на нейните граници. Друго сходно понятие за периметър е обиколка - често срещано във връзка с окръжност. При ръбесто тяло периметър е сумата от дължината на всички ръбове - основни и околни. Най-често срещаното означение за периметър е главна латинска буква P. В някои алгоритми се среща и названието полупериметър p = P / 2. Пример: полупериметър на триъгълник p= (a+b+c)/2 При правилен многоъгълник с брой страни n и дължина на страната a, неговия периметър е: P = n * a При окръжност с радиус r - обиколка / периметър често се означава с L = 2*pi*r, където pi = 3.141592...

периметър на елипса (с приближение) L = pi*( 3*(a+b) - sqrt((3*a+b)*(a+3*b)) ) формула на Раманунджан; a,b - голяма и малка полуос
периметър (обиколка) на окръжност L = 2*pi*r
периметър на куб P = 6*a

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

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

Имаме въведени данни за брой страни и дължина на страна в правилен многъгълник. Търсим P - неговия периметър.

Алгоритъм
Въвеждат се:
n – брой страни в правилен многоъгълник;
b - дължина на страна в правилен многоъгълник
периметър на правилен многоъгълник P = n*b

Следващата примерна програма дава решена задача за изчисляване периметър на правилен многъгълник по въведенастрана

#include <iostream>
#include <cmath>
using namespace std;

double const pi=3.141592;
double n,b;
#define perimetyr n*b //izchislqwa perimetyr

int main()
{ 
 cout<<"Da se systawi programa, chrez koqto se wywevdat broj strani\n";
 cout<<"i dylvina na strana w prawilen mnogoygylnik i se izwevda\n";
 cout<<"negowiq perimetyr.\n"; 

 cout<<"Primer: n=6, b=5 Izhod P = 30\n";
 cout<<"Wywedete broj strani na tozi mnogoygylnik: ";cin>>n;
 cout<<"Wywedete dylviina na strana w mnogoygylnik: ";cin>>b;
 cout<<"perimetyr na mnogoygylnik: "<<perimetyr<<endl;

 system("pause");
 return 0; 
} // kraj programa perimetyr

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

периметър на правилен многъгълник по въведена апотема

Имаме въведени данни за брой страни и дължина на страна в правилен многъгълник. Търсим P - неговия периметър.

Алгоритъм
pi – число на Лудолф 3.141592...
Въвеждат се:
n – брой страни в правилен многоъгълник
a – дължина на апотема в правилен многоъгълник
Изчисляват се:
b - дължина на страна в правилен многоъгълник: b = a*tan(pi/n)
периметър на правилен многоъгълник P = n*b

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

double const pi=3.141592;
double n,a;
#define perimetyr n*a*tan(pi/n) //izchislqwa perimetyr 

int main()
{ cout<<"Da se systawi programa, chrez koqto se wywevdat broj strani\n";
 cout<<"i dylvina na apotema w prawilen mnogoygylnik i se izwevda\n";
 cout<<"negowiq perimetyr.\n"; 
 cout<<"Primer: n=4, b=10 Izhod P=40\n";
 cout<<"Wywedete broj strani na tozi mnogoygylnik: ";cin>>n;
 cout<<"Wywedete dylviina na apotema w mnogoygylnik: ";cin>>a;
 cout<<"perimetyr na mnogoygylnik: "<<perimetyr<<endl;

 system("pause");
 return 0;
} // kraj programa perimetyr

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


периметър на правоъгълен триъгълник – хипотенуза и радиус

Имаме правоъгълен триъгълник с въведени c - хипотенуза и r радиус на (вътрешно) вписана окръжност. Търсим P периметър на този триъгълник.

Алгоритъм:
Няколко зависимости за вписана окръжност в триъгълник:
радиус на (вътрешно) вписана окръжност r = 2*S/(a+b+c)
за правоъгълен триъгълник има и следната зависимост r = (a+b+c)/2
Въвеждат се: c - хипотенуза за този правоъгълен триъгълник
r радиус на (вътрешно) вписана окръжност.
Изчислява се:
периметър P = 2*(r+c)

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

double r,c;
#define perimetyr 2*(r+c) //izchislqwa perimetyr

int main()
{ 
 cout<<"Da se systawi programa, chrez koqto za prawoygylen triygylnik \n";
 cout<<"sa wywedeni  hipotenuza c i radius na wpisana okryvnost.\n";
 cout<<"Programata da izwevda P perimetyr na tozi triygylnik.\n";
 cout<<"Primer: r=3, c=15 Izhod P = 36\n";
 cout<<"Wywedete radius na wpisana okryvnost: ";cin>>r;
 cout<<"Wywedete hipotenuza w triygylnik: ";cin>>c;
 cout<<"perimetyr na mnogoygylnik: "<<perimetyr<<endl;

 system("pause");
 return 0;
} // kraj programa perimetyr

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


периметър на правоъгълник – лице и съотношение на страни

Имаме правоъгълник с въведени S – лице на правоъгълник и m,n съотношение между две негови прилежащи страни. Търсим периметър на този правоъгълник.

Алгоритъм
Ще означим страните на правоъгълника с a,b. Въвеждат се отношенията между страните в този правоъгълник m и n.
Така a = m*x, b=n*x
Изчислява се:
лице на правоъгълник S = a*b = m*n*x*x x= sqrt (S/(m*n)
периметър на правоъгълник P = 2*(a+b) = 2 * (m+n)* sqrt (S/(m*n)

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

double S,m,n;
#define perimetyr 2*(m+n)*sqrt(S/(m*n)) //izchislqwa perimetyr

int main()
{ 
 cout<<"Da se systawi programa, chrez koqto za prawoygylnik \n";
 cout<<"sa wywedeni S lice i m,n - syotnosheniq mevdu stranite mu.\n";
 cout<<"Programata da izwevda P perimetyr na tozi prawoygylnik.\n";
 cout<<"Primer: S=80, m=4,n=5  Izhod P = 36\n";
 cout<<"Wywedete lice na prawoygylnik: ";cin>>S;
 cout<<"Wywedete m: ";cin>>m;
 cout<<"Wywedete n: ";cin>>n;

 cout<<"perimetyr na prawoygylnik: "<<perimetyr<<endl;
 system("pause");
 return 0;
} // kraj programa perimetyr

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

периметър на успоредник – диагонал и остър ъгъл

Имаме успоредник, на който по-късия диагонал d е равен на една от страните му b. Въведен е А - острия ъгъл срещу този диагонал както и дължината на същия диагонал d. Търсим периметър този успoредник.

Алгоритъм:
Въвеждат се: А - острия ъгъл срещу този диагонал;
d - дължината на диагонал / страна
Разглеждаме равнобедрен триъгълник с бедра страна b и диагонал d. Острият ъгъл лежи срещу диагонала.
половината от дължината на основата в този триъгълник е m = d*cos(A)
периметър на успоредник P = 2*(d +2*d*cos(A);

Следващата примерна програма дава решена задача за изчисляване периметър на успоредник по въведени диагонал и срещулежащ остър ъгъл в същия успоредник:
#include <iostream>
#include <cmath>
using namespace std;
double pi=3.141592;
double yg,d;
#define perimetyr 2*d*(1 + 2*cos(yg*pi/180)) //izchislqwa perimetyr

int main()
{ 
 cout<<"Imame usprednik, za kojto  sa wywedeni d diagonal = strana b i ostyr \n";
 cout<<"ygyl yg. Da se systawi programa, chrez koqto se wywevdat b,yg. \n";
 cout<<"Programata da izwevda P perimetyr na tozi usporednik.\n";
 cout<<"Primer: d=10, yg=60  Izhod P = 40\n";
 cout<<"Wywedete diagonal d: ";cin>>d;
 cout<<"Wywedete ygyl: ";cin>>yg;
 cout<<"perimetyr na usporednik: "<<perimetyr<<endl;
 system("pause");
 return 0;
} // kraj programa perimetyr

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

периметър на равнобедрен трапец – бедро и средна основа

Имаме равнобедрен трапец, за който са въведени b – бедро и p – средна основа на този трапец. Търсим P – периметър на този равнобедрен трапец.

Алгоритъм:
Въвеждат се: b – бедро;
p – средна основа
Изчислява се:
P - периметър на трапец е сума от дължините на двете основи и двете бедра.
По условие е дадена средната основа, която е полусума от двете основи.
Трапецът е равнобедрен.
Така формулата за периметър на равнобедрен трапец P = 2*( b + p)

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

double p,b;
#define perimetyr 2*(p + b) //izchislqwa perimetyr

int main()
{ 
 cout<<"Imame rawnobedren trapec, za kojto sa wywedeni p sredna osnowa i\n";
 cout<<"b - bedro. Da se systawi programa, chrez koqto se wywevdat p i b. \n";
 cout<<"Programata da izwevda P perimetyr na tozi trapec.\n";

 cout<<"Primer: p=30, b=20  Izhod P = 100\n";
 cout<<"Wywedete sredna osnowa p: ";cin>>p;
 cout<<"Wywedete bedro: ";cin>>b;
 cout<<" perimetyr na trapec: "<<perimetyr<<endl;
 system("pause");
 return 0;
} // kraj programa perimetyr

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

периметър на вписан квадрат в сектор от окръжност

Имаме окръжност с център O и радиус R. Върху нейният диаметър е построен най-големия възможен вписан квадрат с върхове ABCD, където върхове A и B лежат върху диаметъра, а C и D върху окръжността. Върху квадрат ABCD е вписан най-големия възможен друг квадрат EFGH, където върхове му E и F лежат върху CD – страна на първия квадрат, а върхове H и G лежат върху окръжността.
Търсим периметър на квадрат EFGH.

Алгоритъм
За да се построят възможно най-големите квадрати, то частта от симетралата на двойките им успоредни страни е и радис на описаната окръжност. Така средата на страна AB (големия квадрат) е и център на описаната окръжност. Точка P среда на CD и едновременно среда на EF, точка Q среда на страна GH в малкия квадрат.
Ще отбележим с a – дължина на страната на квадрат ABCD, а с b - дължина на страната на квадрат EFGH
Разглеждаме триъгълник OAD – правоъгълен (общ ъгъл с големия квадрат), с хипотенуза OD = R.
Страна на големия квадрат AD=2*AO.
От уравнението (Питагор) OD*OD = OP*OP + PD*PD
Заместваме R*R = a*a +a*a/4
Страна на големия квадрат a = 2*R/sqrt(5)

Разглеждаме триъгълник OQH – правоъгълен (общ ъгъл с малкия квадрат), с хипотенуза OH = R.
Страната HQ е половината от страната на малкия квадрат – HQ = b/2.
Страната OQ = OP + PQ = a+b – сума от страните на малкия и големия квадрат.
От квадратното уравнение (Питагор) OH*OH = OQ*OQ + HQ*HQ
Заместваме R*R = (a+b)*(a+b) + b*b/4

b*b + 4*(a*a +2*a*b +b*b) - 4*R*R = 0
5*b*b +8*a*b + 4*(a*a - R*R) = 0
A*x*x +B*x +C=0
A = 5; B = 8*a; C = 4*(a*a - R*R)
Вземаме само положителната стойност на корена

b = ( -B + sqrt(B*B – 4*A*C))/ (2*A)
периметър по-малкия квадрат P = 4*b

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

double perimetyr (double R)
{double P,a,b,A,B,C;
a = 2*R/sqrt(5); //strana na golemiq kwadrat
A = 5; 
B = 8*a; 
C = 4*(a*a - R*R);
b = ( -B + sqrt(B*B - 4*A*C))/ (2*A);//strana na malkiq kwadrat
//cout<< ( -B - sqrt(B*B - 4*A*C))/ (2*A)<<endl;
P = 4*b;//perimetyr na kwadrat
return P;
}// perimetyr na malkiq kwadrat

int main ()
{ double R,P;
cout<<"Imame okryvnost s radius R. Wyrhu nein diametyr e postroen\n";
cout<<"naj-golemiq wyzmoven opisan kwadrat ABCD, a wyrhu  nego\n";
cout<<"e postroen wtori wyzmovno naj-golqm opisan kwadrat EFGH.\n";
cout<<"Tyrsim lice S na po-malkiq kwadrat.\n";
cout<<"Primer 10 Izhod: 4.16857 \n";

cout<<"Wywedete radius: ";cin>>R;
P = perimetyr (R);
cout<<"Perimetyr na po-malkiq kwadrat: "<<P<<endl;
system("pause");
return 0;
}// kraj programa perimetyr

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

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

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