لماذا الناتج أصبح يساوي 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
شكرا جزيلا .
مجتمع للمبرمجين من جميع المستويات لتبادل المعرفة والخبرات. ناقش لغات البرمجة المختلفة، الحلول البرمجية، والمشاريع.
صمم موقعك كاملا بالسحب والإفلات بدون خبرة برمجية، واحجز مكانك على الإنترنت.
التعليقات