الخوارزميات
تكوين الخوارزمية
تبدأ عملية تكوين الخوازمية بتعريف المسألة ثم يليها عملية التحليل لوضع و تأسيس قواعد عامة للمسألة و تحويلها إلى إجراءات بسيطة لحل المسألة ،لكي تكون الخوارزمية ناجحة يجب أن تتمتع بخصائص معينة:المحدودية و التماسك و الوثوقية
في حين أن سرعة الخوارزمية و مردودها تحدده عدد الخطوات فيها
تعود العمليات المستخدمة في تكوين الخوارزمية إلى إحدى الأشكال التالية
عمليات تتابعية
تستخدم لتنفيذ مسألة وحيدة معروفة جيداً و عند الإنتهاء من تلك المسألة تنتقل الخوارزمية إلى العملية التالية و تتضمن لغة شبة الترميز "تعابير باللغة الإنكليزية تؤلف مجموعة مقولات" تعليمات لتنفيذ العمليات التتابعية الأساسية :الحساب و الدخل و الخرج
عند تصميم الخوارزمية لا نهتم بتفاصيل النظام بل نفترض أن المعطيات متوفرة لدينا عندما نحتاجها و ترسل النتائج للتمثيل عند طلبها
عمليات شرطية
تتضمن طرح أسئلة و يتم الانتقال إلى العملية التالية بناءً على الجواب حيث يتم تنفيذ مجموعة محددة من العمليات أو مجموعة أخرى مغايرة لها
عمليات تكرارية
يتم تكرار مجموعة من العمليات لتنفيذ حلقة معينة و عندما يتكون البرنامج من مجموعة من التعليمات التتابعية التي لاتتضمن اختبار أو تفرع بل تنفذ بشكل متسلسل نسمي الخوارزمية بالمباشر لأنها تنفذ مجموعة التعليمات مباشرة من الأعلى إلى الأسفل ثم تتوقف لكن في الحقيقة تتضمن معظم المسائل العملية عمليات اختبار و تفرع و تدعى عمليات تحكم حيث تتحكم بآلية و مراحل سير الخوارزمية و تغير انسياب المعطيات
تسمح العمليات الشرطية بطرح الأسئلة ضمن الخوارزمية و يتم تحويل انسياب المعطيات اعتماداً على الجواب و يتوفر خيارات متعددة لتشكيل السؤال
******************************
أنواع الخوارزميات
يوجد أنواع مختلفة للخوارزمية حيث تحدد بالتقنية المستخدمة في حل المسألة المطروحة
خوارزمية ذات شكل مغلق
ينتج عمها حل دقيق باستخدام حسابات مباشرة
خوارزمية ذات شكل مفتوح
ينتج عنها حل تقريبي باستخدام طرائق عددية
خوارزمية تفكيك
تعتمد على تفكيك المسألة إلى مسائل جزئية أصغر لتصبح أكثر سهولة للحل
خوارزمية موجهه
ينتج الحل باستخدام تقنيات تكيف التجريب و الخطأ
خوارزمية القوة الفضة
تستخدم بحث شامل لإيجاد أفضل الحلول لوصف المسألة
********************************
تمثيل الخوارزميات
عند البدء بوضع الخوارزمية يطرح دائما:كيف يمكن أن نمثل الخوارزمية؟ و ما هي أشكال التوين التي يمكن إستخدامها للتعبير عن الخوارزمية كي تكون واضحة و دقيقة و غير غامضه؟
نستطيع تمثيل الخوارزمية بأشكال متعددة منها استخدام اللغة الطبيعية "اللغة التي نستخدمها في حياتنا اليومية"الغة العربية أو الإنكليزية........إلخ"" و نجد أن استخدام اللغة الطبيعية لتمثيل الخوارزمية تبدو مملا وخاصة عندما يحتاج صفحات عده اتمثيل الخوارزمية كما أن اللغة الطبيعيه تتصف بالغنى بالأوصاف و المعاني و تعتمد في الفهم على خبرة قارئ النص بمعرفة المعنى الدقيق للجملة المكتوبة إذ في حين قراءة النص من قبل أشخاص متعددين نحصل على معاني مختلفة لكن يجب أن لا يقبل النص إلا تفسيراً واضحاً دون لبس أو غموض
عند تنفيذ الخوارزمية باستخدام الحاسب ينبغي أن تكتب تلك الخوارزمية باللغة التي يفهما الحاسب حتى يستطيع ترجمتها و تنفيذ المطلوب و هذا ما يجعلنا نفكر في تمثيل الخوارزمية على شكل برنامج حاسب مهيكل باستخدام لغة باسكال أو بيسيك أو جافا أو غير ذلك
تعتبر طريقة التمثيل باستخدام لغة برمجية أسهل و أوضح من استخدام اللغة الطبيعية