الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

برنامج حل منظومة خطية + جداء المصفوفات

بدأه un_revenge في 26 يناير 2011 · 8 رد · 3,611 مشاهدة · في لغة Python
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

هذين البرنامجين الأول هو عبارة عن حل جملة من المعادلات الخطية (منظومة خطية) بشرط أن يكون عدد المعادلات المدخلة إلى البرنامج يساوي عدد المجاهيل في كل معادلة

ثم يقوم البرنامج بإيجاد قيم المجاهيل بوساطة طريقة (حذف غاوس - جوردان) بتطبيقها على المصفوفة الموسعة للجملة

نسيت أن أوضح طريقة الإدخال ...... أولا يتم إدخال عدد المعادلات , ثم تدخل كل معادلة كما تكتبها على الورق (مع فارق بسيط عندما تكون أمثال المجهول تساوي 0 يجب كتابتها)

بعد ذلك يظهر قيم المجاهيل

أما الثاني فهو لإيجاد المصفوفة الناتجة عن جداء مصفوفتين حيث يتم إدخال عناصر المصفوفة بين كل عنصرين فراغ على الأقل

طبعا يجب أن يكون عدد أعمدة المصفوفة الأولى يساوي عدد أسطر الثانية

وأخيرا أرجو الاستفادة وشكرا

Solving equations + Matrixes multiply.zip

1
#2

مجهود تشكر عليه يا أخي .. لكن لماذا لم تستخدم أسماء أوضح للمتغيرات, و أين التوثيق؟

سبحانك اللهم و بحمدك ، أشهد أن لا إله إلا أنت ، أستغفرك ربي و أتوب إليك

مدونتي

http://www.facebook.com/brmjt

#3

أهلا أخ محمد

بالنسبة لأسماء المتغيرات .. في الحقيقة لم أجد أسماء واضحة لبعض المتغيرات

لكنني لم أفهم ماذا تقصد بالتوثيق ؟؟؟؟

#4

كنت أقصد التعليق "commenting" :)

بعض التعليق على الكود سيساعد على فهمه .. كما أنه ممارسة جيدة يجب التعود عليها.

سبحانك اللهم و بحمدك ، أشهد أن لا إله إلا أنت ، أستغفرك ربي و أتوب إليك

مدونتي

http://www.facebook.com/brmjt

#5

بالنسبة لبرنامج المعادلات تقوم الفكرة على إدخال المعادلة على شكل string ثم قراءة كل محرف من هذه الـ string .

نحتاج لقراءة المعادلة لتعيين أمثال المجاهيل التي ستضمها مصفوفة الأمثال A , ولتعيين المجاهيل التي ستضمها مصفوفة المجاهيل X , وأخيرا تعيين B .

بما أن هناك أمثال , ومجاهيل ... إذا سنستخدم عدادين : n لقراءة الأمثال العددية (مبدئيا تكون string ) , وآخر x لقراءة المجاهيل

بحيث يظل يعمل الأول n ويضم الأرقام حتى يصل إلى شرط معين ثم يبدأ العداد الآخر x بالعمل وضم المجاهيل (المجهول قد يكون x , أو x1) حتى يصل عند شرط معين

فيتوقف ويعود العداد الأول .. وهكذا ...

لاحظو المعادلة :

