ما هي الخوارزمية؟
هل تعرف ما هي الخوارزمية؟
ربما سمعت الكلمة، وربما لم تسمعها قط.
لكنك تصنع خوارزميات كل يوم… دون أن تدري.
حين تستيقظ من النوم، ماذا تفعل أولًا؟
هل تغسل وجهك؟
أم ترتب سريرك؟
هل هناك خطوات تتكرر؟
هل تفعل الأشياء دائمًا بنفس الترتيب؟
أم تغيّرها حسب المزاج؟
إذا فكّرت قليلاً… ستجد أن هناك نمطًا داخليًا في كل ما تقوم به.
ذلك النمط، تلك الطريقة المنظمة التي تمشي بها من خطوة إلى أخرى،
هي بالضبط ما يسمّى خوارزمية.
الخوارزمية ليست معادلة.
وليست سحرًا رقميًا.
وليست حكرًا على المبرمجين.
الخوارزمية فكرة.
فكرة تقول:
> "إذا أردت الوصول إلى شيء، قسمه إلى خطوات صغيرة…
ثم امشِ نحو الهدف، خطوة خطوة."
هل تريد أن تصنع ساندويتش؟
فكّر:
1. ماذا أحتاج؟
2. بأي ترتيب أضع المكونات؟
3. وماذا أفعل إذا لم أجد الخبز؟
هذه ليست وصفة طعام فقط…
إنها خوارزمية.
أحيانًا تكون الخوارزمية قصيرة، مثل غمضة.
وأحيانًا طويلة، مثل طريق.
لكنك كلما تعلمت كيف تصنع خطواتك بوضوح،
كلما صارت الحياة أسهل،
وصارت أفكارك أنظف.
هذا هو سر الخوارزمية…
أنها تعلمنا كيف نفكر،
لا كيف نُبرمج فقط.
---
لكن…
ماذا إن أردنا أن نعلّم هذه الخوارزمية لحاسوب؟
ماذا إن أردنا أن نُخبره كيف يُعدّ الساندويتش، أو يغسل وجهه، أو يرتب السرير؟
هنا تأتي البرمجة.
البرمجة هي ببساطة:
> "أن تكتب الخوارزمية بلغة يفهمها الحاسوب."
مثلما يمكن لطفل أن يروي قصة بالعربية، أو بالفرنسية، أو بالإشارة…
يمكنك أن تكتب نفس الخوارزمية بلغة Python، أو Scratch، أو C، أو غيرها.
خذ مثلًا هذه الخوارزمية البسيطة:
> "إذا كانت السماء تمطر، أحمل المظلة، وإلا فاخرج عاديًا."
بالكود، يمكن أن نكتبها هكذا
:
🔸 بلغة Python:
if sky == "rainy":
take("umbrella")
else:
go_out()
🔸 بلغة C:
if (sky == "rainy") {
take("umbrella");
} else {
go_out();
}
الخوارزمية هي نفسها.
المنطق واحد.
لكن اللغة تختلف.
تمامًا كما تقول:
> "أنا عطشان"
بالفرنسية: j’ai soif
وبالإنجليزية: I’m thirsty
أنت لا تتغير… فقط تتغير لغة التعبير.
---
وهنا تبدأ الرحلة الحقيقية.
رحلة ترجمة تفكيرك إلى لغة يفهمها الحاسوب.
رحلة من التفكير... إلى الخوارزمية... إلى البرمجة.
وسنكتشف لاحقًا كيف تتغيّر الخوارزميات حسب المواقف،
وكيف نُخبر الحاسوب بما نحتاجه، ومتى، وبأي شكل.
لكن لا تتعجّل…
فالخطوة الأولى، دائمًا، هي أن تتعلّم كيف تفكر.
