پاورپوینت کنترل زیربرنامه (pptx) 84 اسلاید
دسته بندی : پاورپوینت
نوع فایل : PowerPoint (.pptx) ( قابل ویرایش و آماده پرینت )
تعداد اسلاید: 84 اسلاید
قسمتی از متن PowerPoint (.pptx) :
به نام خدا
فصل نهم
کنترل زیربرنامه
1
فهرست
مفاهیم زیربرنامه ها و تعاریف اولیه
زبربرنامه ساده فراخوانی –برگشت
زیربرنامه های بازگشتی
صفات کنترل داده
حوزه ایستا و پویا
وابستگی ها و محیط های ارجاع
مفاهیم اصلی کنترل داده
نام مستعار
ساختار بلوکی
داده های محلی و محیط های ارجاع محلی
پارامترها و انتقال پارامترها
پیاده سازی انتقال پارامترها
محیط های مشترک صریح
اشتراک صریح متغیر
پیاده سازی حوزه پویا
پیاده سازی حوزه ایستا
2
مفاهیم زیربرنامه ها و تعاریف اولیه
در زبان های برنامه سازی مدرن ، مجموعه ای از دستورات که هدف مشترکی دنبال می کنند ، برای استفاده مجدد درون زیربرنامه ها نوشته می شوند.
زیربرنامه سطحی از انتراع را در برنامه فراهم می کند ، زیرا مجموعه ای از دستورات درون برنامه با یک دستور فراخوان جایگزین می شوند.
پس جزییات پیاده سازی را پنهان می کند و خوانایی برنامه ها با نمایش ساختار منطقی برنامه و پنهان کردن جزییات سطح پایین ، افزایش می یابد.
3
زیربرنامه ساده فراخوانی -برگشت
این پیاده سازی توسط قاعده کپی توضیح داده می شود: اثر دستور فراخوانی مثل این است که قبل از اجرا، یک کپی از زیربرنامه در نقطه ی فراخوانی قرار داده شده است.
فرضیه های قاعده کپی: 1.زیربرنامه ها نمی توانند بازگشتی باشند. 2.نیاز به دستور فراخوانی صریح است. 3.زیربرنامه ها در هر فراخوانی باید بطور کامل
اجرا شوند. 4.کنترل به نقطه فراخوانی برمی گردد. 5.در هر زمان فقط یک زیربرنامه کنترل را در
دست دارد.
4
1.زیربرنامه ها نمی توانند بازگشتی باشند: بازگشتی مستقیم: اگر زیربرنامه ای خودش را فراخوانی کند. بازگشتی غیرمستقیم: اگر زیربرنامهA زیربرنامه B را فراخوانی کند و زیربرنامه B نیز زیربرنامه A را فراخوانی نماید.
در فراخوانی های بازگشتی مستقیم،نمی توانیم از قاعده کپی استفاده کنیم، زیرا هر جایگزینی که یک دستور فراخوانی را حذف می کند،فراخوانی جدیدی به همان زیربرنامه را معرفی می کند که برای آن جایگزین دیگری لازم است.
5
2.نیاز به دستور فراخوانی صریح است: برای اعمال قاعده کپی،هر نقطه از فراخوانی زیربرنامه باید صریحا مشخص شود تا ترجمه گردد.
3.زیربرنامه ها در هر فراخوانی باید بطور کامل اجراشوند
هر زیر برنامه ای در هر فراخوانی،از ابتدا تا انتها اجرا خواهد شد.
زیربرنامه هایی که برای پردازش استثنا به کار می روند،نیاز به فراخوانی صریح ندارند.
زیربرنامه هایی که به عنوان همروال مورد استفاده قرار می گیرند،هروقت فراخوانی می شوند از نقطه ای که آخرین بار اجرا شده اند،از سرگرفته می شوند.
6
4.کنترل به نقطه فراخوانی برمی گردد: دستور فراخوانی صریح در یک برنامه نشان می دهد که کنترل در آن نقطه به زیربرنامه منتقل می شود و لذا کپی کردن بدنه زیربرنامه در آن نقطه از برنامه نیز همان اثر را دارد .
5.در هر زمان فقط یک زیربرنامه کنترل را در دست دارد:
کنترل اجرا از برنامه فراخوان به زیربرنامه فراخوانی شده می رود و به برنامه
فراخوان برمی گردد.
اما برای فراخوانی زیربرنامه های زمانبندی شده،اجرای زیربرنامه ممکن است مدتی به تعویق افتد.
اما زیربرنامه هایی که بعنوان تسک مورد استفاده قرار می گیرند،ممکن است بطور همزمان اجرا شوند
7
فراخوانی زیربرنامه ها به دوشکل انجام می شود:
فراخوانی تابع:
برای زیربرنامه هایی که مقادیر را بطور مستقیم برمیگردانند.
فراخوانی رویه یا زیرروال:
برای زیربرنامه هایی که اثرات جانبی روی داده های مشترک دارند.
پیاده سازی:
فرض می کنیم ترتیب دستورات و عبارات در زمان اجرا،بصورت بلوکی از کد هستند.
اجرای این کدها مفسر سخت افزار یا مفسر نرم افزار
8
در مورد هر زیربرنامه دو مفهوم وجود دارد: تعریف زیربرنامه: آن چیزی است که در برنامه می نویسیم و به یک قالب تبدیل می شود.مثل: نام و نوع متغیرها، دستورات حلقه و...سابقه فعالیت: در هربار فراخوانی با استفاده از قالب که از تعریف ایجاد شده، بوجود می آید.
1. سگمنت کد: حاوی کد اجرایی و ثوابت است.سابقه فعالیت:
2.رکورد فعالیت: حاوی داده های محلی،پارامترها و سایر عناصر است.
در حین اجرا تغییر نمی کند.
توسط مترجم ایجاد می شود.
بطور ایستا در حافظه قرار می گیرد.
تمام سابقه فعالیت زیربرنامه از یک سگمنت کد استفاده می کنند.
9