تعتبر الخوارزميات من أساسيات علوم الحاسوب وتطبيقاتها في حل المشاكل الحسابية والبرمجية. تقدم “تدريبات على الخوارزميات ” مجموعة من التمارين والتحديات التي تساعد على تطوير المهارات البرمجية وفهم أساسيات تصميم وتحليل الخوارزميات.
تمارين الخوارزمية
فيما يلي بعض تمارين الخوارزمية:
100 تمرين في الخوارزميات PDF
لتحميل 100 تمرين في الخوارزميات بصيغة PDF يمكنك الدخول على الرابط من هنا
تمارين محلولة في الخوارزميات PDF
لتمرير التمارين التي تم حلها في خوارزميات PDF من هذا وصلة
مشاكل خوارزمية بسيطة
يحتوي هذا الدرس على مجموعة من الأمثلة على الخوارزميات البسيطة، يتراوح مستواها من السهل جدًا إلى المتوسط:
ما هي الخوارزمية؟
دعنا نقول ذلك ببساطة: إنها الطريقة المناسبة لفعل شيء ما أو حل مشكلة معينة.
على سبيل المثال:
Label1.Caption=Text1.Text
هذه خوارزمية! ماذا؟! نعم، هذه خوارزمية تأخذ محتوى النص 1 وتضعه في الملصق 1. لذلك لا يجب أن تكون الخوارزمية من النوع:
X^2+2AB/25Y=2CB
يمكن أن يكون شيئًا بسيطًا جدًا.
الخوارزمية الأولى (هل الرقم زوجي أم فردي؟)
نبدأ بمقدمة للغة العربية. فنقول: هل العدد زوجي أم فردي؟ ولا نقول “أو غريب” لأن استخدام “أم” يقتصر على علامة الاستفهام. على سبيل المثال: (ذهبت أم لم تذهب؟)
بعد هذه المقدمة اللغوية (المحبطة) نعود إلى البرمجة والخوارزمية التي بين أيدينا. حاول حلها بنفسك باستخدام المعلومات التالية:
مطلوب منك إنشاء برنامج (تصغير برنامج) يتيح للمستخدم فرصة وضع رقم في TextBox ثم الضغط على زر Command لمعرفة ما إذا كان هذا الرقم زوجي أم فردي. تظهر رسالة MsgBox تخبره بذلك.
لحل هذه الخوارزمية تحتاج إلى استخدام وظيفة التعديل. مثال:
إذا 9 Mod 3=0 ثمMsgBox “Yes” ElseMsgBox “No”End If
يقسم الكود الرقم 9 على الرقم 3، ثم يختبر باقي القسمة. فإذا كان صفراً فإن العدد 9 يقبل القسمة على 3، وإذا لم يكن صفراً فلا يقبل.
استبدل 9 و 3 بالأرقام أو المتغيرات المناسبة، وحاول قدر المستطاع. إذا لم تتمكن من ذلك، تعال و انتظر الحل.
الحل:
الحل بسيط للغاية، وهو يختبر نتيجة قسمة الرقم الموجود في TextBox على 2. إذا كانت القيمة صفر، فإن الرقم زوجي، وإذا لم يكن كذلك، فإن الرقم فردي. لاحظ الكود التالي:
Dim Number As IntegerNumber=Text1.TextIf Number Mod 2=0 ثمMsgBox “الرقم زوجي” ElseMsgBox “الرقم فردي”End If
هل رأيت أي شيء أسهل من هذا؟ حاول فهم الكود جيدًا وتطويره.
إذا كان كبريائك لا يسمح لك بالنزول إلى مستوى Visual Basic، فإليك نفس الكود في لغة C++:
int Number;cin>>Number;if (Number%2==0)cout<<"الرقم زوجي";elsecout<<"الرقم فردي";
يمكنك ملاحظة التشابه الكبير بين الرمزين إذا كنت معتادًا على لغة C++
في الختام، تعتبر تدريبات على الخوارزميات فرصة لتعزيز مهاراتك وتطوير قدراتك في مجال البرمجة وحل المشكلات. ندعوك للاستمرار في التدريب والتعلم لتحقيق نجاحات أكبر وإتقان أفضل في هذا المجال المثير.