تعريف Algorithm (الخوارزمية )
بدايةً كل عام وانت بخير وعيدكم مبارك مقدماً في هذه التدوينة ستتعرف معي على تعريف Algorithm (الخوارزمية ) بلا شك يعتبر الحاسوب اداة يطوعها الانسان لحل المشاكل وفق خطة معده لذلك , ويقتصر عمل الحاسوب فقط على تنفيذ التعليمات المعده مسبقاً من قبل المبرمج فالحاسوب ليس له القدرة على التفكير والتحليل وتمييز الصواب والخطأ مثلنا نحن البشر.
لذلك صحة النتائج تعتمد في الاساس على الخطه المعده هذه الخطه نسميها خوارزميه .
اذن تعريف الخوارزمية Algorithm :
هي الخطه المعده لحل مسألة ما والتي تتكون من خطوات متسلسلة ومترابطة منطقياً تعمل على حل المشكلة.. فالجزء الأهم في تعلم البرمجة هو الجزء الخاص بإعداد الخطه وهي الخوارزمية ثم بعد ذلك نستطيع ترجمة الخوارزمية بالاستعانه بالحاسوب وتحويلها الى تعليمات يفهمها الحاسوب وتتم تلك الترجمه بإستخدام احدى لغات البرمجة ..وكلمة خوارزمية هي كلمة عربية الاصل مشتقه نسبة للعالم العربي المشهور الخوارزمي الذي كان اول من وضع اسس لحل المسائل بشكل تتابعي ( برمجة الحل خطياً).وتقوم الخوارزمية بتحديد الترتيب اللازم اتباعة من اجل تنفيذ الافعال المرتبطة بمسألة ما ...ولكي تفهم الخوارزميه اكثر تأمل هذا المثال سنأخذ على سبيل المثال ترتيب الافعال التي يقوم بها طالب طموح يريد تحقيق هدف وهو الحصول على منحة خارجية وهو لا يزال في الاساسية اذن ستكون الخطوات التي يجب ان يتبعها لكي يصل الى الهدف هي كما يلي :
- اكمال المرحله الاساسية .
- مواصلة التعليم لإكمال الثانوية العامة .
- الاجتهاد والمثابرة للحصول على معدل عالي.
- خوض امتحان الثانوية العامة .
- انتظار إعلان النتائج.
- التقدم في المنافسة على المنح الخارجية.
- التقدم بطلب الحصول على جواز سفر .
- التقدم بطلب تأشيرة سفر للدولة المقصودة.
- حجز وشراء تذاكر للسفر.
- المغادرة في الموعد الزمني المحدد.
- الان بعد ان كتبنا الخطوات يمكن تمثيل هذه الخوارزمية بعد ايضاح جميع التعليمات والاوامر المتسلسلة التي يراد تنفيذها في كل خطوة بواسطة مثلاً مخطط سير العمليات التي سنتطرق له لاحقاً .
ماهو الفرق بين الخوارزمية Algorithm ولغه البرمجه :
تعرفنا عن الخوارزمية اما لغه البرمجه فهي عباره عن مجموعه من التعليمات والقواعد من السهل تعلمها ..اذن تكمن الصعوبه في اعداد الخطه وهي الخوارزمية.قبل ان ندخل الى لغة الخوارزميات دعونا نتطرق الى الامور التي نحتاجها عند تصميم البرامج.
تصميم البرامج :
بما ان البرنامج عباره عن سلسلة من التعليمات متسلسلة وتقوم بحل مسألة معينة اذن ليقوم الحاسوب بتنفيذ تلك التعليمات لابد من اتخاذ مجموعة من الخطوات هذه الخطوات هي :1- تعريف المسألة
تعريف المسألة يقصد به ضرورة فهم المسألة المراد حلها بحيث تكون مفهومة بصورة واضحة وبدون اي غموض .2- تحليل المسألة :
يقصد بها وضع طريقة بهدف الوصول الى حل صحيح ويتم ذلك بإستخدام قوانين وطرق رياضية تناسب حل المسألة وفي معظم الاحيان تحتاج الى تطوير تلك القوانين والطرق لكي تناسب الحل وفي خطوة التحليل يجب تحديد الاتي :- طبيعة البيانات المدخلة.
- تحديد نوع البيانات المدخلة وتنظيم ادخالها للحاسوب.
- طبيعة المخرجات ( النتائج) وتنظيم كتابتها.
- طرق الحل المناسبة وتقييمها بما يتلاءم مع كيفية تنفيذها بالحاسب الآلي.
- وعلى ضوء ذلك يتم اختيار الحل الافضل.
3- برمجة الحل خطياً :
بعد اختيار طريقة الحل المثالية وتحديد كل ما تشملة من علاقات رياضية يتم التعبير عنها على شكل خطوات متسلسلة ومترابطة منطقياً دقيقة الوصف تؤدي للوصول لحل المسأله هذه الخطوات تعرف بالخوارزميات .مخطط سير العلميات:
تعرفنا سابقاً ان الخوارزمية هي مجموعة من الخطوات المتسلسلة التي تصف بصورة دقيقة وبدون اي غموض جميع الخطوات الرياضية والمنطقية اللازمه لحل مسألة ما ..لكن هذا الوصف في كثير من الاحيان يكون معقداً وصعب الملاحظه والتتبع لذلك جاءت اهمية مخططات سير العمليات ويكون استخراج الخوارزمية من هذه المخططات ذو سهوله كبيرة .اذن مخططات سير العمليات عباره عن مجموعة من الاشكال الرمزية الاصطلاحية
فوائد الخوارزميات ومخططات سير العمليات
- تساعد الخوارزميات المبرمجين في تطوير البرامج وتمكنه من الالمام الكامل بالمشكلة او المسألة المراد حلها كما انها تساعدة على السيطرة على كل اجزاء المسأله .
- تساعد بكل سهولة على تعديل البرامج الموضوعة .
- يعتبر الاحتفاظ برسوم خرائط سير العمليات لحلول مسائل معينة امرا مهما ويكون مرجعا في حل المسائل عند اجراء اي تعديل .
- توفر وسيلة مناسبة ومساعدة في كتابة البرامج ذات التفرعات الكثيرة .
هذا بعض مما يتعلق بالخوارزمية Algorithm وهناك الكثير سنتعرف عليها اكثر في الدورة التي سيتم نشرها في هذه المدونة عن لغة البرمجة C++ قريباً ان شاء الله . استودعكم الله .
نلتقي في تدوينة قادمة بإذن الله
إرسال تعليق
لا تبخل علينا باقتراحك او قم بمشاركة الموضوع ليستفيد الاخرين ايضاً شكرا لزيارتك عزيزي الزائر