پاورپوینت پاورپوینت فصل ششم روال ها (pptx) 40 اسلاید
دسته بندی : پاورپوینت
نوع فایل : PowerPoint (.pptx) ( قابل ویرایش و آماده پرینت )
تعداد اسلاید: 40 اسلاید
قسمتی از متن PowerPoint (.pptx) :
فصل ششم
روال ها
مطالب اين فصل
بدنه يك روال دستورالعملهاي call , return
دستورالعملهاي push , pop
انتقال مقادير به يك روال و بالعكس
بازگشت پذيري (recursion)
روالها
کلمه روال در زبان پاسکال و ساير زبانهاي برنامهنويسي سطح بالا براي بيان زير برنامهاي که تقريباً يک واحد کاملي ميباشد، بکار ميرود.
آرگومانها بايستي متناظر با پارامترهاي مجازي روال مزبور باشند. در زبان پاسکال نوع ديگري از زير برنامه به نام تابع وجود دارد. يک تابع در زبان پاسکال شبيه يک روال ميباشد بجز اينکه آن را در داخل يک عبارتي با ذکر نام و آرگومانهاي مربوطه در داخل پرانتز، فراخواني ميکنيم. يک تابع مقداري را بر ميگرداند که اين مقدار در عبارت مربوطه مورد استفاده قرار ميگيرد.
آدرس برگشت به برنامه فراخواننده زير برنامه روي پشته ذخيره ميشود ميتوان مقادير ثباتها در زمان فراخواني يک زيربرنامه را روي پشته ذخيره نموده و در زمان برگشت به برنامه فراخواننده مقادير ثباتها را با استفاده از پشته بازسازي نمود، با استفاده از پشته ميتوان آرگومانها را به يک زيربرنامه انتقال داده و يا مقاديري را از يک زيربرنامه فراخواننده انتقال داد، و حتي ميتوان فضاي لازم براي متغيرهاي محلي را روي پشته تخصيص داد.
بدنه يک روال؛ دستورالعملهاي CALL و RETURN
بدنه يک رواي در داخل دستورات PROC و ENDR قرار ميگيرد و هر کدام از دستور العملها داراي بر چسبي است که برابر نام روال مزبور ميباشد. بعلاوه، دستور PROC شامل يکي از عملوندهاي NEAR يا FAR ميباشد. يک روال NEAR در همان سگمنت کدي که فراخواني مي شود تعريف ميگردد، و يک روال FAR معمولاً در يک سگمنت کد مجزايي تعريف ميشود.
اجراي يک برنامه لزوماً از اولين دستورالعمل سگمنت کد شروع نميشود، بلکه از دستورالعمل مشخص شده توسط عملوند دستور END که پايان برنامه را نشان ميدهد، شروع ميشود.
بطور کلي، يک روال را ميتوان هر چند بار فراخواني کرد.
دستور العمل برگشت کنترل اجرا را از روال به برنامه اصلي برميگرداند؛ معمولاً حداقل يک دستورالعمل ret در يک روال وجود دارد که البته ميتواند بيش از يک دستورالعمل ret وجود داشته باشد.
زماني که پشته براي ذخيره کردن مقاديري بکار ميرود، يک يا چند کلمه ذخيره ميشود، هرگز يک بايت تکي ذخيره نميشود. براي ذخيره کردن يک کلمه، ثبات SP باندازه 2 واحد (بايت) کاهش مييابد.