2 x + 3 y - 4 z (-

لونت المحارف التي سيضمها العداد n بالأحمر والمحارف التي سيضمها x بالأزرق (( لاحظ أنني اقتطعت طرف المعادلة الثاني مع إشارة = ))

أعتقد أنه من البديهي الآن معرف كيفية القراءة وشروط توقف وبداية كل من العدادين ... كالتالي :

أولا : يبدأ العداد n في بضم المحارف ((( طالما أنها ليست حروف ))) حتى يصل إلى حرف عندئذ يتوفق ويبدأ العداد x بضم المحارف ((( طالما أنها ليست إشارة + أو - )))

حتى يصل عند + أو - عندئذ يتوقف ويبدأ العداد n مرة أخرى , وهكذا...

لا ننسى أن نحول n إلى عدد ( لأنه يكون string مبدئيا ) ونضم قيمته إلى المصفوفة A ((( ثم نضع n = ' ' )))

كذلك الأمر بالنسبة لـ x .

إذاً ... تشكلت لدينا الآن المصفوفة A ..... نضم كل عنصر من B ((( التي ضمت عناصر طرف المعادلات الآخر عبر قراءة عكسية حتى يتوقف عند = ))) إلى A

وبالتالي تشكلت A المصفوفة الموسعة لجملة المعادلات ثم أطبق غاوس جوردان

أخيرا يطبع البرنامج كل مجهول من X مصفوفة المجاهيل مع قيمته وفق التالي : [X [ i ] = A [ i ] [ - 1

وهذا هو البرنامج .... أرجو أن أكون قد وفقت في الشرح وفي حال أنقصت شيئاً الرجاء الاستفسار .

في المعادلة التي كتبتها الرقم 2 الملون بالأحمر الذي بعد المجهول z في الحقيقة هو أمثال x لكن حدث خطأ طباعة لم يطبع 2 قرب x

2
#6

يقصد الأخ محمد بالتوثيق commenting أنَّها تلك التعليقات البرمجية (تبدأ في لغة بايثون بالمحرف #) التي يستخدمها المبرمج عادةً في توضيح عمل أجزاء البرنامج الغامضة بشكل واضح وسلس. بحيث عندما يعود إلى برنامجه (أو يشاهدها غيره من المبرمجين) بعد فترة من الزمن ويطالع تعليماته البرمجية يفهم الغرض منها بسهولة ويسر.

على العموم شرحك جميل وجهد تُشكر عليه. بارك الله بك وإلى الأمام.

#7

بالفعل أخي الكريم نسيت ذلك ... إن شاء الله أضع التوثيقات في كل برامجي القادمة

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

#8

السلام عليكم

لقد قمت بإعادة برنامج المعادلات بأسماء أوضح للمتغيرات وبعض التوثيقات البسيطة وأصبح يناقش حالات الجملة الخطية بكل حالاتها وتستطيع كتابة المعادلة بشكل

مبسط أكثرأرفقت بالإضافة إلى برامج عمليات المصفوفات المختلفة

أرجو أن تقيم البرامج من قبل الخبراء وفي حال وجود شيء مبهم الرجاء تنبيهي لكي أوضح أكثر أو وجود طرق أقصر للبرنامج فأرجو إعلامي بها

لأني أشعر أنني أطوّل برامجي دائماً

Python Program.zip

#9
un_revenge كتب:

السلام عليكم

هذين البرنامجين الأول هو عبارة عن حل جملة من المعادلات الخطية (منظومة خطية) بشرط أن يكون عدد المعادلات المدخلة إلى البرنامج يساوي عدد المجاهيل في كل معادلة

ثم يقوم البرنامج بإيجاد قيم المجاهيل بوساطة طريقة (حذف غاوس - جوردان) بتطبيقها على المصفوفة الموسعة للجملة

نسيت أن أوضح طريقة الإدخال ...... أولا يتم إدخال عدد المعادلات , ثم تدخل كل معادلة كما تكتبها على الورق (مع فارق بسيط عندما تكون أمثال المجهول تساوي 0 يجب كتابتها)

بعد ذلك يظهر قيم المجاهيل

أما الثاني فهو لإيجاد المصفوفة الناتجة عن جداء مصفوفتين حيث يتم إدخال عناصر المصفوفة بين كل عنصرين فراغ على الأقل

طبعا يجب أن يكون عدد أعمدة المصفوفة الأولى يساوي عدد أسطر الثانية

وأخيرا أرجو الاستفادة وشكرا

السلام عليكم اخي ممكن تكتبلي نفس هذا البرنامج لكن بلغة فيجوال بيسك مع شرح بسيط لخطوات البرمجة واكون شاكر ا لك

−1

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…