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

This post is also available in: English (الإنجليزية) हिन्दी (الهندية)

في هذه المقالة سوف نعرف ما هي الخوارزمية ولماذا وأين يتم استخدامها.

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

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

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

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

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

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

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

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

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

لنفكر في مثال لإيجاد مجموع عددين.

خوارزمية لإيجاد مجموع رقمين:

Step 1: Start
Step 2: Declare variables num1, num2 and sum. 
Step 3: Read values num1 and num2. 
Step 4: Add num1 and num2 and assign the result to sum.
        sum←num1+num2 
Step 5: Display sum 
Step 6: Stop

برنامج C لإيجاد مجموع رقمين:

#include<stdio.h>
int main() {
   int num1, num2, sum;
   printf("\nEnter two no: ");
   scanf("%d %d", &num1, &num2);
   sum = num1 + num2;
   printf("Sum : %d", sum);
   return(0);
}

برنامج Python لإيجاد مجموع رقمين:

num1 = int(input("enter first number: "))
num2 = int(input("enter second number: "))
sum = num1 + num2
print("sum:", sum)

من المثال أعلاه يمكنك أن ترى أنه يمكن للمرء ترجمة خوارزمية معينة إلى برنامج بأي لغة.

أصل كلمة الخوارزمية

يعود أصل مصطلح “الخوارزمية” إلى القرن التاسع ، وهو عالم وعالم فلك وجغرافي وعالم رياضيات محمد بن موسى الخوارزمي المعروف بإسهاماته في دراسة الجبر. إنها لاتينية اسمه ، والتي تعني “موطن خوارزم” (بلدة في آسيا الوسطى ، على طول حدود تركمانستان وأوزبكستان الحالية) بالفارسية، أعطت اللغة الإنجليزية كلمة خوارزمية.

كتب الخوارزمي كتابًا باللغة العربية عن الأرقام الهندوسية العربية ، وتُرجم لاحقًا إلى اللاتينية. الترجمة اللاتينية لكتاب Algoritmi de numero Indorum (بالإنجليزية ، Al-Khwarizmi on the Hindu Art of Reckoning). ثم تمت ترجمة الكلمة اللاتينية algoritmi إلى الإنجليزية باسم “خوارزمية”.

خصائص الخوارزمية

لا يمكن تسمية جميع الإجراءات بخوارزمية. يجب أن تحتوي الخوارزمية على الخصائص التالية:

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

كيف تكتب خوارزمية؟

على الرغم من عدم وجود معايير محددة جيدًا لكتابة الخوارزميات ، إلا أن هناك بعض النقاط التي يجب الالتزام بها. كما نعلم أن جميع لغات البرمجة تشترك في إنشاءات التعليمات البرمجية الأساسية مثل الحلقات (تفعل ، من أجل ، بينما) ، والتحكم في التدفق (إذا كان آخر) ، وما إلى ذلك. يمكن استخدام هذه التركيبات الشائعة لكتابة خوارزمية.

نكتب الخوارزميات خطوة بخطوة ، ولكن هذا ليس هو الحال دائمًا. كتابة الخوارزمية هي عملية ويتم تنفيذها بعد تحديد مجال المشكلة بشكل جيد. وهذا يعني أننا يجب أن نعرف مجال المشكلة الذي نصمم له حلاً.

مزايا وعيوب الخوارزمية

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

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

فيما يلي عيوب الخوارزمية:

  • الخوارزميات تستغرق وقتا طويلا.
  • يصعب وضع المهام الكبيرة في الخوارزميات.
  • من الصعب إظهار التفرع والتكرار في الخوارزميات.
  • قد يكون فهم المنطق المعقد من خلال الخوارزميات أمرًا صعبًا للغاية.

اقرأ أيضًا: أنواع الخوارزميات ،خوارزميات الفرز ، خوارزميات البحث

لا توجد أراء حول “ما هي الخوارزمية؟”

أضف تعليق