مفهوم الخوارزمية

ما هي الخوارزمية؟

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

Algorithmفكرة الحل قبل الكود

تعريف الخوارزمية

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

من أين جاء الاسم؟

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

الخوارزمية ليست لغة برمجة

🧠 الخوارزمية

الفكرة والخطوات المنطقية التي تحدد كيف نصل إلى النتيجة.

💻 البرنامج

ترجمة الحل إلى تعليمات مكتوبة بلغة يستطيع الحاسب تنفيذها.

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

أهمية الخوارزميات

أهمية الخوارزميات في مجال الحاسب

الخوارزمية ليست خطوة إضافية قبل البرمجة؛ بل هي الطريقة التي ننظم بها الحل حتى يستطيع الحاسب تنفيذه بصورة صحيحة.

WHY?لماذا نحتاجها؟
لماذا تعد الخوارزميات مهمة؟

🧭 تنظيم الحل

تحول الفكرة العامة إلى طريقة واضحة يمكن فهمها ومراجعتها.

🧱 أساس بناء البرنامج

البرنامج ينفذ حلًا؛ والخوارزمية تحدد منطق هذا الحل قبل كتابته بلغة برمجة.

🔎 اكتشاف المشكلات

مراجعة منطق الحل قبل البرمجة تساعد على اكتشاف العيوب مبكرًا.

🔁 الاستقلال عن اللغة

يمكن تنفيذ الفكرة الخوارزمية نفسها باستخدام لغات أو بيئات برمجية مختلفة.

⚡ اختيار حل أفضل

قد توجد أكثر من طريقة صحيحة للمهمة نفسها، ويمكن مقارنة الطرق من حيث البساطة وعدد الخطوات.

🤝 توضيح الفكرة

تساعد أعضاء الفريق على فهم طريقة الحل قبل الدخول في تفاصيل الكود.

هل يوجد حل واحد فقط؟

لا. قد توجد عدة طرق تحقق النتيجة نفسها. مثل البحث عن اسم في قائمة: يمكن فحص العناصر واحدًا واحدًا، وقد توجد طريقة أكثر تنظيمًا عندما تكون البيانات كبيرة ومرتبة.

في هذه المرحلة يكفي أن يدرك المتدرب أن صحة الحل لا تعني دائمًا أنه أفضل حل، دون الدخول في تحليل التعقيد أو Big-O.

الخوارزميات ومجالات الحاسب

الخوارزميات ومجالات الحاسب

الخوارزميات موجودة خلف كثير من الخدمات التي نستخدمها يوميًا. تختلف المشكلة، لكن الفكرة واحدة: خطوات وقواعد تقود إلى نتيجة.

تطبيقات كثيرة
كيف ترتبط الخوارزميات ببقية مجالات الحاسب؟

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

مشكلة في مجال حاسوبيخوارزمية مناسبةتنفيذ داخل برنامج أو نظامنتيجة
💻

البرمجة

تحدد الخوارزمية منطق الحل، ثم تُحوَّل خطواتها إلى تعليمات بلغة برمجة ليتمكن الحاسب من تنفيذها.

🔎

البحث والترتيب

تستخدم الخوارزميات للعثور على البيانات وتنظيمها وفق قواعد محددة، مثل ترتيب الدرجات أو البحث عن اسم.

🗃️

قواعد البيانات

تعتمد عمليات البحث والاسترجاع والتنظيم على خوارزميات تساعد النظام على التعامل مع أعداد كبيرة من السجلات.

🗺️

الخرائط والمسارات

تستخدم الخوارزميات للمفاضلة بين المسارات واختيار طريق مناسب للوصول إلى الوجهة.

🤖

الذكاء الاصطناعي

تعالج الخوارزميات البيانات وتساعد الأنظمة على التصنيف أو التنبؤ أو اختيار استجابة مناسبة.

🛡️

الأمن السيبراني

تدخل الخوارزميات في التشفير والتحقق من البيانات واكتشاف بعض الأنماط أو السلوكيات المشبوهة.

🎮

الألعاب

تتحكم خوارزميات في حركة الشخصيات والاستجابة للأحداث واتخاذ القرارات داخل اللعبة.

⚙️

أنظمة التشغيل

تستخدم خوارزميات لتنظيم تنفيذ المهام وإدارة الموارد وتحديد ترتيب بعض العمليات داخل النظام.

🌐

الشبكات

تستخدم الخوارزميات للمساعدة في توجيه البيانات واختيار المسارات المناسبة بين الأجهزة والشبكات.

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

🎯 مثال محلول

الموقف: تطبيق خرائط يقترح طريقًا للوصول إلى الكلية.

المجال: الخرائط والملاحة.

علاقة الخوارزمية بالمجال: يستخدم التطبيق خوارزمية للمفاضلة بين المسارات المتاحة وفق البيانات التي يعتمد عليها النظام، ثم يعرض مسارًا مناسبًا للمستخدم.

النتيجة: اقتراح طريق للوصول إلى الوجهة.

✎ جرّب بنفسك

اختر تطبيقًا تستخدمه يوميًا، وحدد: المجال الحاسوبي، المهمة التي تحتاج إلى خوارزمية، والنتيجة التي تحاول الخوارزمية الوصول إليها.


أنشطة تطبيقية

أنشطة تطبيقية

أنشطة فهم وتحليل دون كتابة كود أو رسم Flowchart، حتى يبقى تركيز الوحدة على مفهوم الخوارزمية واستخدامها.

LABفكّر وطبّق
نشاط 1: أين توجد الخوارزمية؟ — مثال محلول
الموقف: تطبيق خرائط يعرض ثلاثة طرق للوصول إلى الكلية.
المطلوب: ما المهمة التي تحتاج إلى خوارزمية؟ وما النتيجة المتوقعة منها؟

