السلام عليكم ورحمة الله أهلا بكم مرة أخرى , كما رأيتم في العنوان اليوم سنتكلم عن ' الخوارزميات
' كلمة تسمعونها كثيرا خاصة
في المدرسة او عندما نتحدث عن البرمجة لكن الكثيرون منا لا
يعرفون معنى هذه الكلمة أو علاقتها بالبرمجة , حتى أكبر المبرمجين ,و
بعض الأساتذة في مؤسستي شخصيا يشرحونها بطريقة غير واضحة مع كل الا حترام لأساتذة الانه في الاخير يبقى أساتذ ومن واجبي احترامه لهذا
بعد أن تعمقت في الكلمة وبحثت عن معنيها في عدة مواقع اجنبية وعربية
واستوعبتها حان الوقت لأشارك ما تعلمته معكم :
الخوارزميات : أساس البرمجة , نعم أساس
البرمجة فالخوارزميات هي تلك الخطوات التفكيرية التي تفكر كيف تترجمها إلى
مشروع ما , وهي مجموعة من العلاقات المنطقية التي تحاول من خلالها حل مشكل
ما , و تحليل المشكلة أو التفكير بكيفية برمجة شيء هو خوارزمية بحد ذاته ,
هل الشرح معقد ؟ سأعطيك مثال يوضح لك الأمر :
سأقول لك إذهب وفتح الباب مثلا ,أنت إنسان ستعرف ذلك , لو أردت أن تجعل
روبوت يفعل الأمر مكانك فأنت ستبرمجه على ذلك مثلا ستقول له : إذهب خمس
خطوات إلى اليمين , ثم خطوة لليسار , ثم أمسك مقبض الباب وأدره خمس درجات
لليسار وإدفع الباب بزاوية 40 درجة , هذا ما يسمى بالخوارزميات , أي أنني
أعطي أوامر لو طبقت سأصل للشئ المطلوب وهذا ما تقوم عليه البرمجة فأنت
عندما تكتب في css مثلا خلفية بيضاء وعرض 14 بيكسل .... فأنت تعطي لموقع
الويب أمرا سيطبقه , وهكذا تعمل كل اللغات , مثال أخر : في php عندما تكتب
دالة شرط ما مثلا ستقول إذا أدخل الرقم 3 في هذه الخانة إقبله وإذا أدخل
رقم أخر إرفضه .
فالبرمجة هي مجموعة من الرموز تعبر عن شئ ما . وهذه الرموز تكون مشروع معين ( برنامج , موقع , تطبيق , نظام تشغيل ...) .
سأشرح لكم كيف يقوم الكمبيوتر باستقبال الاوامر التي نكتبها له بواسطة أي لغة برمجة وترجمتها
المرحلة الأولى :
في ورقة تقوم بتحليل معطيات مشروعك أو العمل الذي تود أن تكتب المراحل
المنطقية لإنجازه حيث ستقوم الآلة بإنجازه أوتوماتيكيا وبشكل روتيني وقت ما
تريد أنت.
المرحلة الثانية :
الأن لديك كل المعطيات اللازمة وأهم المراحل اللازمة لحل مشكلتك أو لإنجاز
مشروعك وسوف تقوم بترجمة هذه المعطيات إلى إشارات منطقية أو كود خوارزميات .
المرحلة الثالثة والأخيرة :
وهي ترجمة الكود الخوارزمي للغة التي يعرفها الكمبيوتر , فالكمبيوتر يعرف 0
و 1 فقط وذلك حسب لغة البرمجة , ولإنجاز كل المهام فإن هناك خاصية الترجمة
لدى كل برنامج , فبعد قيامنا بعملية Compilation يقوم بترجمة الكود
البرمجي الذي كتبناه إلى 0 و 1 حتى يتمكن الكمبيوتر من إنجاز العمل المطلوب
منه .
خصائص الخوارزميات :
1- تحديد النهاية :
أين أن المبرمج يجب أن يحدد نهاية لمشروعه , بمعنى أخر ما الذي أريد أن أصل إليه في النهاية .
2- عدم الغموض :
أي يجب أن يكون الكود الذي تكتبه واضح فبمجرد أن أراه أو يراه شخص أخر نعرف ما هو مكتوب .
3- الفعالية :
أي اكتب ما ستحتاجه فالسطر البرمجي الذي لا فائدة له احذفه واجعل مشارعك أفضل وأسرع وبمرونة كبيرة بدون أي تعقيد .
الختام :
- اذا كنت لم تكن تعلم الخوارزميات التى تكلمنا عنها فى بداية المقال . كن طموح . الان انت لديك تحديدا لفهم ما يطلق عليه المصطلح ( الخوارزميات ) . كامبرمج محترف , فهو مهم ان تفهم ان الكود الذى ستكتبه سوف يكون محسن و منظم . و من المهم ايضا ان نحدد وقتا نقوم فيه بتحليل الكود .
إلى هنا أتمنى أن أكون قد أفدتكم في
معرفة الخوارزميات , إذا وجدتم خطأ أخبروني فأنا إنسان والإنسان مخطأ , فإن
أصبت فمن الله وإن أخطأت فمن نفسي ومن الشيطان
للتواصل مع الكاتب ايوب امغار على الفيسبوك اضغط هنا
أضف تعليق:
0 comments: