أكثر شيء أحبه بعد البرمجة هو الرياضيات…خصوصا و أن البرمجة هي أصلا وليدة علم الرياضيات.
باﻹستناد إلى ما أخذناه في الدروس السابقة فإنه بإمكاننا اﻵن أن نقوم بكتابة سكريبت بسيط يقوم بحل المعادﻻت الرياضياتية من الدرجة الثانية…لنبدأ العمل:
لدينا معادلة من الدرجة الثانية تكتب على الشكل التالي:
ax²+bx+c=0
تكون هته المعادلة من الدرجة الثانية إذا لم يكن a=0 و إن كان كذلك فإن المعادلة تصبح من الدرجة الأولى و بالتالي فإنها ستكتب كالتالي:
bx+c=0
و عليه فإن حل هذه المعادلة هو كالتالي:
X0=-c/b
و هنا ينتهي العمل،أما أن كان a يختلف عن الصفر(0) فإن علينا حساب معامل ديلتا من أجل أن نجد الحلول الممكنة،يتم حساب معامل ديلتا عن طريق الصيغة التالية:
b²-4ac
اﻵن إذا كان معامل ديلتا أقل من الصفر(سالب) فالمعادلة السابقة ﻻ تقبل حلول،إذا كان معامل ديلتا يساوي الصفر فإن المعادلة تقبل حلا وحيدا و يساوي:
-b/2a
أما إذا كان معامل ديلتا أكبر من الصفر فهنا المعادلة تقبل حلين هما :
x1=(-b-(delta)**0.5)/2a
x2=(-b+(delta)**0.5)/2a
أعتقد بأنك تعرف ما معنى 1/2(delta)،هي ببساطة الجذر التربيعي للمعامل ديلتا…اﻵن سنقوم بكتابة السكريبت الذي سيقوم بحل المعادﻻت من الدرجة الثانية…
بداية سنستقبل المدخلات من المستخدم عن طريق الدالة raw_input و التي ستستقبل المدخلات باعتبارها سلاسل نصية و بالتالي علينا تحويلها إلى شكلها الرقمي كالتالي
ﻻ أعتقد بأنه يوجد شيء يحتاج إلى شرح،فنحن استقبلنا مدخلات المستخدم و حولناها إلى أرقام و وضعناها في متغيرات فقط،اﻵن سنبدأ في عملية التحقق:
و هي تطبيق للشرط اﻷول فإن كان a يساوي الصفر فسنقوم بطباعة الحل X0 أما إن لم يكن يساوي 0 فسننتقل إلى التحقق الثاني:
اﻵن إنتهينا من كتابة السكريبت الصغير الذي سيقوم بحل المعادﻻت من الدرجة الثانية…
نصيحة: ﻻ تقم بنسخ و لصق الكود ﻷنك ببساطة لن تتعلم شيئا بهته الطريقة.
معلومة: الخطوات التي اتبعناها لكتابة السكريبت هي ما يعرف إصطلاحا بالخوارزميات،فمبروك لقد كتبت أول خوارزمية لك.
إن كانت لديكم أية أسئلة أو استفسارات فلا تترددوا في طرحها سواء في التعليقات أو في مجموعة هاكركاديمي على فايسبوك،دمتم بود،سلام
13 تعليق. Leave new
المعادلة خاطئة الجزء المتعلق بحساب x1,x2
جذر دلتا لا يساوي دلتا *0.5
قم باستبدالها بعبارة:
math.sqty(delta)
مع import math
أهلا بك أخي الحبيب،لم أستخدم أي موديل خارجي فالدروس موجهة للمبتدئين و لم نصل بعد إلى تضمين المكتبات،رفع الرقم إلى القوة 0.5 رياضياتيا هذا يعني الجذر التربيعي…راجع أساسيات الرياضيات أخي الحبيب
في الحقيقة انت لم ترفع القوة ولكنك قمت بالضرب في 0.5 قم بتصحيح الكود البرمجي ((-b-0.5*delta)/2*a)
الى ((-b-0.5**delta)/2*a)
نعم هذا صحيح و أشكرك على التنبيه أخي الحبيب
العفو اخي الكريم فهذا خطأ بسيط لا ينقص من معلوماتك انا متابع لهذا الموقع الرائع
هل ممكن نتواصل على الخاص ؟
شكرا لك أخي الحبيب،وشكرا على الكلمات المشجعة،يمكنك مراسلتي عبر صفحة التواصل
اين هي صفحة التواصل ؟
من هنا
http://www.hackercademy.com/p/twasol.html
انا للامانه لم افهم شي من هذه المعادلة بحكم ضعفي بالرياضيات
الرياضيات شيء جميل جدا
طيب ماهي الرياضيات المستخدمة
رياضيات بسيطة جدا،يتم تدريسها في اﻹعدادية
http://dzair-web.blogspot.com/2014/11/blog-post_21.html