اذهب الي المحتوي
أوفيسنا

الردود الموصى بها

قام بنشر (معدل)

برفقه كود لحساب مساحة مثلث مختلف الاضلاع هناك خطاء في الكود بأمل شرح سبب الخطاء وكيف تتم معالجته

Function aretrangel(hs As Currency, l As Currency, w As Currency, h As Currency) As Currency
aretrangel = SQRT((hs * (hs - l) * (hs - w) * (hs - h)))
End Function

 

 
تم تعديل بواسطه fady65
قام بنشر

مرحبا...

المعادلة المستعملة في الكود لا أعرفها... أما التي أعرفها واكتشفتها مؤخرا هي معادلة "هيرون" والتي صيغتها :

=SQRT(s*(s-a)*(s-b)*(s-c))
حيث: a، b، c هي أطوال أضلاع المثلث
 و s = (a + b + c)/2

وليس لي جواب آخر....

  • Like 3
قام بنشر

السلام عليكم

مرحيا يك اخ fadi

شكرا لك اخ بن عليه علي هذه المعلومة

وللتوضيح :

معادلة هيرون تحسب مساحة اي مثلث بمعلومية اطوال اضلاعه الثلاثة فقط

مهما كانت زوايا المثلث وهذه الطريقة مفيدة جدا للناس الذين ما يعرفون الزوايا وقياساتها

 

مثال ذلك اذا اردنا معرفة مساحة ارض زراعية شكلها غير منتظم فمن الصعب حساب الزوايا بين اي ضلعين فنلجأ لمعادلة هيرون

 

  • Like 1
قام بنشر

أحسنت اخي بن عليه واخي أبو عيد هي فعلا معادلة هيرون والقصد فيها ايجاد داله لحساب مساحات الارضي ذات الاشكل غير منتظمه

اكرر شكري للجميع وأرفق لكم الكود حتى تعم الفائدة

Function aretrangel(A As Currency, B As Currency, C As Currency) As Currency
S = (A + B + C) / 2
aretrangel = Math.Sqr(S * (S - A) * (S - B) * (S - C))

 

End Function

 

  • أفضل إجابة
قام بنشر

السلام عليكم ورحمة الله

 للتوضيح فقط، الدالة Sqr لم تقبل الحساب من ناتج الصيغة وتظهر خطأ لهذا قمت بوضع ناتج الصيغة في متغير جديد T (مثلا) ثم تطبيق الدالة Sqr على القيمة T ويكون الكود بالتالي على الشكل:

 

Function aretrangel(A As Currency, B As Currency, C As Currency) As Currency
S = (A + B + C) / 2
T = S * (S - A) * (S - B) * (S - C)
aretrangel = Math.Sqr(T)
End Function

أو هكذا (دون استعمال الدالة Sqr):

Function aretrangel(A As Currency, B As Currency, C As Currency) As Currency
S = (A + B + C) / 2
aretrangel = (S * (S - A) * (S - B) * (S - C)) ^ 0.5
End Function

 

  • Like 2
قام بنشر

أخي بن علية حاجي الدالة سليمة وتقبل وسأرفق لك ملف الدالهحساب مثلثات_1.xlsx

Function ARETRANGEL(A As Currency, B As Currency, C As Currency) As Currency
S = (A + B + C) / 2
ARETRANGEL = Math.Sqr(S * (S - A) * (S - B) * (S - C))

End Function
 

  • Like 1

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information