You are on page 1of 15

‫شرح برنامجٍ لحل المعادلة التربيعية باستخدام لغة إبداع‬

‫م‪ .‬وائل حسن محمد ن مبم إ‪.‬ام‬

‫‪1‬‬
‫في هذا الكُتيِّب سأقوم بشرحٍ برنامجٍ بسيطٍ لحل المعادلة التربيعية و إيجاد جذريها سواءٌ أكانا حقيقيين أم جذرين تخيليي ن‪ ،‬و‬

‫بالطبع سيكون البرنامج مكتوباً بِلُغةإبداع‪ .‬و سأستغل هذا الشرح لتقديم فكرةٍ بسيطةٍ عن بعض قواعد إبداع و كذلك لتوضيح‬

‫مدي سهولة البرمجة بها و سهولة تحويل الخوارزم ‪ algorithm‬إلي برنامجٍ مكتوبٍ باستخدامها‪.‬‬

‫و ل يتطلب هذا الشرح إل القدر الدني من المعرفة البرمجية‪ ،‬لكن المبتديء الص رف ال ذي ل م يتعل م أي ش يءٍ ع ن أي ة لغ ة‬

‫برمجةٍ من قبل ربما ل يستوعب إل نذراً قليلً منه‪.‬‬

‫***‬

‫المطلوب هو إيجاد الجذرين الخاصين بالمعادلة التربيعية التي تكون علي الشكل التالي‪:‬‬

‫أس‪+2‬بس‪+‬ج=‪0‬‬

