إيجاد ارتفاع ومساحة المثلث متساوي الساقين
المثلث متساوي الساقين هو مثلث يمتلك ضلعين متساويين في الطول وزاويتين داخليتين متساويتين تجاوران الضلعين المتساويين.
a: قياس الضلعين المتساويين في المثلث متساوي الساقين
b: قاعدة المثلث متساوي الساقين
h: ارتفاع المثلث متساوي الساقين.
مثال:
Input: a = 2, b = 3
Output: altitude = 1.32, area = 1.98
Input: a = 5, b = 6
Output: altitude = 4, area = 12
مبدأ عمل الخوارزمية
يمكن استخدام العلاقات الرياضيات التالية لحساب ارتفاع المثلث متساوي الساقين ومساحته:
$$ Altitude (h)= \sqrt{a^{2}- \frac{b^{2}}{2}} $$
$$ Area (A)= \frac{1}{2} \times b \times h $$
تنفيذ الخوارزمية
تعرض الأمثلة التالية طريقة تنفيذ الخوارزمية في عدد من لغات البرمجة:
- C++:
#include <bits/stdc++.h>
using namespace std;
// تحسب الدالة ارتفاع المثلث متساوي الساقين
float altitude(float a, float b)
{
return sqrt(pow(a, 2) - (pow(b, 2) / 4));
}
// تحسب الدالة مساحة المثلث متساوي الساقين
float area(float b, float h)
{
return (1 * b * h) / 2;
}
// اختبار الدالتين السابقتين
int main()
{
float a = 2, b = 3;
float h = altitude(a, b);
cout << setprecision(3);
cout << "Altitude= " << h << ", ";
cout << "Area= " << area(b, h);
return 0;
}
- بايثون:
import math
# تحسب الدالة ارتفاع المثلث متساوي الساقين
def altitude(a, b):
return math.sqrt(pow(a, 2) -
(pow(b, 2) / 4))
# تحسب الدالة مساحة المثلث متساوي الساقين
def area(b, h):
return (1 * b * h) / 2
# اختبار الدالتين السابقتين
if __name__ == "__main__":
a = 2
b = 3
h = altitude(a, b)
print("Altitude = " +
str(round(h, 3)), end = ", ")
print("Area = "+
str(round(area(b, h), 3)))
- جافا:
import java.io.*;
class GFG {
// تحسب الدالة ارتفاع المثلث امتساوي الساقين
static float altitude(float a, float b)
{
return (float)(Math.sqrt(Math.pow(a, 2) - (Math.pow(b, 2) / 4)));
}
// تحسب الدالة مساحة المثلث متساوي الساقين
static float area(float b, float h)
{
return (1 * b * h) / 2;
}
// اختبار الدالتين السابقتين
public static void main (String[] args) {
float a = 2, b = 3;
float h = altitude(a, b);
System.out.print( "Altitude= " + h + ", ");
System.out.print( "Area= " + area(b, h));
}
}
مصادر
- صفحة Find the altitude and area of an isosceles triangle في توثيق الخوارزميات في موقع GeeksforGeeks.