مفهوم – الخوارزميات Algorithms باختصار هي طريقة الحل ووفقاً لتعريف أوكسفورد فإن الخوارزمية هي مجموعة من القواعد المتبعة في الحساب أو حل المشاكل الأخرى والمتعلقة بالحاسوب على وجه الخصوص.
وأول شيء يجب أن تعرفه هو أن الخوارزميات ليست لغة برمجة, إنما هي طرق التحليل و التفكير التي عليك اتباعها حتى تتمكن من كتابة الكود بشكل صحيح.
الخوارزميات Algorithms، وتعرف أيضا بـ حل المشكلات – Problem Solving، ومن خلال هذا المسمى يمكنك تعريف الخوارزمية بأنها مجموعة من الخطوات التي يتم تطبيقها على مجموعة من البيانات المتاحة والتي تعرف بـ المدخلات – Inputs، لتحصل منها على نتيجة (حل المشكلة) وهو ما يعرف بـ المخرجات – Output، وهذه الخطوات ببساطة هي الخوارزمية.
الهدف من تعلم الخوارزميات
الهدف الرئيسي من تعلم الخوارزميات هو معرفة أو فهم كيف يتعامل جهاز الحاسوب (الكمبيوتر) مع البيانات، حتى تتمكن من التفكير مثل الحاسوب، وبطبيعة الحال فإن جهاز الحاسوب هو جهاز لا يفكر بل هو فقط يقوم بتنفيذ التعليمات (الأوامر البرمجية) واحدة تلو الأخرى، ولذلك يجب أن تقوم بكتابة التعليمات بالتفصيل وبدقة حتى تتمكن من الحصول على النتيجة المطلوبة من هذه التعليمات (الأوامر البرمجية).
خطوات كتابة الخوارزمية
يتم حل أي مشكلة (تصميم الخوارزمية) في أربع خطوات رئيسية:
1. تعريف المشكلة – Problem Definition
يعتبر تعريف أو تحديد المشكلة هو أولى خطوات الحل للمشكلة، حيث يتم تحديد المدخلات والمخرجات بكل دقة ووضوح على شكل متغيرات – Variables، فيتوجب عليك كمبرمج أن تقوم بتحديد المفاهيم الخاصة بالمشكلة على هيئة متغيرات ذات إسم محدد ونوع بيانات محدد، حيث يتم الإشارة إلى هذه البيانات في الخوارزمية من خلال الإسم، ونوع البيانات يحدد العمليات التي يمكن إجراؤها على البيانات، يوجد العديد من أنواع البيانات ولكن يمكنك أن تصنف البيانات في نوعين رئيسيين وهم البيانات الرقمية والبيانات النصية.
2. تصميم / كتابة الخوارزمية – Writing an Algorithm
في هذه الخطوة يجب على المبرمج التفكير في طريقة حل المشكلة، ثم تقسيم هذه الطريقة على مجموعة خطوات، بحيث تقوم كل خطوة بإجراء عملية واحدة فقط، ويجب الأخذ في الإعتبار ترتيب هذه الخطوات، لأن الكمبيوتر يقوم بتنفيذ هذه الخطوات واحدة تلو الأخرى بالترتيب الذي يقوم به المبرمج، ويجوز للمبرمج أن يقوم بتعريف متغيرات جديدة لتساعده في حل المشكلة.
3. تتبع / مراجعة الخوارزمية – Tracing the Algorithm
في هذه الخطوة نقوم بإختبار الخوارزمية التي قمنا بكتابتها، وذلك من خلال إدخال بيانات معروفة النتيجة مسبقا، خطوة بخطوة لقياس مدى صحة وكفاءة الخوارزمية.
اقرأ ايضًا: نصائح تعلم اللغة الإنجليزية في أسرع وقت
4. تحويل الخوارزمية إلى برنامج للحاسوب – Writing Code
وهنا يجب عليك أن تتعلم أولا أي لغة برمجية لكي تتمكن من تحويل الخوارزمية التي قمت بتصميمها إلى برنامج.
مثال لتوضيح فكرة الخوارزميات Algorithms:
إذا ما قمت على سبيل المثال بتصميم لعبة ما، وأردت حفظ معلومات المستخدمين عند نهاية اللعبة، يجب أن تكتب خطة لذلك قبل كتابة برنامجك، فالأمر يبدو بسيطاً للوهلة الأولى ولا حاجة لكتابة خوارزمية لذلك، ولكن مع بداية كتابة برنامجك سيزداد الأمر صعوبة إن لم تكن مسبقاً قد وضعت خطة لتنفيذ ذلك وهي الخوارزمية.
ولحل التساؤل السابق يجب أن تتبع الخطوات التالية وفق الترتيب:
الدخول للذاكرة وقراءة محتوياتها.
في حال وجود مستخدمين سابقين.
معالجة المعلومات.
إظهارها وحفظ المعلومات الجديدة التي أدخلها المستخدم.
في حال عدم وجود مستخدمين سابقين.
لا توجد معلومات لمعالجتها.
حفظ المعلومات الجديدة فقط.
اقرأ ايضًا: نصائح سريعة مفيدة في تعلم البرمجة
عليك كتابة خطة لتنفيذ الأفكار، وإلا ستواجهك الكثير من المشكلات خلال البرمجة، وإليك مثال آخر عن الخوارزميات، لنفترض أن لديك موقعاً إلكترونياً، لا بد لك من تأسيس نظام قوي لدخول المستخدمين، وهنا عليك كتابة خوارزمية تسجيل الدخول كالتالي:
تسجيل الدخول أو التسجيل في الموقع.
في حال تسجيل الدخول.
أدخل اسم المستخدم.
كلمة المرور.
اسم المستخدم أو كلمة المرور خاطئة؟
إظهار خيار نسيت كلمة المرور.
ثم طرق استرداد كلمة المرور.
مستخدم جديد؟ التسجيل في الموقع.
إظهار حقول بيانات المستخدم الجديد.
بعد إدخال البيانات والتأكد منها.
إرسال رسالة للهاتف أو البريد الإلكتروني لتفعيل الحساب.
عدم الرد على الرسالة خلال يومين؟
حذف بيانات المستخدم الجديد.