‫حيث )أ( و )ب( و )ج( هن ملعاملتد لحدود المعادلة‪ ،‬و القانونان الخاصان بإيجاد الجذرين سهلن جدًا و مباشران للغاية‪،‬‬

‫حيث‪:‬‬

‫الجذر الول = )‪ -‬ب ‪ +‬الجذر التربيعي للقيمة )ب ‪ × 4 – 2‬أ × ج(( ÷ )‪ × 2‬أ(‬

‫الجذر الثاني = )‪ -‬ب ‪ -‬الجذر التربيعي للقيمة )ب ‪ × 4 – 2‬أ × ج(( ÷ )‪ × 2‬أ(‬

‫مثال‪:‬‬

‫المعادلة )‪ 2‬س ‪ 3 + 2‬س ‪ (0 = 1 +‬لها الجذران‪:‬‬

‫الجذر الول = ‪0.5-‬‬

‫الجذر الثاني = ‪1-‬‬

‫الن تعالوا نكتب خطوات الحل بالترتيب )خوارزم الحل(‪:‬‬

‫في البداية علينا أن ننتبه إلي أنه من الممكن كتابة البرنامج الذي يحل هذه المشكلة في أسطرٍ قليلةٍ جداً؛ حيث أنه يمكن جعل‬

‫‪2‬‬
‫خطوات الحل كما يلي‪:‬‬

‫•قراءة الملعامل أ‪.‬‬

‫•قراءة الملعامل ب‪.‬‬

‫•قراءة الملعامل ج‪.‬‬

‫•حساب الجذر الول عن طريق التعويض مباشرةً في القانون الخاص به‪.‬‬

‫•حساب الجذر الثاني عن طريق التعويض مباشرةً في القانون الخاص به‪.‬‬

‫•كتابة قيمتي الجذرين علي الشاشة‪.‬‬

‫لكن المشكلة أن الجذور لن تكون دائماً عل ي ش كل أع دادٍ بس يطة؛ فم ن الممك ن أن تك ون الج ذور تخيلي ة‪ ،‬خ ذ المعادل ة‬

‫التربيعية التالية كمثالٍ لهذا المر‪:‬‬

‫س‪+2‬س‪0=9+‬‬

‫فقيمتا الجذرين هما‪:‬‬

‫الجذر الول = ‪ 2.958039891549808 + 0.5-‬ت‬

‫الجذر الثاني = ‪ 2.958039891549808 – 0.5-‬ت‬

‫و هذا يرجع إلي أن القيمة )ب ‪ × 4 – 2‬أ × ج( قيمةق سالبةق لن قيمة ب ‪ 2‬أقل من قيمة ‪ × 4‬أ × ج‪.‬‬

‫و لن الحاسوب ل يعرف إل ما نخبره به فإنه سيقوم بالتعويض في المعادلتين السابقتين و حينم ا يلح اوِل إيج اد قيم ة الج ذر‬

‫لعددٍ سالبٍ سيحدث خطأ زمن تشغيل ‪ runtime error‬لنه ليس هناك جذرد رقميد بسيطق للعداد الس البة‪ ،‬و إنم ا‬

‫يوجد لها جذورد تخيلية )لو لم تكن تعلم ما هي الجذور التخيلية فأنت بحاجة لمراجعةٍ بسيطةٍ عنها(‪.‬‬

‫إذاً ما العمل الن ؟!‬

‫بسيطة؛ يمكننا تحويل تحويل الخوارزم إلي الشكل التالي‪:‬‬

‫‪3‬‬
‫•قراءة الملعامل أ‪.‬‬

‫•قراءة الملعامل ب‪.‬‬

‫•قراءة الملعامل ج‪.‬‬

‫•حساب القيمة التي تحت الجذر )ب ‪ × 4 – 2‬أ × ج(‪:‬‬

‫•لو كانت القيمة موجبةً فالجذران حقيقيان و يمكننا التكملة كما سبق‪:‬‬

‫•حساب الجذر الول عن طريق التعويض مباشرةً في قانونه‪.‬‬

‫•حساب الجذر الثاني عن طريق التعويض مباشرةً في قانونه‪.‬‬

‫•أما لو كانت القيمة سالبةً فالجذران تخيليان‪ ،‬و يتم حسابهما عن طريق المعادلتين‪:‬‬

‫الجذر الول = )‪-‬ب ÷ ‪ × 2‬أ( ‪) +‬جذر القيمة )‪ -‬القيمة التي تحت الجذر( ( ت‬

‫الجذر الثاني = )‪-‬ب ÷ ‪ × 2‬أ( ‪) -‬جذر القيمة )‪ -‬القيمة التي تحت الجذر( ( ت‬

‫•كتابة قيمتي الجذرين علي الشاشة بشكلٍ مناسبٍ لنوع الجذور‪.‬‬

‫هذا جميل‪ ،‬و لكن ماذا لو أدخل المستخدم )سواءٌ عمداً أم عن طريق الخطأ( قيمة الملعامل )أ( بص(ر ؟!‬

‫هذا موقفد يجب التحسب له أيضاً‪ ،‬و لكن كيف يكون هذا ؟‬

‫سنلجأ لختبار قيمة الملعامل )أ( قبل البدء بالحل‪ ،‬و لو ك ان ص (راً فس وف نعت بر أن المعادل ة م ن الدرج ة الول ي و ليس ت‬

‫تربيعية‪ ،‬و بالتالي لها جذرد واحدد فقط يتم حساب قيمته من خلل القانون‪:‬‬

‫الجذر = ‪-‬ج ÷ ب‬

‫و هكذا يتحول الخوارِزم إلي الشكل التالي‪:‬‬

‫•قراءة الملعامل أ‪.‬‬

‫•قراءة الملعامل ب‪.‬‬

‫‪4‬‬
‫•قراءة الملعامل ج‪.‬‬

‫•اختبار كون الملعامل أ يساوي ص(ر‪:‬‬

‫•لو كان أ =ص(ر‪:‬‬

‫•اعتبر المعادلة من الدرجة الولي و احسب قيمة الجذر بالمعادلة )الجذر = ‪-‬ج ÷ ب(‪.‬‬

‫•اكتب الرقم علي الشاشة‪.‬‬

‫•لو لم يكن أ يساوي ‪: 0‬‬

‫•حساب القيمة التي تحت الجذر )ب ‪ × 4 – 2‬أ × ج(‪:‬‬

‫•لو كانت القيمة موجبةً فالجذران حقيقيان و يمكننا التكملة كما سبق‪:‬‬

‫•حساب الجذر الول عن طريق التعويض مباشرةً في قانونه‪.‬‬

‫•حساب الجذر الثاني عن طريق التعويض مباشرةً في قانونه‪.‬‬

‫•أما لو كانت القيمة سالبةً فالجذران تخيليان‪ ،‬و يتم حسابهما عن طريق المعادلتين‪:‬‬

‫الجذر الول = )‪-‬ب ÷ ‪ × 2‬أ( ‪) +‬جذر القيمة )‪ -‬القيمة التي تحت الجذر( ( ت‬

‫الجذر الثاني = )‪-‬ب ÷ ‪ × 2‬أ( ‪) -‬جذر القيمة )‪ -‬القيمة التي تحت الجذر( ( ت‬

‫•كتابة قيمتي الجذرين علي الشاشة بشكلٍ مناسبٍ لنوع الجذور‪.‬‬

‫لكن أل تلحظون أن هذا الخوارزم ل يحل إل معادلةً واحدةً ثم يتوقف التن(يذ بعدها ؟‬

‫إذاً فهو يحتاج إلي إضافةٍ اخري ليلمكن من خلله حل أي عددٍ نرغب ف ي حل ه م ن المع ادلت التربيعي ة‪ ،‬و سيص بح ش كله‬

‫بعدها كما يلي‪:‬‬

‫•بينما هناك معادلة نرغب في حلها‪:‬‬

‫•قراءة الملعامل أ‪.‬‬

‫•قراءة الملعامل ب‪.‬‬

‫‪5‬‬
‫•قراءة الملعامل ج‪.‬‬

‫•اختبار كون الملعامل أ يساوي ص(ر‪:‬‬

‫•لو كان أ = ص(ر ‪:‬‬

‫•اعتبر المعادلة من الدرجة الولي و احسب قيمة الجذر بالمعادلة )الجذر= ‪-‬ج ÷ ب(‪.‬‬

‫•اكتب الرقم علي الشاشة‪.‬‬

‫•لو لم يكن أ يساوي ‪: 0‬‬

‫•حساب القيمة التي تحت الجذر )ب ‪ × 4 – 2‬أ × ج(‪:‬‬

‫•لو كانت القيمة موجبةً فالجذران حقيقيان و يمكننا التكملة كما سبق‪:‬‬

‫•حساب الجذر الول عن طريق التعويض مباشرةً في قانونه‪.‬‬

‫•حساب الجذر الثاني عن طريق التعويض مباشرةً في قانونه‪.‬‬

‫•أما لو كانت القيمة سالبةً فالجذران تخيليان‪ ،‬و يتم حسابهما عن طريق المعادلتين‪:‬‬

‫الجذر الول = )‪-‬ب ÷ ‪ × 2‬أ( ‪) +‬جذر القيمة )‪-‬القيمة التي تحت الجذر( ( ت‬

‫الجذر الثاني = )‪-‬ب ÷ ‪ × 2‬أ( ‪) -‬جذر القيمة )‪-‬القيمة التي تحت الجذر( ( ت‬

‫•كتابة قيمتي الجذرين علي الشاشة بشكلٍ مناسبٍ لنوع الجذور‪.‬‬

‫و هكذا نكون قد حللنا كل مشاكل الخوارزم و أصبح قادراً علي حل أي عددٍ نرغب في حل ه م ن المع ادلت م ع التحس ب‬

‫لكل الظروف الشاذة و الغريبة‪ ،‬و يجب علينا الن أن نقوم بتحويل هذا الخوارزم إلي لغةٍ ي(همها الحاسوب ليستطيع تن(يذه‪.‬‬

‫حسند‪:‬سيكون شكل البرنامج بعد كتابته بإبداع كما يلي‪:‬‬

‫\ عِرِّف متغيراً نصياً لستخدامه لمعرفة هل يريد المستخدم حل معادلةٍ جديدة عند النتهاء من حل الحالية‪ ،‬أم ل ‪/‬‬

‫نص حل‪.‬معادلة‪.‬أخري = "نعم"‬

‫‪6‬‬
‫\ جملةق تكراريةق لحل أكثر من معادلةٍ من المعادلت التربيعية حسب العدد الذي يريده المستخدم ‪/‬‬

‫بينما حل‪.‬معادلة‪.‬أخري = "نعم"‪:‬‬

‫\ قراءة المعاملت المختل(ة من المستخدم ‪/‬‬

‫أكتب‪.‬نص‪.‬سطر)""(‬

‫أكتب‪.‬نص‪.‬سطر)"أدخل المعامل الول‪(" :‬‬

‫رقم المعامل‪.‬الول = أقرأ‪.‬رقم)(‬

‫أكتب‪.‬نص‪.‬سطر)""(‬

‫أكتب‪.‬نص‪.‬سطر)"أدخل المعامل الثاني‪(" :‬‬

‫رقم المعامل‪.‬الثاني = أقرأ‪.‬رقم)(‬

‫أكتب‪.‬نص‪.‬سطر)""(‬

‫أكتب‪.‬نص‪.‬سطر)"أدخل المعامل الثالث‪(" :‬‬

‫رقم المعامل‪.‬الثالث = أقرأ‪.‬رقم)(‬

‫\ اختبر كون المعامل الول يساوي ص(ر ام ل؛ لتلفي القسمة علي ص(ر فيما بعد ‪/‬‬

‫لو المعامل‪.‬الول = ‪: 0‬‬

‫أكتب‪.‬نص‪.‬سطر)"يرجي التنبه‪ :‬لقد أدخلت المعامل الول مساوياً للص(ر‪ ،‬سيتم الن حل المعادلة علي أنها من الدرجة الولي‪(".‬‬

‫أكتب‪.‬نص)"قيمة الجذر هي"(‬

‫أكتب‪.‬رقم‪.‬سطر)‪ -‬المعامل‪.‬الثالث ÷ المعامل‪.‬الثاني(‬

‫غيره ‪:‬‬

‫\ احسب قيمة ما تحت الجذر التربيعي ‪/‬‬

‫رقم قيمة‪.‬ما‪.‬تحت‪.‬الجذر = المعامل‪.‬الثاني ^ ‪ × 4 - 2‬المعامل‪.‬الول × المعامل‪.‬الثالث‬

‫\ هل القيمة التي تحت الجذر موجبةق أم سالبة؟ ‪/‬‬

‫منطق جذور‪.‬حقيقية = قيمة‪.‬ما‪.‬تحت‪.‬الجذر <= ‪0‬‬

‫\ اكتب نص المعادلة علي الشاشة بالشكل المناسب ‪/‬‬

‫‪7‬‬
‫أكتب‪.‬نص)"المعادلة المطلوب حلها هي===<"(‬

‫لو المعامل‪.‬الول ‪: 1 #‬‬

‫أكتب‪.‬رقم)المعامل‪.‬الول(‬

‫أكتب‪.‬نص)"س ‪("2‬‬

‫لو المعامل‪.‬الثاني < ‪: 0‬‬

‫أكتب‪.‬نص)"‪("+‬‬

‫لو المعامل‪.‬الثاني ‪: 0 #‬‬

‫لو المعامل‪.‬الثاني ‪: 1 #‬‬

‫أكتب‪.‬رقم)المعامل‪.‬الثاني(‬

‫أكتب‪.‬نص)"س"(‬

‫لو المعامل‪.‬الثالث < ‪: 0‬‬

‫أكتب‪.‬نص)"‪("+‬‬

‫لو المعامل‪.‬الثالث ‪: 0 #‬‬

‫أكتب‪.‬رقم)المعامل‪.‬الثالث(‬

‫أكتب‪.‬نص‪.‬سطر)"=‪("0‬‬

‫\ اكتب قيمة الجذرين علي الشاشة ‪/‬‬

‫لو جذور‪.‬حقيقية‪:‬‬

‫أكتب‪.‬نص‪.‬سطر)"الجذران حقيقيان"(‬

‫رقم الجذر‪.‬الول = )‪ -‬المعامل‪.‬الثاني ‪ -‬قيمة‪.‬ما‪.‬تحت‪.‬الجذر ^ ‪ × 2) ÷ (0.5‬المعامل‪.‬الول(‬

‫رقم الجذر‪.‬الثاني = )‪ -‬المعامل‪.‬الثاني ‪ +‬قيمة‪.‬ما‪.‬تحت‪.‬الجذر ^ ‪ × 2) ÷ (0.5‬المعامل‪.‬الول(‬

‫أكتب‪.‬نص)"قيمة الجذر الحقيقي الول هي"(‬

‫أكتب‪.‬رقم‪.‬سطر)الجذر‪.‬الول(‬

‫أكتب‪.‬نص)"قيمة الجذر الحقيقي الثاني هي"(‬

‫أكتب‪.‬رقم‪.‬سطر)الجذر‪.‬الثاني(‬

‫غيره‪:‬‬

‫أكتب‪.‬نص‪.‬سطر)"الجذران تخيليان"(‬

‫‪8‬‬
‫أكتب‪.‬نص)"قيمة الجذر التخيلي الول هي" ‪ +‬إلي‪.‬نص)‪ -‬المعامل‪.‬الثاني ÷ )‪ ×2‬المعامل‪.‬الول(((‬

‫أكتب‪.‬نص)"‪("+‬‬

‫أكتب‪.‬نص‪.‬سطر)إلي‪.‬نص)))‪ -‬قيمة‪.‬ما‪.‬تحت‪.‬الجذر( ^ ‪ × 2) ÷ (0.5‬المعامل‪.‬الول(( ‪" +‬ت"(‬

‫أكتب‪.‬نص)"قيمة الجذر التخيلي الثاني هي" ‪ +‬إلي‪.‬نص)‪ -‬المعامل‪.‬الثاني ÷ )‪ ×2‬المعامل‪.‬الول(((‬

‫أكتب‪.‬نص)"‪("-‬‬

‫أكتب‪.‬نص‪.‬سطر)إلي‪.‬نص)))‪ -‬قيمة‪.‬ما‪.‬تحت‪.‬الجذر( ^ ‪ × 2) ÷ (0.5‬المعامل‪.‬الول(( ‪" +‬ت"(‬

‫\ اسأل المستخدم هل يريد حل معادلةٍ تربيعيةٍ أخري أم ل ‪/‬‬

‫أكتب‪.‬نص‪.‬سطر)"هل تريد حل معادلةٍ تربيعيةٍ أخري؟ أكتب )نعم( للقبول أو أي شيءٍ آخرٍ للرفض‪(".‬‬

‫حل‪.‬معادلة‪.‬أخري = أقرأ‪.‬نص)(‬

‫و الن تعال نشرح بعض المور التي تحتاج للشرح في البرنامج السابق‪:‬‬

‫•تعريف المتغيرات سهلق جداً و بسيط‪ :‬يك(ي أن تكتب نوع المتغير الذي ترغب فيه‪ ،‬ثم تكتب اسمه‪ ،‬ثم تكتب )= قيمة( و‬

‫هذا لو أردت أن تعطيه قيمة في ن(س سطر تعري(ه كنوعٍ من الختصار‪.‬‬

‫مثال ‪:1‬‬

‫نص حل‪.‬معادلة‪.‬أخري = "نعم"‬

‫قمن ا ف ي ه ذا الم ر بتعري ف متغي رٍ نص ي )أي يمك ن تخزي ن الح روف و الكلم ات و الجلمِ ل داخل ه( و أس ميناه‬

‫حل‪.‬معادلة‪.‬أخري ) لحظ أن النقطة تربط بين أجزاء السم المن(صلة؛ لن السماء يجب أن تكون من كلمةٍ واحدة(‪ .‬ث م‬

‫قمنا بوضع النص "نعم"داخله‪.‬‬

‫مثال ‪:2‬‬

‫رقم المعامل‪.‬الول = أقرأ‪.‬رقم)(‬

‫‪9‬‬
‫و هنا قمنا بتعريف متغيرٍ رقميٍ )أي يمكن تخزين القيم الرقمية‪ :‬الموجب ة أو الس البة‪ ،‬و الص حيحة أو الكس رية داخل ه(‪ ،‬و‬

‫أعطيناه السم "المعامل‪.‬الول" ‪ ،‬و بعدها طلبنا م ن المس تخدم أن يكت ب قيم ةً رقمي ةً عل ي الشاش ة و قرأناه ا ع ن طري ق‬

‫الجراء القياسي أقرأ‪.‬رقم)( و الذي يقرأ الرقم الذي يكتبه المستخدم ثم يعيده إلينا‪ .‬و هكذا نكون قد خزِّنّا قيمة الملعام ل أ‬

‫في المتغير المعامل‪.‬الول‬

‫مثال ‪:3‬‬

‫منطق جذور‪.‬حقيقية = قيمة‪.‬ما‪.‬تحت‪.‬الجذر <= ‪0‬‬

‫يعني أننا عرِّفنا متغيراً من النوع المنطقي )الذي يحمل إما القيمةصحيح أو القيمة خط أ(‪ ،‬و أس ميناه ج ذور‪.‬حقيق ة لك ي‬

‫نعلم أن قيمته تدل علي كون جذور المعادلة ستكون حقيقيةً أم ستكون تخيلية‪ ،‬و بالطبع كان العتماد علي قيم ة المتغي ر‬

‫قيمة‪.‬ما‪.‬تحت‪.‬الجذر التي تم حسابها في تحديد هذا المر‪ :‬بحيث لو كانت أكبر من أو تساوي الص(ر )<= ‪ (0‬فإن القيمة‬

‫التي ستلوضع في المتغير جذور‪.‬حقيقية ستكون صحيح‪ ،‬و لو كانت القيمة أقل من الص(ر )أي سالبة( فإن جذور‪.‬حقيقي ة‬

‫ستكون داخله القيمة خطأ‪.‬‬

‫•سنلحظ أن هناك كلماً كثيراً يكون مكتوباً بين العلمتين \ ‪ /‬و له اللون الخضر‪ ،‬و ه و )كم ا ه و واض حد ف ي البرنام ج(‬

‫يشرح الوامر التي تليه مباشرةً‪ .‬هذا النوع يلسمي بالتعليقات؛ فهو ليس أوامراً س يتم تن(ي ذها و لكن ه مج رد ش رحٍ يكتب ه‬

‫المبرمج حتي ي(هم الخرون النقاط المختل(ة من البرنامج‪ ،‬و كذلك ح تي يلس هِّل عل ي ن(س ه الرج وع إلي ه إن ح دث أن‬

‫تركه ل(ترةٍ من ال(ترات‪.‬‬

‫مع ملحظة أن التعليق في إبداع يمكن أن يكون سطراً واحداً أو قد يمتد لكثر من ذلك السطر الواحد‪.‬‬

‫أمثلة‪:‬‬

‫\ هذا تعليقد علي سطرٍ واحد ‪/‬‬

‫\ هذا تعليقد علي‬

‫أكثر من‬

‫‪10‬‬
‫سطرٍ واحد ‪/‬‬

‫•لجعل البرنامج يتكرر عدد ما نحب من المرات استخدمنا جملة بينما التكرارية‪ ،‬و التي تأتي علي الشكل التالي‪:‬‬

‫بينما قيمة‪.‬منطقية ‪:‬‬

‫الوامر‪.‬التي‪.‬نرغب‪.‬في‪.‬تن(يذها‬

‫و يمكن أن يكون للقيمة المنطقية أكثر من شكل‪ ،‬و هذا يلعطي جمل ة بينم ا ق وةً ك بيرةً و ش موليةً واض حة‪ ،‬و ف ي البرنام ج‬

‫السابق رأينا مثالً بسيطاً علي هذه الجملة‪:‬‬

‫بينما حل‪.‬معادلة‪.‬أخري = "نعم"‪:‬‬

‫و نلحظ بالطبع أن علمة = لها معني التساؤل عن التساوي في الجلمِل المنطقية‪ ،‬و لم نضطر لس تخدام العلم ة الملركبب ة‬

‫== كما في لغات عائلة ال ‪) C‬أي لغاتٍ مثل‪ ،( # C، C++ ،java ،C :‬و هذا تط بيقد لقاع دة اس تخدام الرم وز و‬

‫العلمات المألوفة في ن(س استخداماتها في الحياة العادية‪ ،‬و بالمكان ملحظة أن أي شخصٍ عاديٍ لو قرأ س طر الك ود‬

‫السابق سي(هم معناه مباشرةً‪ ،‬في حين أنه لو قرأ سطر كودٍ كالتالي‪:‬‬

‫بينما حل‪.‬معادلة‪.‬أخري == "نعم"‪:‬‬

‫فعلي الغلب سيتساءل عن معني ==‬

‫و حينما نخبره أن معني الجملة هو)لو قيمة المتغير حل‪.‬معادلة‪.‬أخري تلساوِي القيمة "نعم"(فسيكون التساؤل المنطق ي‪ :‬و‬

‫لماذا غيِّرنا العلمة التي تلعبِّر عن كلمة )يساوي( و جعلناها == ف ي حي ن أنن ا كن ا نس تخدم = لنلعبِّ ر ع ن كلم ة )يس اوي(‬

‫حينما نضع قيمةً في متغيرٍ معين ؟!‬

‫هذه بالطبع نقطةق بسيطة‪ ،‬و لكن لو جمعناها مع شبيهاتها في إب داع لوج دنا أنه ا تجع ل المنحن ي التعليم ي أق ل مم ا ك ان‬

‫ليكون عليه لو لو نطبق مبدأ استخدام العلمات في ن(س استخدامها في الواقع‪.‬‬

‫•المر‪:‬‬

‫أكتب‪.‬نص‪.‬سطر)"مرحبا"(‬

‫هو عبارة عن استدعاءٍ للجراء القياسي أكتب‪.‬نص‪.‬سطر )الموج ود ف ي الص دارات الحالي ة م ن أُبْ دع(‪ ،‬و يق وم ه ذا‬

‫‪11‬‬
‫الجراء بكتابة النص الذي يتم تمريره إليه بين القوسين‪ ،‬ثم بعدها ينزل إلي سطرٍ جديد‪.‬‬

‫•الجملة الشرطية في إبداع تكون علي الشكل‪:‬‬

‫لو قيمة‪.‬منطقية ‪:‬‬

‫الوامر‪.‬التي‪.‬سيتم‪.‬تن(يذها‬

‫مثل‪:‬‬

‫لو المعامل‪.‬الول = ‪: 0‬‬

‫أكتب‪.‬نص‪.‬سطر)"يرجي التنبه‪ :‬لقد أدخلت المعامل الول مساويًا للص(ر‪(".‬‬

‫•المر‪:‬‬

‫أكتب‪.‬نص)"قيمة الجذر هي"(‬

‫هو عبارة عن استدعاءٍ للجراء القياسي أكتب‪.‬نص )الموجود في الص دارات الحالي ة م ن أُبْ دع(‪ ،‬و يق وم ه ذا الج راء‬

‫بكتابة النص الذي يتم تمريره إليه بين القوسين‪ ،‬و يظل بعدها علي ن(س السطر‪.‬‬

‫•الوامر )أكتب‪.‬رقم( و )أكتب‪.‬رقم‪.‬سطر( يشبهان المرين )أكتب‪.‬نص( و )أكتب‪.‬نص‪.‬سطر(‪ ،‬لكن مع مراعاة أنهما يتع املن‬

‫مع الرقام ل مع النصوص‪.‬‬

‫•المر‪:‬‬

‫لو المعامل‪.‬الثالث ‪: 0 #‬‬

‫معناه )لو المعامل‪.‬الثالث ل يساوي ص(ر(‪ ،‬أي أنه في إبداع تلعبِّر علمة ‪ #‬عن كلمة "ل يلساوِي"‪ ،‬و ق د اس تلخدمِت له ذا‬

‫و التي تلستخدِم في الرياضيات للتعبير عن عدم التساوي‪.‬‬ ‫الغرض لنها تشبه و تعطي اليحاء الذي تعطيه علمة‬

‫يلمكنكم أن تروا هذا في ص(حة الويكيبيديا الخاصة بالرموز الرياضية‪:‬‬

‫‪http://en.wikipedia.org/wiki/List_of_mathematical_symbols‬‬

‫•في المر‪:‬‬

‫رقم الجذر‪.‬الول = )‪ -‬المعامل‪.‬الثاني قيمة‪.‬ما‪.‬تحت‪.‬الجذر ^ ‪ × 2) ÷ (0.5‬المعامل‪.‬الول(‬

‫نلحظ أنه تم استخدام العلمة ^ للتعبير عن كلمة ) أُسْ (‪ ،‬و علمة × للتعبير عن عملية الضرب‪ ،‬و علمة ÷ للتعبير عن‬

‫‪12‬‬
‫عملية القسمة‪.‬‬

‫و بالطبع فإن استخدام علمتي × و ÷ في وظي(تيهما الحاليتين ب دلً م ن اس تخدام * و ‪ /‬لن( س الوظي( ة كم ا ف ي لغ ات‬

‫البرمجة النقليزية يندرج تحت قاعدة استخدام المألوف من العلمات في ن(س استخداماتها في الحياة العادي ة‪ ،‬و يجع ل‬

‫تعليم اللغة للمبتدئين )و خاصة الط(ال(أسهل‪.‬‬

‫•المر‪:‬‬

‫إلي‪.‬نص)‪(100‬‬

‫يلستخدم لتحويل القيمة الرقمي ة إل ي قيم ة نص ية‪ :‬فالمث ال الس ابق يلح وِّل الرق م ‪ 100‬إل ي الن ص"‪ . ”100‬و ه ذا ل ه‬

‫استخداماته الكثيرة في البرمجة مثل الحاجة لوضع رقم داخل نص‪ ،‬و بالت الي س نلحوِّل الرق م إل ي ن ص ث م نق وم بدم ج‬

‫النصين مع بعضهما البعض لتكوين نصٍ أشمل‪.‬‬

‫•في المر‪:‬‬

‫أكتب‪.‬نص)"قيمة الجذر التخيلي الول هي" ‪ +‬إلي‪.‬نص)‪ -‬المعامل‪.‬الثاني ÷ )‪ ×2‬المعامل‪.‬الول(((‬

‫قمنا بدمج النصوص باستخدام العلمة ‪ +‬بحيث أصبح معني الجملة التالية‪:‬‬

‫"قيمة الجذر التخيلي الول هي" ‪ +‬إلي‪.‬نص)‪ -‬المعامل‪.‬الثاني ÷ )‪ ×2‬المعامل‪.‬الول((‬

‫هو‪ :‬تكوين نص من جملة "قيمة الجذر التخيلي الول هي" مضافاً إليها قيمة الرقم الناتج من العملية الحسابية بعد تحويه‬

‫إلي نص‪.‬‬

‫•المر‪:‬‬

‫حل‪.‬معادلة‪.‬أخري = أقرأ‪.‬نص)(‬

‫هواستدعاءٌ للجراء القياسي أقرأ‪.‬نص )يلوجِد في الصدارات الحالية من أُبْدع(‪ ،‬و ال ذي يق وم بق راءة الن ص ال ذي يكتب ه‬

‫الملستخدم علي الشاشة ثم إعادته للملبرمج‪.‬‬

‫•لحظوا أن الكُتِل المرية ‪ code blocks‬تلحدِّد عن طريق الزاحة‪ :‬يعني أن الوامر التي لها إزاحات متساوية تلعتبِر‬

‫ضمن كتلة أوامرٍ واحدة‪ ،‬و الوامر التي لها ت(رعات مثل جملة لو و جملة بينما يتم إزاحة أس طر تل ك الت(رُّع ات إزاح ةً‬

‫زائدةً عن إزاحة السطر الذي تلوجِد به كلمتي لو و بينما‪ .‬و هذا مشابهد لما يحدث في لغ ة ال ‪ python‬بالض بط )لم ن‬

‫‪13‬‬
‫يعلم قواعد تلك الخيرة بطبيعة الحال(‪.‬‬

‫في النهاية و بعد كل ما قلناه و شرحناه‪ :‬أريدك أن تلقارِن البرنامج المكتوب بإبداع ب الخوارزم المكت وب بلغ ةٍ عربي ةٍ عادي ة‪ ،‬و‬

‫قل لي‪:‬‬

‫•هل لحظتِ أن تحويل الخوارزم إلي برنامجٍ كان سهلً و سلساً ؟‬

‫•هل لحظتِ أن قراءة غير الملمين بقواعد إبداع للبرنام ج س تجعلهم ي(ه ون جانب اً ك بيراً من ه لن ه قري بد ج داً م ن اللغ ة‬

‫الملعتادة‪ ،‬و أن أغلب العلمات التي استلخدمِت في البرنامج ك انت له ا وظ ائف تش به وظائ(ه ا ف ي الواق ع و بالت الي ك ان‬

‫معناها م(هوماً منذ اللحظة الولي ؟‬

‫• هل لحظتِ أن الصعوبة كانت في الجزء الخاص بطباعة الرقم التخيل ي عل ي الشاش ة فق ط؛ وذل ك بس بب خصوص ية‬

‫شكله؟‬

‫يمكن الحصول علي ملف البرنامج السابق من الرابط التالي علي ال ‪:sourceforge‬‬
‫‪http://sourceforge.net/projects/obde3/files/examples/quad.____.tar.gz/download‬‬

‫أو من علي ال ‪:4shared‬‬

‫‪http://www.4shared.com/file/d5HnkIjW/quad.html‬‬

‫مع ملحظة أنه يجب أن يكون للملف المتداد “‪.‬رئيسك حتي تستطيع الصدارات الجديدة من مل(سِّر كأُبْدعك أن تترجمه و‬
‫تن(ذه‪.‬‬

‫‪14‬‬
‫المدونة الرسمية للغة البرمجة العربية كإبداعك‬
‫‪ebda3lang.blogspot.com‬‬
‫مدونتي الشخصية‬
‫‪afkar-abo-eyas.blogspot.com‬‬
‫مدونتي العلمية‬
‫‪abo-eyas.blogspot.com‬‬

‫‪15‬‬

You might also like