الدرس السادس:حل معادلة من الدرجة الثانية

أكثر شيء أحبه بعد البرمجة هو الرياضيات…خصوصا و أن البرمجة هي أصلا وليدة علم الرياضيات.
باﻹستناد إلى ما أخذناه في الدروس السابقة فإنه بإمكاننا اﻵن أن نقوم بكتابة سكريبت بسيط يقوم بحل المعادﻻت الرياضياتية من الدرجة الثانية…لنبدأ العمل:
لدينا معادلة من الدرجة الثانية تكتب على الشكل التالي:

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

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

Fill out this field
Fill out this field
الرجاء إدخال عنوان بريد إلكتروني صالح.
You need to agree with the terms to proceed

هذا الموقع يستخدم Akismet للحدّ من التعليقات المزعجة والغير مرغوبة. تعرّف على كيفية معالجة بيانات تعليقك.

القائمة