رغم أن الكمبيوتر يتميز بقدرته الهائلة على إنجاز العمليات الحسابية بسرعة فائقة و بدقة متناهية و بإمكانياته الكبيرة في حفظ المعلومات . فهو يعجز على القيام بحل أي مسألة مهما كانت بسيطة بشكل الي ، فهو يقوم بايجاد الحلول للمسائل التي تبرمج له بشكل صحيح . لذا سوف نستعرض في هذه التدوينة تعريف الخوارزمية التي تعتبر من أهم العلوم في فرع المعلوماتية .

الخوارزمية ( 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