19-12-16, 10:15 AM
19-12-16, 10:29 AM
السلام عليكم
ان شاء الله هذه المرة يكون البرنامج صحيح
ان شاء الله هذه المرة يكون البرنامج صحيح
19-12-16, 11:20 AM
(19-12-16, 10:15 AM)عبدالله الصافي كتب : [ -> ]صراحة بحثت كثيرا عن قانون الرياضيات
وهذا كان اجتهادي
واذا كان الحل مقبول ارسل المشروع
توجد نسبة خطأ صغيرة
عند التجريب على
R: 1001
A: -500.5, 866.891
B: 707.813, 707.813
يعطي 1311.57 المفروض 1310.31
وكذلك لبعض القيم الكبيرة التي جربتها / الفرق يظهر في القيم الكبيرة
ربما قيمة PI ليست دقيقة ؟
19-12-16, 11:22 AM
(19-12-16, 10:29 AM)samira20 كتب : [ -> ]السلام عليكم
ان شاء الله هذه المرة يكون البرنامج صحيح
نعم هذه المرة صحيح 100%
الاخت samira20 حصلت على +4 نقاط
شكرا لك
19-12-16, 11:22 AM
هذا بعد التعديل
19-12-16, 11:27 AM
(19-12-16, 11:22 AM)عبدالله الصافي كتب : [ -> ]هذا بعد التعديل
نعم الان ادق بشكل كبير

الاخ عبدالله الصافي حصل على +2 نقاط
شكرا لك
شكرا لك
19-12-16, 12:26 PM
انتهت الجولة الاولى
وترتيب المتسابقين هو :
8 نقاط لـ Fantastico
6 نقاط لـ noway
4 نقاط لـ samira20
2 نقاط لـ عبدالله الصافي
تنفيذ الخوارزمية
هناك بالطبع عدة طرق لتنفيذ الخوارزمية ، وان لم اكن اعرف غير هذه الطريقة والتي اعتبرها اقصر طريق لإيجاد المطلوب
الطريقة هي باستعمال Tan Inverse ، فكما نعلم ان مقلوب الTan يرجع لنا الزاوية بين نقطتين على نفس الخط ، وهي دالة من اهم الدوال في عالم البرمجة فتستعمل كثيرا جدا في عالم برمجة الGraphics او الالعاب (مثل العاب القذائف والكرة) .
فنقوم بإيجاد الزوايا لكل نقطة على حدا :
نقطة A :
نقطة B :
^^ هنا ظهرت الكارثة
لايمكننا ايجاد زاوية النقطة B
لان نعلم رياضيا انه لا يمكن قسمة عدد على صفر .اذن مالحال ؟
لهذه المصيبة ، ابتكر المطورون دالة بديلة باسم Math.Atan2 وهي دالة موجودة في جميع لغات البرمجة وفي كثير من الاحيان تستخدم بدل Math.Atan التقليدية وذلك بسبب المشكلة المذكورة مسبقا ، وatan2 أخذ 2 بارميتار هما y و x وذلك لتقوم هي بالتكفل في موضوع قسمة العددين وان كان المجاور صفر ، فلا يوجد لديها مشكلة
ولكن atan2 على عكس atan التقليدية ، تقوم بجلب الزاوية دائما من الربع الايمن للدائرة ، كما هو موضح :
اذن نقوم بجلب الزاوية الخاصة بالنقطة A ثم نقوم بجلب الزاوية للنقطة B ثم نوجد الفرق ، وبتأكيد تعرفون جميعا ان ايجاد الفرق يعني انقاص احد العددين من الاخر ، فننقص B من A وبالتالي تظهر لنا الزاوية بين النقطتين A و B

والناتج التي ترجعه الدالة Math.Atan2 تكون بالـ Radian بين 180 و -180
وقبل ان تعوض في المعادلة الشهيرة لإيجاد طول القوس : S = r θ
يجب عليك التخلص من السالب التي ترجعه تلك الدالة ولكن يفضل تحويل الـ Radian الى Degree ثم التخلص من السالب فذلك اسهل ..
وبالتالي الكود النهائي :-
تحميل المشروع : https://drive.google.com/open?id=0B7P09J...zByWm9VOU0
تم
20-12-16, 06:58 AM
جزاكم الله خيرا
كيف ارسل السورس الى المشرف ؟
كيف ارسل السورس الى المشرف ؟
20-12-16, 07:18 AM
(20-12-16, 06:58 AM)samira20 كتب : [ -> ]جزاكم الله خيرا
كيف ارسل السورس الى المشرف ؟
ادخل على هذا الرابط أكتب لـ abulayth رسالة خاصة .
اكتبي العنوان والرسالة -يجب ان تحتوي على رابط السورس- ثم (ارسال)

20-12-16, 01:05 PM
السلام عليكم ورحمة الله وبركاته
الف الف مبروك للفائزين وحظا اوفر لمن لم يحالفهم الحظ في الجولات القادمة
اتمنى من جميع المشاركين الراغبين في اتمام المسابقة والذين توصلوا الى حلول صحيحة ارفاق هذه الحلول هنا لكي يتسنى لهم المشاركة في كامل المسابقة لان من شروط المسابقة ان يقوم المتسابق بحل 4 اسئلة او اكثر بشكل صحيح
اتمنى لكم التوفيق
الف الف مبروك للفائزين وحظا اوفر لمن لم يحالفهم الحظ في الجولات القادمة
اتمنى من جميع المشاركين الراغبين في اتمام المسابقة والذين توصلوا الى حلول صحيحة ارفاق هذه الحلول هنا لكي يتسنى لهم المشاركة في كامل المسابقة لان من شروط المسابقة ان يقوم المتسابق بحل 4 اسئلة او اكثر بشكل صحيح
اتمنى لكم التوفيق