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

من موسوعة حسوب
< Algorithms
مراجعة 13:54، 26 أكتوبر 2019 بواسطة Mohammed Taher (نقاش | مساهمات)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)
اذهب إلى التنقل اذهب إلى البحث

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

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)); 
	} 
}

مصادر