مقدمة في تدفق الأوامر
تدفق الأوامر (Control-flow) هو ما يحدّد الأمر التالي الذي يُنفَّذ: هل نتابع مباشرة، أم نختار فرعًا بشرط، أم نعيد خطوة؟
في المنطق الرقمي تنتظم الأوامر في ثلاثة صور:
- تتابع (Sequence): وهو الأصل؛ حيث يكون الانتقال من الأمر إلى الأمر الذي يليه مباشرة
- اختيار (Selection): حيث يكون الانتقال مشروطًا
- تكرار (Iteration): وهو نوعٌ من الاختيار، يكون فيه الانتقال إلى الوراء؛ ويتم لنا بذلك الإعادة
فإن جملة التعيين التالية تكتُب قيمة 20 في نفس المحلّ الذي كتبت عليه جملة التعيين الأولى 10. لذا ظهرت النتيجة: 20.
ما أهميَّة ملاحظة معنى التدفق في الحياة؟
يُرى التدفق (Flow) المستمر في النظام الميكانيكي للسيارة ليبقيها سائرة بفعل الوقود. كما يُرى في حركة الطاحونة المائية حيث يدفعها جريان النهر فيحركها معه، وفي شراع السفينة حيث تضرب فيه الرياح. والكهرباء مثلها تيار يسري في أنبوبة المصباح ليبقيه منيرًا، أو في نظام التكييف ليبقي الجو باردًا.
وأصل المنطق الرقمي (Digital Logic) تيارات كهربائية لها تردد ينبض بسرعة فائقة لما تلتقطه عين الإنسان. فإذا نظرت للإشارة علمت أننا تحكمنا في سرعة هذا التردد بحيث تصبح ألوان الإشارة تتبدل وتنطفئ وتُشعَل بتوقيتٍ مضبوط. لكنها مع ذلك ليست خوارزميَّة؛ لأنها أشبَهُ بالكُرة التي تُدفعُ من أعلى مُنحَدَرٍ فتتدحرجُ بفعل الجاذبية — تعملُ الإشارة بوتيرة معلومة وتدور مادامت الكهرباء تنبض فيها.
ولا يكاد يخلو برنامج مفيد من اتخاذ قرارات مغايرة بناءً على اختلاف الظروف المكانية والزمانية والواقعية. فلو كان نظام التحكُّم في التقاطُع المروري يراعي حركة السيْر بحيث يُقدِّم ويؤخِّر في توقيت فتح إشاراته لتحقيق أعلى كم من العبور للسيارات؛ فإننا نسميها إشارة ذكيَّة (Smart). وهذه خوارزمية.

ومن أمثلة ذلك:
- مراعاة المكان: جعل السيارة الآلية تتقيَّد بالسرعة القانونية للشارع الذي هي فيه
- مراعاة الزمان: توقيت إيقاف المكيِّف حتى تستيقظ في الصباح الباكر
- مراعاة الواقع: إضاءة المصباح عند استشعار حساس الحركة بدخول شخصٍ إلى الغرفة
ويتم ذلك بأوامر التحكم في سير الأوامر وهي جُمَل شرطيَّة ينبني عليها اختيار الأمر التالي.
وإذا استُعمِلَت هذه الأنماط لتحقيق غاية محددة بعدد محدود من الخطوات، صار اسمها خوارزمية (Algorithm).