استفسار عن حل معادله بغله الجافا
banner
2018-02-24 , 02:19 صباحاً
R129’s Avatar
R129

عضو جديد

المشاركات:15
التسجيل:Jun 2017
R129
اكتب برنامج يقوم بحل المعادله التالية اذاكان :

(A+25*B/2)/(C*2+0.5 )

اذا كان كل من A=12 &B=4.5 &C=4



--------------------------------------------------------------------------------------------

صوره الكود


https://gulfupload.com/9tm4pkhzigre
Enlarged Image
2018-02-24 , 02:19 صباحاً
2018-02-24 , 02:04 مساءً
just smile’s Avatar
just smile

فعال

المشاركات:1451
التسجيل:Nov 2005
just smile
الكود الي انت كاتبه صحيح اعتقد لكن الافضل نشر السؤال كامل لو موجود

ترتيب العمليات الحسابية في الجافا

Image
2018-02-24 , 02:04 مساءً
2018-02-24 , 02:31 مساءً
eL_NiNo9’s Avatar
eL_NiNo9

نشيط

المشاركات:732
التسجيل:Feb 2009
eL_NiNo9
just smile كتب:
اذا اخذنا في الاعتبار ترتيب العمليات الحسابية في الجافا

اعتقد لازم كذا
(A+25)*B/2)/(C*2+0.5))

لو ماتحط قوس حول A+25 راح يضرب 25*B وبعدين يقسم وبعدها يجمع

Image

ابحث عن ترتيب العمليات الحسابية عشان تفهم الموضوع اكثر


اعتقد عندك خطاء ،، لأن من المفترض عملية الضرب هي الاولى في حالته

[CODE]
(A+((25*B)/2))/((C*2)+0.5)
[/CODE]
2018-02-24 , 02:31 مساءً
2018-02-24 , 06:40 مساءً
just smile’s Avatar
just smile

فعال

المشاركات:1451
التسجيل:Nov 2005
just smile
eL_NiNo9 كتب:
اعتقد عندك خطاء ،، لأن من المفترض عملية الضرب هي الاولى في حالته

[CODE]
(A+((25*B)/2))/((C*2)+0.5)
[/CODE]


صحيح كلامك
لكن على كذا الكود الي هو كاتبه صحيح ومايحتاج تضيف اي اقواس اضافية

(A+((25*B)/2))/((C*2)+0.5)
(A+25*B/2)/(C*2+0.5 )

القسمة والضرب تحمل نفس الوزن ويتم تنفيذها من اليسار لليمين
2018-02-24 , 06:40 مساءً
2018-03-02 , 07:34 مساءً
iSR5’s Avatar
iSR5

Laptop Support Team

المشاركات:3378
التسجيل:Jul 2016
iSR5
R129 كتب:
اكتب برنامج يقوم بحل المعادله التالية اذاكان :

(A+25*B/2)/(C*2+0.5 )

اذا كان كل من A=12 &B=4.5 &C=4



--------------------------------------------------------------------------------------------

صوره الكود


https://gulfupload.com/9tm4pkhzigre



دائماً في المعادلات الحسابية اذا تبي تتأكد من صحتها لابد تعملها بشكل يدوي (تكتبها على ورقة) وتعرف الناتج وبعدها ترجع تصحح المعادلة لحتى تخرج الناتج الصحيح

عندك هذي المعادلة :
[CODE] (A+25*B/2)/(C*2+0.5 )
[/CODE]

لو اخذناها بالرياضيات راح تكون بهذا الشكل :
Image

الان نعوض :
[CODE]A=12
B=4.5
C=4[/CODE]

Image

في الرياضيات الأولوية دائماً لعمليات الضرب ثم الجمع والطرح ثم القسمة ..
فالمعادله راح تنحل بهالطريقة :
Image

الان عرفنا ان الناتج لها بيكون 7.32 ..
كل اللي علينا اننا نرجع ونعدل في المعادلة في الجافا إلى ان تعطينا نفس الناتج ..

في الجافا وغالب لغات البرمجة , الأولوية للضرب ثم الجمع والطرح ثم القسمة ..
واذا كان فيه اقواس , الأولوية تكون لما بين الأقواس ثم الضرب ثم الجمع والطرح ثم القسمة .. قوانين الرياضيات مطبقه ايضاً في لغات البرمجة فما فيه شي جديد بالموضوع ..


فالمعادلة الصحيحة بالجافا راح تكون :

CODE) / 2)/( (C*2)+0.5)[/CODE]
لاحظ أني استخدمت الأقواس حتى لما تعمل كومبايل, الكومبايلر يعرف من وين يبدأ بالحساب ..


اعتذر على الاطالة , ولكن حاولت اني اعطيك تطريقه تقدر من خلالها تتخيل مسار المعادلة وطريقة حلها بطريقة مبسطة ومعتادة .. حتى ماتحس ان الموضوع معقد او ان المعادلات الرياضية في لغات البرمجة معقدة وصعب فهمها .. على العكس هي مثل ماشفت نفس المعادلات الرياضية اللي تعودنا عليها بالمدارس .. الفرق فقط بطريقة كتابتها لا اكثر !

هذي demo للمعادلة :
http://rextester.com/live/FHPE4783
2018-03-02 , 07:34 مساءً