إيجاد ارتفاع ومساحة المثلث متساوي الساقين

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث

المثلث متساوي الساقين هو مثلث يمتلك ضلعين متساويين في الطول وزاويتين داخليتين متساويتين تجاوران الضلعين المتساويين.

isosceles triangle.png

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) = √[(a^2)-(b^2/2)]

المساحة:

Area (A) = 1/2 × b × 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)); 
	} 
}

مصادر