مقدمة في الخوارزميات

الخوارزميات (Algorithm) هي تعليمات مفصَّلة بدقة لغرض حل مسألة محددة.

  • المدخلات (Inputs) هي المعطيات المعتبرة في الوصول للنتيجة.
  • المخرجات (Outputs) هي النتيجة.

مثال ذلك:

  • وصفك لطريقة تحضير الشاي أو حساء أو طبق معيَّن
  • وصفك لاتجاهات الطريق من البيت إلى الحديقة
  • وصفك لتعليمات بلغة يفهمها الحاسب لينفذها: مثلاً:
    • تقدير زمن قراءة صفحة
    • حساب صافي الأرباح
    • ترتيب قائمة بالأولوية حسب معيار معيَّن

الدالة

الدالة (Function) هي قطعة نص برمجيّ محفوظة باسم، لها معطيات تحدد في تعريفها، ولها مخرجات.

ويتم بعد تعريفها استدعاؤها وتعيين معطياتها المحددة في تعريفها:

  • مثل print الذي تُعطى أي متغير لتظهر قيمته
  • مثل abs الذي تُعطى متغيِّرًا واحدًا رقميًّا لتعيد قيمته الموجبة
  • مثل encode و decode التي عرفناها في درس التشفير

ومن أسمائها:

  • الإجراء (Procedure)
  • الروتين (Routine)
  • البرنامج الفرعي (Sub-Program)

الفرق بين الكلمات المفتاحية والدوال

بخلاف الدالة، فإن الكلمات المحجوزة (Reserved Words) لها دلالة خاصَّة في لغة بايثون، مثل if للاختيار، أو for للكر أو + للجمع أو حتى and للجمع بين القيَم الثنائية. فهي كلمات محجوزة لا يمكن استخدامها كأسماء للمتغيرات أو الدوال أو أي معرفات أخرى.

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