✓ الحل

المهمة: المفاضلة بين الطرق المتاحة واختيار طريق مناسب للوصول إلى الكلية.

النتيجة المتوقعة: عرض المسار الذي اختاره النظام للمستخدم.

طريقة التفكير: حدد أولًا المهمة التي لا يمكن تنفيذها عشوائيًا، ثم اسأل: ما النتيجة التي نريد الوصول إليها؟

مثال ثانٍ: نظام يعرض أسماء المتدربين مرتبة حسب الدرجة.
المطلوب: ما الذي تقوم به الخوارزمية هنا؟

✓ الحل

تقوم الخوارزمية بتنظيم الدرجات وفق قاعدة ترتيب محددة ثم ترتيب أسماء المتدربين بناءً عليها؛ والنتيجة قائمة مرتبة بدل عرض البيانات بصورة غير منظمة.

نشاط 2: رتّب الفكرة — محلول

العبارات: تنفيذ البرنامج – تحديد المهمة – وضع طريقة للحل – ظهور النتيجة.

✓ الحل

1. تحديد المهمة2. وضع طريقة للحل3. تنفيذ البرنامج4. ظهور النتيجة

لماذا لا نبدأ مباشرة بكتابة البرنامج؟ لأننا نحتاج أولًا إلى فهم المطلوب وتحديد طريقة منظمة للحل؛ فالبرنامج هو وسيلة لتنفيذ الحل وليس بديلًا عن التفكير فيه.

نشاط 3: حلان للمهمة نفسها — محلول

الطريقة أ

البحث عن اسم بفحص جميع الأسماء من البداية واحدًا واحدًا.

⚖️

الطريقة ب

تنظيم البيانات أولًا ثم استخدام طريقة بحث تستفيد من هذا التنظيم.

✓ الحل والمناقشة

هل يمكن أن تصل الطريقتان إلى الاسم؟ نعم، قد تحقق كلتاهما الهدف إذا نُفذتا بصورة صحيحة.

ماذا يحدث عندما تكبر البيانات؟ يصبح اختيار طريقة منظمة أكثر أهمية؛ لأن الحلول المختلفة قد تحقق النتيجة نفسها ولكنها لا تكون متساوية في سهولة التنفيذ أو عدد الخطوات.

لا نحتاج في هذه المرحلة إلى دراسة خوارزميات البحث أو تحليل التعقيد؛ المطلوب إدراك أن للمشكلة الواحدة أكثر من طريقة للحل.

نشاط 4: خوارزمية في حياتك — مثال محلول ثم تطبيق
المثال: استخدام جهاز الصراف الآلي لسحب مبلغ مالي.
المطلوب: حدد الهدف، ولماذا تحتاج المهمة إلى ترتيب منطقي.

✓ نموذج إجابة

الهدف: إتمام عملية سحب مبلغ مالي بصورة صحيحة.

لماذا تحتاج إلى ترتيب منطقي؟ لأن بعض الإجراءات تعتمد على ما قبلها؛ فلا يمكن مثلًا إتمام السحب قبل التحقق من البيانات وتحديد العملية والمبلغ. لذلك يجب أن تسير المهمة وفق ترتيب منظم.

ملاحظة: لا نكتب هنا خوارزمية تفصيلية؛ لأن هدف النشاط هو فهم الحاجة إلى التنظيم المنطقي فقط.

✎ الآن دورك

اختر مهمة يومية أخرى مثل حجز موعد أو طلب منتج من متجر إلكتروني، ثم اكتب: الهدف النهائي، ولماذا تحتاج المهمة إلى ترتيب منطقي.


تمارين الوحدة

تمارين الوحدة

تمارين تقيس فهم المفهوم والأهمية والعلاقة بمجالات الحاسب، دون الدخول في موضوعات الوحدات التالية.

تأكد من فهمك
أولًا: أسئلة مفاهيمية
  1. عرّف الخوارزمية بأسلوبك.
  2. وضح الفرق بين الخوارزمية والبرنامج.
  3. اذكر فائدتين للخوارزميات في مجال الحاسب.
  4. هل ترتبط الخوارزمية بلغة برمجة واحدة؟ وضح إجابتك.
ثانيًا: اربط بالمجال المناسب

حدد مجال الحاسب الأقرب لكل موقف: العثور على سجل، ترتيب النتائج، اختيار طريق، حركة شخصية في لعبة، اقتراح محتوى.

ثالثًا: فكر في الحل

لديك طريقتان تنجزان المهمة نفسها، إحداهما تحتاج خطوات كثيرة والأخرى أقل. هل يكفي أن نقول إنهما صحيحتان؟ ما الأشياء التي يمكن أن نقارن بينها؟


فكّر وناقش

فكّر وناقش

أسئلة مفتوحة تربط مفهوم الخوارزمية بالتطبيقات التي يراها المتدرب حوله.

💡ناقش واستنتج

🎯 تحليل

لماذا لا يكفي أن يعرف المبرمج لغة البرمجة إذا لم يعرف طريقة حل المشكلة؟

⚖️ مقارنة

إذا أعطت خوارزميتان النتيجة الصحيحة نفسها، فكيف يمكن المفاضلة بينهما؟

💡 تفسير

لماذا يمكن تنفيذ الخوارزمية نفسها بأكثر من لغة برمجة؟

🔍 استنتاج

اختر خدمة رقمية تستخدمها واستنتج مهمة واحدة تحتاج إلى خوارزمية خلفها.

🧩 تصميم فكرة

اقترح مهمة حاسوبية جديدة وحدد الهدف الذي ينبغي أن تصل إليه الخوارزمية.

👥 مناقشة

هل الخوارزميات مهمة فقط للمبرمجين؟ ناقش مع زملائك.