نريد تفسيرا رياضيا وبرمجيا لناتج أحد التمارين التي تقوم بجمع الكسور

لماذا الناتج أصبح يساوي 1.0 ؟

علما بأن الكود المستخدم في الحل هو ..


الجواب الصحيح للمعادلة هو : 5.18737

اما الخطأ فهو من متغير i غيره الى double او استخدم cast لتحويل المتغير الى int

        s = s + (double) 1/i;

الناتج المطلوب في التمرين هو 1.0

لكن انا مش فاهم اذاي طلع بالنتيجة دي لأن كل ما بنفذ الخطوات بالألة الحاسبة يطلع ناتج مختلف وبختبر الكود في النت بينز بيطلع الناتج 1.0

فأنا عاوز أفهم ليه الكود ده طالع بالناتج ده !!

طلع 1.0 لأن i متغير من نوع int و هذا المتغير يكون فقط من الاعداد الصحيحة، لذا فإن المتغير يكون 1 عند ١/١ و 0 عند البقيه لانها كلها اقل من الواحد لذا يحذف الكسر و يبقي علي الصفر

فعلا لما غيرته الي double طلع نفس الناتج الموجود في الألة

حاجة بسيطة بس دوختني :D

شكرا جزيلا .