[مقالة] الخوارزميات أول شئ عليك معرفته قبل أن تصبح مبرمج

السلام عليكم ورحمة الله أهلا بكم مرة أخرى , كما رأيتم في العنوان اليوم سنتكلم عن ' الخوارزميات ' كلمة تسمعونها كثيرا خاصة عندما نتحدث عن البرمجة لكن الكثيرون منا لا يعرفون معنى هذه الكلمة أو علاقتها بالبرمجة , حتى أكبر المبرمجين , لهذا بعد أن تعمقت في الكلمة وبحثت عن معنيها في عدة مواقع اجنبية وعربية واستوعبتها حان الوقت لأشارك ما تعلمته معكم :
الخوارزميات : أساس البرمجة , نعم أساس البرمجة فالخوارزميات هي تلك الخطوات التفكيرية التي تفكر كيف تترجمها إلى مشروع ما , وهي مجموعة من العلاقات المنطقية التي تحاول من خلالها حل مشكل ما , و تحليل المشكلة أو التفكير بكيفية برمجة شيء هو خوارزمية بحد ذاته , هل الشرح معقد ؟ سأعطيك مثال يوضح لك الأمر :

سأقول لك إذهب وفتح الباب مثلا ,أنت إنسان ستعرف ذلك , لو أردت أن تجعل روبوت يفعل الأمر مكانك فأنت ستبرمجه على ذلك مثلا ستقول له : إذهب خمس خطوات إلى اليمين , ثم خطوة لليسار , ثم أمسك مقبض الباب وأدره خمس درجات لليسار وإدفع الباب بزاوية 40 درجة , هذا ما يسمى بالخوارزميات , أي أنني أعطي أوامر لو طبقت سأصل للشئ المطلوب وهذا ما تقوم عليه البرمجة فأنت عندما تكتب في css مثلا خلفية بيضاء وعرض 14 بيكسل .... فأنت تعطي لموقع الويب أمرا سيطبقه , وهكذا تعمل كل اللغات , مثال أخر : في php عندما تكتب دالة شرط ما مثلا ستقول إذا أدخل الرقم 3 في هذه الخانة إقبله وإذا أدخل رقم أخر إرفضه .

فالبرمجة هي مجموعة من الرموز تعبر عن شئ ما . وهذه الرموز تكون مشروع معين ( برنامج , موقع , تطبيق , نظام تشغيل ...) .

سأشرح لكم كيف يقوم الكمبيوتر باستقبال الاوامر التي نكتبها له بواسطة أي لغة برمجة وترجمتها
المرحلة الأولى :
في ورقة تقوم بتحليل معطيات مشروعك أو العمل الذي تود أن تكتب المراحل المنطقية لإنجازه حيث ستقوم الآلة بإنجازه أوتوماتيكيا وبشكل روتيني وقت ما تريد أنت.
المرحلة الثانية :
الأن لديك كل المعطيات اللازمة وأهم المراحل اللازمة لحل مشكلتك أو لإنجاز مشروعك وسوف تقوم بترجمة هذه المعطيات إلى إشارات منطقية أو كود خوارزميات .
المرحلة الثالثة والأخيرة :
وهي ترجمة الكود الخوارزمي للغة التي يعرفها الكمبيوتر , فالكمبيوتر يعرف 0 و 1 فقط وذلك حسب لغة البرمجة , ولإنجاز كل المهام فإن هناك خاصية الترجمة لدى كل برنامج ,  فبعد قيامنا بعملية Compilation يقوم بترجمة الكود البرمجي الذي كتبناه إلى 0 و 1 حتى يتمكن الكمبيوتر من إنجاز العمل المطلوب منه .

خصائص الخوارزميات :

1- تحديد النهاية :
أين أن المبرمج يجب أن يحدد نهاية لمشروعه , بمعنى أخر ما الذي أريد أن أصل إليه في النهاية .
2- عدم الغموض :
أي يجب أن يكون الكود الذي تكتبه واضح فبمجرد أن أراه أو يراه شخص أخر نعرف ما هو مكتوب .
3- الفعالية :
أي اكتب ما ستحتاجه فالسطر البرمجي الذي لا فائدة له احذفه واجعل مشارعك أفضل وأسرع وبمرونة كبيرة بدون أي تعقيد .

إلى هنا أتمنى أن أكون قد أفدتكم في معرفة الخوارزميات , إذا وجدتم خطأ أخبروني فأنا إنسان والإنسان مخطأ , فإن أصبت فمن الله وإن أخطأت فمن نفسي ومن الشيطان
By