كيفية كتابة الخوارزمياتما هي طرق / خطوات كتابة الخوارزمية؟يتم حل أي مشكلة (تصميم الخوارزمية) في أربع خطوات رئيسية، ولكي تتمكن من فهم كل خطوة جيدا سوف أطرح مشكلة برمجية بسيطة ونقوم بحل المشكلة من خلال تطبيق خطوات كتابة الخوارزميةإكتب خوارزمية للحصول على المتوسط الحسابي لرقمين وقم بطباعة النتيجة1. تعريف المشكلة - Problem Definitionيعتبر تعريف أو تحديد المشكلة هو أولى خطوات الحل للمشكلة، حيث يتم تحديد المدخلات والمخرجات بكل دقة ووضوح على شكل متغيرات - Variables، فيتوجب عليك كمبرمج أن تقوم بتحديد المفاهيم الخاصة بالمشكلة على هيئة متغيرات ذات إسم محدد ونوع بيانات محدد، حيث يتم الإشارة إلى هذه البيانات في الخوارزمية من خلال الإسم، ونوع البيانات يحدد العمليات التي يمكن إجراؤها على البيانات، يوجد العديد من أنواع البيانات ولكن يمكنك أن تصنف البيانات في نوعين رئيسيين وهم البيانات الرقمية والبيانات النصية.في هذه الخطوة عادة ما يتم إنشاء جدول بالبيانات - Data Table، بحيث يحتوي هذا الجدول على تصنيفين رئيسيين وهم متغيرات المدخلات - Input Variables، متغيرات النتيجة - Output Variables.وبتطبيق هذه الخطوة على المثال، نحصل على جدول البيانات التاليالمدخلاتX الرقم الأولY الرقم الثانيالمخرجاتaverage المتوسط الحسابي للرقمين2. تصميم / كتابة الخوارزمية - Writing an Algorithmفي هذه الخطوة يجب على المبرمج التفكير في طريقة حل المشكلة، ثم تقسيم هذه الطريقة على مجموعة خطوات، بحيث تقوم كل خطوة بإجراء عملية واحدة فقط، ويجب الأخذ في الإعتبار ترتيب هذه الخطوات، لأن الكمبيوتر يقوم بتنفيذ هذه الخطوات واحدة تلو الأخرى بالترتيب الذي يقوم به المبرمج، ويجوز للمبرمج أن يقوم بتعريف متغيرات جديدة لتساعده في حل المشكلة، وفي هذه الحالة تسمى هذه المتغيرات بـ متغيرات البرنامج - Program Variables، وهذه المتغيرات لاتعد من المدخلات ولا من المخرجات.وقبل أن نبدأ في كتابة الخوارزمية يجب أن تعلم أن هناك طريقتين لكتابة الخوارزمية، وهم كالتاليالطريقة الكتابية - شبيهة الكود - Pseudo Codeوفي هذه الطريقة يقوم المبرمج بكتابة خطوات حل المشكلة (الخوارزمية) في تسلسل مرقم أو غير مرقم، وتكتب كل خطوة في سطر مستقل، ويستخدم المبرمج اللغة التي يتحدث بها سواء كانت العربية أو الإنجليزية لكتابة تسلسل الخطوات، ومن أهم مميزات هذه الطريقة هي المرونة، حيث يمكن للمبرمج كتابة أفكارة على شكل خطوات باللغة الأساسية التي يستخدمها في حياته اليومية، وعادة الخوارزميات المكتوبة جيدا بهذه الطريقة يسهل تحويلها إلى أكواد أو أوامر للكمبيوتر، والعيب الرئيسي في هذه الطريقة أنه مع كبر حجم الخوارزمية يصبح من الصعب تتبع خطواتها ومراجعتها، وأيضا من عيوب هذه الطريقة أنها لا تمكن المبرمجين الذين يتحدثون بلغة مختلفة عن التي كتبت بها الخوارزمية من فهمها. وبتطبيق هذه الطريقة على المثال نحصل على الخوارزمية التاليةStartRead: X, Ysum = X + Yaverage = sum / 2Write: averageEndإبدأإقرأ المدخلات: X, Ysum = X + Yaverage = sum / 2إطبع المتغير: averageالنهايةالمخطط الإنسيابي - خريطة التدفق - Program Flowchartوفي هذه الطريقة أيضا يقوم المبرمج بكتابة خطوات حل الخوارزمية ولكن بإستخدام مجموعة من الأشكال الهندسية الأساسية بحيث كل شكل يمثل خطوة من خطوات حل المشكلة، ويوجد معيار سائد ومتبع لإستخدام هذه الأشكال.من مميزات إستخدام هذه الطريقة أنها مباشرة وبسيطة ويسهل فيها تتبع خطوات الخوارزمية، وأيضا يمكن فهم الخوارزمية المكتوبة بهذه الطريقة من أي مبرمج أي كانت اللغة التي يتحدث بها، ومن أهم عيوب هذه الطريقة أنه يصعب تحويلها إلى أكواد إذا كنت تستخدم لغات برمجة مثل الـ C، ويصعب كتابة الخوارزميات المعقدة بهذه الطريقة.وقد خصصت مقال منفصل لـ شرح خرائط التدفق / المخطط الإنسيابي وشرح أهم الأشكال المستخدمة في تمثيل خطوات حل المشكلة وإستخدامات كل شكل في خريطة التدفق.المخطط الإنسيابي - خريطة التدفق - flowchart - لـ خوارزمية المتوسط الحسابي لرقمين3. تتبع / مراجعة الخوارزمية - Tracing the Algorithmفي هذه الخطوة نقوم بإختبار الخوارزمية التي قمنا بكتابتها، وذلك من خلال إدخال بيانات معروفة النتيجة مسبقا، خطوة بخطوة لقياس مدى صحة وكفاءة الخوارزمية، وبتطبيق ذلك على المثال سوف نستخدم الرقمين 7 و 3 حيث معروف أن المتوسط الحسابي الخاص بهم هو الرقم 5، ويتم ذلك على خطوات منفصلة كالتاليإدخال البيانات بحيث يصبح المتغير X يساوي الرقم 7، والمتغير Y يساوي الرقم 3حساب حاصل جمع الرقمين X و Y وتخزين نتيجة الجمع في المتغير sum، لتصبح قيمته تساوي الرقم 10حساب قيمة المتوسط الحسابي وذلك بقسمة قيمة المتغير sum على العدد 2 وهو مجموع البيانات التي تم إدخالها، ثم تخزين النتيجة في المتغير average، والتي سوف تصبح 5 وهو حاصل قسمة الرقم 10 على الرقم 2طباعة قيمة المتغير averageإنهاء البرنامجعند قراءة الخطوات السابقة قد تشعر ببعض الملل وذلك لأنك كإنسان بمجرد أن يطلب منك حساب المتوسط الحسابي للرقمين 7 و 3 قد تجيب مباشرة بأن النتيجة هي 5، ولكن كما أخبرتك عن القاعدة الأساسية لتعلم الخوارزميات، فكر مثل الكمبيوتر، الكمبيوتر يجب إعطاؤه التعليمات واحدة تلو الأخرى بالترتيب وبالتفصيل حتى يتمكن من حساب أو حل أو تطبيق أي خوارزمية، وذلك هو الهدف الأساسي من تعلم الخوارزميات للبرمجة.
4. تحويل الخوارزمية إلى برنامج للحاسوب - Writing Codeوهنا يجب عليك أن تتعلم أولا أي لغة برمجية لكي تتمكن من تحويل الخوارزمية التي قمت بتصميمها إلى برنامج، وفي هذه الخطوة سوف نستخدم لغة البرمجة جافا سكريبت مع لغة الترميز HTML لكي نتمكن من تطبيق المثالHTML, JavaScript<!DOCTYPE html><html><head><meta charset="utf-8" /><title>Algorithms</title></head><body><script type="text/javascript">// Read the Value of Xvar X = prompt("The value of X ?", 0);// Read the Value of Yvar Y = prompt("The value of Y ?", 0);// Convert X and Y to Numeric Data Type,// and Calculate the sum of X and Yvar sum = +X + +Y;// Calculate the Average of X and Yvar average = sum / 2;// Print the Value of Average to the Useralert("The average of X:" + X + " and Y:" + Y + " is " + average);</script></body></html>ولكي تفهم اكثر
شاهد الفيديو👇