المخططات الهرمية للعمليات التعاودية

في الفصل السابق استخدمنا مخططاً هرمياً لتمثيل حالة البرنامج عند استدعاء عملية. نفس النوع من المخططات يمكن أن يسهل تفسير عملية تعاودية.
تذكر أنه في كل مرة يتم فيها استدعاء عملية، تنشئ العملية حالة جديدة لنفسها تحتوي على نسخ جديدة لمتغيرات العملية ومعاملاتها.
الشكل التالي هو مخطط هرمي للعملية countdown، عند استدعائها مع n=3:

يوجد شكل واحد للعملية main وأربع أشكال للعملية countdown، كل واحد منها له قيمة مختلفة للمعامل n. قاع الهرم: العملية countdown ذات n=0 هو الحالة القاعدية. لا تستدعي هذه العملية نفسها مرة أخرى، لذلك فلا يوجد المزيد من الأشكال للعملية countdown.
إن الشكل المقابل للعملية main فارغ لأن main لا تملك أية معاملات أو متغيرات محلية.
تمرين 4.1
ارسم مخططاً هرمياً يظهر حالة البرنامج بعد استدعاء main للعملية nLines مع المعامل n=4، قبيل عودة آخر نسخة مستدعاة من nLines.


lk ;jhf ;dt jt;v ;uhgl ;lfd,jv gyi [hth hgtwg hgvhfu hgjugdlhj hgav'dm ,hgjuh,] : hglo''hj hgivldm ggulgdhj hgjuh,]dm gyi hglo''hj hgjugdlhj hgjuh,]dm hgvhfu hgav'dm hgtag hgivldm jt;v [hth ,hgjuh,] ;lfd,jv ;jhf ;dt