الخوارزمية (Algorithm) عبارة عن مجموعة من الخطوات الرياضية والمنطقية والمتسلسلة اللازمة لحل مشكلة ما. وسميت الخوارزمية بهذا الاسم نسبة إلى العالم المسلم الفارسي أبو جعفر محمد بن موسى الخوارزمي الذي ابتكرها في القرن التاسع الميلادي. كلمة خوارزم (algorism) في الأصل كانت مقتصرة على القوانين الرياضية التي تستخدم الأرقام العربية و طُّوِرت في اللاتينية من الخوارزمي (al-Khwarizmi) لتصبح (algorithm) في القرن الثامن عشر الميلادي لتشمل جميع إجراءات حل المشكلات و تنفيذ المهمات.
هناك ثلاث تراكيب لبناء البرامج و كتابة الخوارزميات. الفكرة تكمن في أن أي برنامج أو خوارزمية يجب أن تتكون من هذه التراكيب الثلاثة فقط: التسلسل (sequence) ، الاختيار (selection),التكرار (repetition).
1- التسلسل: تكون الخوارزميةعبارة عن مجموعة من التعليمات المتسلسلة,هذه التعليمات قد تكون إما بسيطة أو من النوعين التاليين.
2- الاختيار : بعض المشاكل لايمكن حلها بتسلسل بسيط للتعليمات ، و قد تحتاج إلى اختبار بعض الشروط و تنظر إلى نتيجة الاختبار, إذا كانت النتيجة صحيحة تتبع مسار يحوي تعليمات متسلسلة,و إذا كانت خاطئة تتبع مسار آخر مختلف من التعليمات.هذه الطريقة هي ماتسمى اتخاذ القرار أو الاختيار .
3- التكرار : عند حل بعض المشاكل لا بد من إعادة نفس تسلسل الخطوات عدد من المرات. و هذا مايطلق عليه التكرار .
و قد أثُبت أنه لاحاجة إلى تراكيب إضافية.استخدام هذه التراكيب الثلاث يسهل فهم الخوارزمية و اكتشاف الأخطاء الواردة فيها و تغييرها.
1- المخطط الانسيابي (Flowchart) : هو تمثيل مصور للخوارزمية يوضح خطوات حل المشكلة من البداية إلى النهاية مع إخفاء التفاصيل لإعطاء الصورة العامة للحل. و يمكن تصنيفها إلى أصناف ثلاثة هي:
2-الشفرة المزيفة (pseudocode) : تمثيل الخوارزمية بلغات البشر كالانجيليزية أو الفرنسية أو العربية أو بلغات البرمجة كالباسكال (Pascal).البعض يستخدم الكثير من التفاصيل و البعض الآخر يستخدم القليل ... فلا قاعدة معينة لكتابة هذا النوع من الشفرات.