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

لماذا الناتج أصبح يساوي 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

شكرا جزيلا .

بالسبب المتغير double زي ما ذكر الأساتذة ،، أشكرك على طرح السؤال ومشاركتك لنا بأفكارك البرمجية وأشكر أيضاً الزملاء الذين تعاونوا على الرد شكراً جميعاً جميعنا هنا لنتعلم.

mohamed_el_dawansy أضف ردا

فعلا المشاركات هنا أغلبها إيجابية وبنستفاد منها خلال رحلتنا في تعلم البرمجة , شكرا من القلب للجميع .

لان integer هو للاعداد الصحيحة,قم بتغيير المتغير الى float او double

تم بالفعل :)

بالمناسبة أخي، أنت لا تحتاج لطرح الموضوع مرّتين أو أكثــر، كل ماتحتاجة طرح السؤال في الجتمــع الذي تعتقــده مناســب، وجميــع من يهتم سوف يجــده.

شكرا جزيلا