التعليم السعودي

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

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

المناهج السعودية

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

مفهوم الحلقات المتداخلة

الحلقات المتداخلة تسمى Nested Loops بالإنجليزية, و تعني تعريف حلقة بداخل حلقة أخرى.
في هذا الدرس ستتعرف على طرق أكثر تعقيداً للتعامل مع الحلقات, حيث أنك ستقوم بوضع الحلقات بداخل بعضهم البعض.
تعريف الحلقات بداخل بعضها البعض هو أصعب مرحلة ستمر بها خلال دراستك للخوارزميات لأنها الأكثر تعقيداً.
فهمك للحلقات المتداخلة سينمي قدراتك كثيراً على التحليل.
ستحتاج معرفة طرق التحليل التي ستتعلمها في هذا الدرس بشدة في المستقبل و خاصةً عندما تدرس المصفوفات.
ستلاحظ أن جميع التمارين الموضوعة في هذا الدرس مطلوب فيها رسم أشكال هندسية كالمربع, المستطيل و المثلث بواسطة رمز النجمة * و رمز الطرح -
إذاً مهتمك في هذا الدرس ستكون إبتكار خوارزميات من شأنها رسم تلك الأشكال بأقل كود ممكن مهما كان حجم الأشكال الهندسية.

المعلومات التي يمكن استغلالها لحل تمارين الحلقات المتداخلة المعقدة

بشكل عام, أي شكل هندسي تنوي رسمه بواسطة الرموز يحتاج لحلقتين على الأقل:

  • حلقة للإنتقال من سطر لآخر, يقال لها الحلقة i
  • حلقة للإنتقال من عامود لآخر, يقال لها الحلقة j

مثال

لرسم الشكل التالي

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

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

أمثلة

  • أحياناً يكون عدد الأسطر يساوي عدد الأعمدة الموجودة في الرسمة. ( هنا يكون الشكل يشبه المربع ).
  • و أحياناً يكون عدد الأسطر يساوي نصف عدد الأعمدة الموجودة في الرسمة. ( هنا يكون الشكل يشبه المستطيل ).
  • و يمكن أن يكون عدد الأعمدة يساوي ضعف عدد الأسطر الموجودة في الرسمة. ( هنا يكون الشكل يشبه المستطيل ).
  • و يمكن أن يكون عدد الأعمدة يساوي نصف عدد الأسطر الموجودة في الرسمة زائد 1 أو ناقص 3 إلى آخره.

لا تقلق إذا لم تفهم أي شيء الآن, لأنك ستفهم ما كنا نقصد لاحقاً من التمارين.

ملاحظة

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

الأشياء الثابتة التي يمكنك كتابتها مباشرةً عند ملاحظتها

أمثلة

    • إذا كان الشكل يتألف من 5 أسطر, قم مباشرةً بتعريف الحلقة i كالتالي.
for (int i=1; i<=5; i++)
    • أحياناً تلاحظ أن جميع النجوم تبدأ من العامود رقم 1, في هذه الحالة قم مباشرةً بتعريف الحلقة j كالتالي.
for (int j=1;    ; j++)
    • أحياناً تلاحظ أن جميع النجوم تنتهي عند العامود رقم 5, في هذه الحالة قم مباشرةً بتعريف الحلقة j كالتالي.
for (    ; j<=5; j++)

إختلاف عدد الأعمدة بشكل متناسق

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

 
المصدر: الحلقات المتداخلة في الخوارزميات – المناهج السعودية

مقالات ذات صلة

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى