رغم أن الكمبيوتر يتميز بقدرته الهائلة على إنجاز العمليات الحسابية بسرعة فائقة و بدقة متناهية و بإمكانياته الكبيرة في حفظ المعلومات . فهو يعجز على القيام بحل أي مسألة مهما كانت بسيطة بشكل الي ، فهو يقوم بايجاد الحلول للمسائل التي تبرمج له بشكل صحيح . لذا سوف نستعرض في هذه التدوينة تعريف الخوارزمية التي تعتبر من أهم العلوم في فرع المعلوماتية .
الخوارزمية ( Algorithm ) أسسها العالم المسلم محمد بن مسلم الخوارزمي في القرن التاسع الميلادي ، تبحث عن حلول لمسائل في مجال الحاسب الالي بغية انتاج البرامج ، كما تبحث أيضا في إيجاد الحل الأفضل في حال تعدد الحلول ( زمن المعالجة وحجم الذاكرة اللازمة لتنفيذ الخوارزمية ). يقتصر معناها على التسلسل والاختيار والتكرار .
التسلسل : الخوارزمية عبارة عن مجموعة من التعليمات المتسلسلة ، إما بسيطة أو من النوعين أسفله .
الاختيار : بعض المشاكل تحتاج إلى اختبار بعض الشروط وتنظر إلى نتيجة الاختبار ، إذا كان الشرط صحيح تتبع مسارالاول وإذا كانت خاطئة تتبع مسار آخر مختلف من التعليمات . هذه الطريقة تسمى الاختيار أو الشرط.
التكرار: في بعض المشاكل لا بد من إعادة نفس تسلسل الخطوات عدد من المرات.
عرف العالم الخوارزمي في كتابه “فن البرمجة” الخوارظمية بأنها مجموعة من القواعد التي تتميز بالصفات التالية:
تكون منتهية بعد عدد منته من التعليمات
محددة و دقيقة
تحديد مجال تعريف معطيات الدخل إن وجدت ( أعداد صحيحة ، أعداد عشرية ، حقيقية ، أحرف ……. الخ )
هناك نتيجة ( واحدة على الاقل )
كل العمليات قابلة للتنفيذ و في وقت منته
أمثلة عن بعض الخوارزميات :
تصفح الانترنت Internet Surfing : نظرا للعدد الكبير من مستخدمي شبكة الإنترنت ، والتبادل الكبير جداً من المعلومات لابد من تأمين دخول هذا العدد الكبير من الزبائن وتأمين المعلومات لهم فقد تمَّ تطوير ما يسمى بالخوارزميات الذكية ، المسؤولة عن عملية تخزين وتحصيل المعلومات بشكل سريع، و أشهرها خوارزمية محرك بحث Google.
التجارة الإلكترونية Electronic Commerce : تم تطوير خوارزميات التشفير والتوقيع الرقمي Digital Signature لتأمين حماية المعلومات الشخصية مثل: اسم المستخدم، كلمة المرور، رقم بطاقة الائتمان .
البحث : ايجاد عنصر مع خصائص معينة في مجموعة من العناصر . قد تكون العناصر محفوظة بشكل فردي في قاعدة بيانات أو عناصر محددة بواسطة صيغة رياضية كجذور معادلة مع متغيرات صحيحة .
تمثيل الخوارزمية :
1- خرائط الانسياب ( Diagram ): هو تمثيل مصور للخوارزمية يوضح خطوات حل المشكلة من البداية إلى النهاية مع إخفاء التفاصيل . و يمكن تصنيفها إلى أصناف أربعة هي:
مخططات سير العمليات التتابعية ( Sequential Flowcharts ) . ترتيب الخطوات في هذا النوع على شكل سلسلة مستقيمة من البداية حتى النهاية .
مخططات سير العمليات ذات التفرع ( Branched Flowcharts ) . يحدث التفرع في هذا النوع بسبب الحاجة لاتخاذ قرار أو المفاضلة بين اختياريين أو أكثر .
مخططات سير العمليات ذات التكرار والدوران (Loop Flowchart ) . يحدث لاعادة عملية أو مجموعة من العمليات في البرنامج عددا محدود من المرّات .
مخططات سير العمليات ذات الاختيار و الشرط (Selection Flowcharts) . غالبا ماتكون متداخلة ومعقدة .
كيفية وضع خوارزمية
مثال عن الخورازمية
2 – الشفرة الوصفية (Pseudocode ): وصف الخوارزمية بلغات البشر كالعربية أة الإنجليزيةبطريقة مشابهه للغات البرمجة . البعض يستخدم الكثير من التفاصيل (لتصبح قريبة من لغات البرمجة) والبعض الآخر يستخدم القليل ( أي أقرب للغة البشر) فلا قاعدة معينة لكتابة هذا النوع من الشفرات.
مثال بسيط بلغة الباسكال
procedure fizzbuzz
For i:= 1 to 100 do
Print i;
end
التعليقات