دانلود پاورپوینت آشنایی با نقش زبانهای برنامه سازی و بررسی عملکرد آنها (کد14448)
تومان80,000 تومان40,000
نوع فایل پاورپوینت - پسوند فایل pptx - قابل ویرایش تمامی اسلاید ها - به همراه راهنما
دسترسی به بیش از 45000 پاورپوینت ، کاربران وارد شده میتوانند همه پاورپوینت ها را به صورت آنلاین تماشا کنند ، برای پاورپوینت های غیر رایگان مبلغ فایل برای فایل غیر رایگان و دانلود 25 فایل دیگر است ، با خرید یک فایل لینک دانلود تمامی فایل های فروشگاه برای شما نمایش داده میشود و میتوانید در مدت 5 روز ، روزانه 5 فایل را دانلود کنید
توضیحات
دانلود پاورپوینت آشنایی با نقش زبانهای برنامه سازی و بررسی عملکرد آنها
طراحی و پياده سازی زبانهای برنامه سازی
عنوان های پاورپوینت آشنایی با نقش زبانهای برنامه سازی و بررسی عملکرد آنها ، طراحی و پياده سازی زبانهای برنامه سازی عبارتند از :
آشنایی با نقش زبانهای برنامه سازی و بررسی عملکرد آنها
طراحی و پياده سازی زبانهای برنامه سازی
چرا زبانهای برنامه سازی را مطالعه می کنیم؟
تاریخچه مختصری از زبانهای برنامه سازی
دانلود پاورپوینت آشنایی با نقش زبانهای برنامه سازی و بررسی عملکرد آنها
تاریخچه مختصری از زبانهای برنامه سازی
نقش زبانهای برنامه سازی
محیط های برنامه نویسی
فصل دوماثرات معماری ماشین
عملکرد کامپیوتر
دانلود پاورپوینت آشنایی با نقش زبانهای برنامه سازی و بررسی عملکرد آنها
سازمان یک کامپیوتر معمولی
کامپیوترهای مجازی و زمانهای انقیاد
کامپیوترهای مجازی و زمانهای انقیاد
فصل سوماصول ترجمه زبان
نحو زبان برنامه سازی
طراحی و پياده سازی زبانهای برنامه سازی
مراحل ترجمه
مدلهای رسمی ترجمه
دانلود پاورپوینت آشنایی با نقش زبانهای برنامه سازی و بررسی عملکرد آنها
مدلهای رسمی ترجمه
تجزیه بازگشتی کاهشی
فصل چهارممدلسازی خواص زبانها
خواص رسمی زبانها
معنای زبان
فصل پنجمانواع داده اولیه
طراحی و پياده سازی زبانهای برنامه سازی
خواص انواع و اشیاء
انواع داده اسکالر
انواع داده مرکب
دانلود پاورپوینت آشنایی با نقش زبانهای برنامه سازی و بررسی عملکرد آنها
فصل ششمبسته بندی
مقدمه
ساختمان داده ها
انواع داده انتزاعی
بسته بندی با زیر برنامه ها
تعریف نوع
فصل هفتموراثت
وراثت
دانلود پاورپوینت آشنایی با نقش زبانهای برنامه سازی و بررسی عملکرد آنها
نگاهی دوباره به انواع داده انتزاعی
وراثت
چند ریختی
فصل هشتمکنترل ترتیب اجرا
کنترل ترتیب اجرا
کنترل ترتیب ضمنی و صریح
کنترل ترتیب ضمنی و صریح
طراحی و پياده سازی زبانهای برنامه سازی
ترتیب اجرا در عبارات محاسباتی
کنترل ترتیب بین دستورات
دانلود پاورپوینت آشنایی با نقش زبانهای برنامه سازی و بررسی عملکرد آنها
ترتیب در عبارات غیر محاسباتی
فصل نهمکنترل زیر برنامه
کنترل ترتیب زیر برنامه
صفات کنترل داده ها
دانلود پاورپوینت آشنایی با نقش زبانهای برنامه سازی و بررسی عملکرد آنها
پارامترها و انتقال پارامترها
محیطهای مشترک صریح
محیطهای مشترک صریح
فصل دهممدیریت حافظه
طراحی و پياده سازی زبانهای برنامه سازی
مدیریت حافظه
عناصری که به حافظه نیاز دارند
دانلود پاورپوینت آشنایی با نقش زبانهای برنامه سازی و بررسی عملکرد آنها
مدیریت حافظه تحت کنترل برنامه نویس و سیستم
مدیریت حافظه ایستا
مدیریت حافظه هرم
تکه ها و قسمت های اتفاقی از فایل آشنایی با نقش زبانهای برنامه سازی و بررسی عملکرد آنها ، طراحی و پياده سازی زبانهای برنامه سازی
وراثت
مکانیزمهایی را برای بسته بندی خودکار داده ها توصیف می کنیم
این مفهوم را طوری بسط می دهیم که عملیات بر روی این اشیا داده از طریق وراثت قابل استفاده باشند.
طراحی و پياده سازی زبانهای برنامه سازی
نگاهی دوباره به انواع داده انتزاعی
داده انتزاعی شامل موارد زیر است:
نوع داده ای که توسط برنامه نویس تعریف شد.
مجموعه ای از عملیات انتزاعی بر روی اشیایی از آن نوع
دانلود پاورپوینت آشنایی با نقش زبانهای برنامه سازی و بررسی عملکرد آنها
بسته بندی اشیای آن نوع به طوریکه کاربر آن نوع نمی تواند آن اشیا را بدون استفاده از این عملیات دستکاری کند.
نگاهی دوباره به انواع داده انتزاعی (ادامه)
انتزاع داده : طراحی اشیا داده و عملیات انتزاعی بر روی آن اشیا
هر زیر برنامه ای که می تواند متغیری را از نوع جدید اعلان کند اجازه دارد به هر عنصر از نمایش آن نوع دستیابی داشته باشد.
پیاده سازی: پکیج بسته بندی را برای تعریف نوع و زیربرنامه فراهم می کند.
اولین اثرش محدود کردن قابلیت مشاهده اسامی اعلان شده در پکیج است.
طراحی و پياده سازی زبانهای برنامه سازی
هر پکیج شامل دو بخش است:
مشخصات
پیاده سازی
نگاهی دوباره به انواع داده انتزاعی (ادامه)
انواع داده انتزاعی کلی:
با استفاده از انواع داده اولیه ای که در زبان وجود دارند می تواند نوع پایه ای را برای دسته جدید از اشیا داده اعلان کند
تعریف نوع انتزاعی کلی امکان صفت از یک نوع به طور جداگانه را فراهم می کند
نگاهی دوباره به انواع داده انتزاعی (ادامه)
دانلود پاورپوینت آشنایی با نقش زبانهای برنامه سازی و بررسی عملکرد آنها
نمونه سازی تعریف نوع انتزاعی کلی:
فرایند ایجاد تعریف نوع خاص از تعریف کلی نمونه سازی نام دارد.
در C++ این مفهوم قالب نام دارد و می تواند برای تولید کلاس کلی به کار رود.
پیاده سازی: پارامترهای گکیج کلی وقتی که تعریف پکیج نمونه سازی می شود به آن ارسال می گردد.
خود پکیج به عنوان بخشی از ساختار زمان اجرا وجود ندارد.
وراثت
طراحی و پياده سازی زبانهای برنامه سازی
اطلاعات موجود در یک بخش از برنامه در بخشهای دیگر مورد استفاده قرار می گیرند.
اغلب اطلاعات بطور ضمنی بین قطعات برنامه تبادل می شود.
وراثت یعنی اخذ خواص و ویژگیهای یک قطع از برنامه توسط قطعه دیگر بر اساس رابطه ای که بین این قطعات وجود دارد.
وراثت (ادامه)
کلاسهای مشتق
هر انتزاع شامل توصیفگر داده ها و توابعی است که بر روی اشیایی از آن نوع عمل می کنند(متد)
تابع همنام کلاس سازنده نام دارد و هنگام ایجاد شی از آن کلاس فراخوانی می شود.
تابع همنام با کلاس که با ~ شروع می شود مخرب کلاس نام دارد این تابع هنگام از بین رفتن شی از آن کلاس فراخوانی می شود.
دانلود پاورپوینت آشنایی با نقش زبانهای برنامه سازی و بررسی عملکرد آنها
تعریف کلاسی مثل تعریف نوع در C است ولی اعضای تابعی دارد.
وراثت (ادامه)
کلاسهای مشتق (ادامه)
پیاده سازی: در کلاس مشتق فقط اسامی ارثی از کلاس پایه به فضای نام محلی کلاس مشتق اضافه می شوند و اسمی عمومی برای کاربران آن کلاس قابل مشاهده اند.
هر نمونه ای از کلاس حافظه داده مخصوص به خود را دارد که شامل داده ها و اشاره گرهایی به متدهای کلاس است.
وراثت (ادامه)
کلاسهای مشتق (ادامه)
وراثت چندگانه
Class A: B,C{…}
در این اعلان کلاس A از کلاسهای B,C مشتق می شود تا زمانی که مجموعه از اشیای تعریف شده توسط کلاسهای B,C همپوشانی نکنند ادغام آنها برای ایجاد کلاس A مشکلی را به وجود نمی آورد.
وراثت (ادامه)
متدها
طراحی و پياده سازی زبانهای برنامه سازی
وراثت متدها برای ایجاد اشیای جدید قدرت دیگری اعمال می کند که در بسته بندی موجود نیست.
برای اشیای کلاس Newstack متد Mytype پیام I am type elemstack را چاپ می کند زیرا تعریف متد ارثی از کلاس elemstack است این مشکل را به دو طریق می توان حل کرد:
می توانیم متد my type را در تعریف کلاس newstack دو باره تعریف کنیم
دانلود پاورپوینت آشنایی با نقش زبانهای برنامه سازی و بررسی عملکرد آنها
از تابع مجازی استفاده شود.
وراثت (ادامه)
کلاسهای انتزاعی
گاهی تعریف کلاسها می تواند به صورت یک قابل باشد به طوری که کلاسهای دیگری ازآن ساخته شوند دو روش داریم:
ابر کلاسهای انتزاعی
وراثت mixin
امتیاز mixin این است که کلاس delta می تواند به هر کلاسی اعمال شود.
وراثت (ادامه)
اشیا و پیامها
برنامه اسمالتاک مرکب از مجموعه ای از تعاریف کلاس است که حاوی اشیا داده و متدها است .
در اسمالتاک دارای سه ویژگی:
تعریف کلاس
طراحی و پياده سازی زبانهای برنامه سازی
نمونه سازی اشیا
ارسال پیام
در اسمالتاک سه نوع پیام داریم:
پیام یکانی
پیام دودویی
دانلود پاورپوینت آشنایی با نقش زبانهای برنامه سازی و بررسی عملکرد آنها
پیام کلمه کلیدی
وراثت (ادامه)
اشیا و پیامها
وراثت کلاس
داده های اسمالتاک براساس سلسله مراتب کلاس مشخص می شوند.
اگر هرمتدی که به شی ارسال می شود در آن کلاس تعریف نشده باشد به کلاس پدر ارسال می شود و این روند ادامه می یابد.
وراثت (ادامه)
مفاهیم انتزاع
چهار نوع رابطه وجود دارد:
اختصاصی
تجزیه
نمونه سازی
انفرادی سازی
چند ریختی
استفاده از پارامترها در زیربرنامه ها قدیمی ترین ویژگی زبانهای برنامه سازی است
چندریختی به توابعی اعمال می شود که یک نوع به عنوان آرگومان آنها است.
زبانهای ام ال و اسمالتاک از چندریختی به بهترین شکل استفاده می کنند.
چند ریختی (ادامه)
پیاده سازی:
زبانهایی که چند ریختی پویا را اجازه می دهند منجر به مشکل می شوند.
آرگومانها به دو شکل می توانند به تابع چند ریختی ارسال شوند:
توصیفگر صریح
توصیفگر فشرده
آرگومانهای زیر می توانند به تابع چندریختی ارسال شوند:
داده صریح 32 بیتی
داده کاراکتری 8 بیتی
داده بولین یک بایتی
ساختار رکورد پیچیده
فصل هشتمکنترل ترتیب اجرا
کنترل ترتیب اجرا
دو جنبه کار :
کنترل ترتیب اجرای عملیات که آن را کنترل ترتیب می نامیم
کنترل انتقال داده ها بین زیر برنامه ها و برنامه ها است که کنترل داده ها نامیده می شود.
دانلود پاورپوینت آشنایی با نقش زبانهای برنامه سازی و بررسی عملکرد آنها
کنترل ترتیب ضمنی و صریح
ساختارهای کنترل ترتیب به چهار دسته:
ساختارهایی که در عبارات مورد استفاده قرار می گیرند.
ساختارهایی که بین دستورات یا گروهی از دستورات به کار می روند.
برنامه نویسی اعلانی
کنترل ترتیب در برنامه ها
کنترل ترتیب ضمنی و صریح
ساختارهای کنترل ترتیب ممکن است ضمنی یا صریح باشد:
ساختار کنترل ضمنی: توسط زبان تعریف شده اند و بکار گرفته می شوند.
ساختار کنترل ترتیب صریح: برنامه نویس تهیه می کند تا ساختارهای ضمنی تعریف شده توسط زبان را عوض کند.
ترتیب اجرا در عبارات محاسباتی
نمایش درختی عبارات
با در نظر گرفتن عملیات در عبارات آرگومانهای عملیات را عملوند می نامیم.
مکانیزم کنترل ترتیب در عبارات ترکیب تابعی است یعنی عملیات و عملوندهایش مشخص می شود.
نمایش درختی ساخترا کنترلی عبارت را نشان می دهد
ترتیب اجرا در عبارات محاسباتی (ادامه)
نمایش درختی عبارات (ادامه)
نحو عبارات
طراحی و پياده سازی زبانهای برنامه سازی
در برنامه ها باید درختها را به صورت خطی مشخص کرد
نشانه گذاری perfix
نشانه گذاری Postfix
نشانه گذاری infix
دانلود پاورپوینت آشنایی با نقش زبانهای برنامه سازی و بررسی عملکرد آنها
ترتیب اجرا در عبارات محاسباتی (ادامه)
نمایش درختی عبارات (ادامه)
معنای عبارات
ارزیابی عبارات perfix
ارزیابی عبارات Postfix
ارزیابی عبارات infix
سلسله مراتب عملگرها (قواعد تقدم عملگرها)
شرکت پذیری
زبان C
زبان APL
زبان اسمالتاک
زبان فورث
ترتیب اجرا در عبارات محاسباتی(ادامه)
نمایش زمان اجرا
به دلیل مشکل بودن رمزگشایی عبارت به شکل infix مطلب است به شکل اجرایی تبدیل شود که در اجرا به راحتی رمزگشایی شود گزینه های مختلف عبارتند از:
دنباله ای از کد ماشین
ساختارهای درختی
شکل Perfix or postfix
ترتیب اجرا در عبارات محاسباتی(ادامه)
نمایش زمان اجرا
ارزیابی نمایش درختی عبارت
مسئله 1: قواعد ارزیابی یکنواخت
مسئله 2: اثرات جانبی
مسئله 3: شرایط خطا
مسئله 4: عبارات بولین مدار کوتاه
کنترل ترتیب بین دستورات
دستورات اصلی
انتساب به اشیای داده
دستور انتساب: هدف اولیه انتساب مقدار راست عبارت را به مقدار چپ آن نسبت دهد.
دستورات ورودی
سایر عملیات انتساب
شکلهای مختلف کنترل ترتیب سطح دستور
ترکیب
انتخاب
تکرار
کنترل ترتیب بین دستورات (ادامه)
دستورات اصلی (ادامه)
کنترل ترتیب ضمنی
دستور goto
Goto غیرشرطی
Goto شرطی
دستور break
کنترل ترتیب بین دستورات (ادامه)
دستورات اصلی (ادامه)
طراحی برنامه نویسی ساخت یافته
امتیاز goto :
اگر برچسبها از نظر نحوی ساده باشندمستقیماً توسط سخت افزار پشتیبانی مشود و کارایی آن بالااست
استفاده از آن در برنامه های کوچک ساده است
دانلود پاورپوینت آشنایی با نقش زبانهای برنامه سازی و بررسی عملکرد آنها
برای برنامه نویسان اسمبلی و کسانی که با زبانهای قدیمی برنامه نویسی می کنند آشنا است
هدف کلی برای نمایش شکلهای دیگری از کنترل است
کنترل ترتیب بین دستورات (ادامه)
دستورات اصلی (ادامه)
طراحی برنامه نویسی ساخت یافته (ادامه)
معایب goto :
عدم وجود ساختار سلسله مراتبی برنامه
ترتیب دستور ات در متن برنامه لازم نیست با ترتیب اجرا یکی باشد.
گروهی از دستورات ممکن است اهداف متعددی داشته باشد.
برنامه نویسی ساخت یافته
کنترل ترتیب بین دستورات(ادامه)
کنترل ترتیب ساخت یافته
دستورات مرکب
دستور مرکب
دستورات شرطی
IF
ELSE
دستورات تکرار
تکرار ساده
تکرار در صورتی که شرط برقرار باشد.
تکرار با افزایش یک شمارنده
تکرار مبتنی بر دادهها
تکرار نامتناهی
کنترل ترتیب بین دستورات(ادامه)
کنترل ترتیب ساخت یافته (ادامه)
مشکلات کنترل ترتیب ساخت یافته
خروج چندگانه از حلقه
Do-while-do
شرایط استثنایی
کنترل ترتیب بین دستورات(ادامه)
دانلود پاورپوینت آشنایی با نقش زبانهای برنامه سازی و بررسی عملکرد آنها
برنامه های بنیادی
هر فلوچارت حاوی این سه مولفه است:
برنامه محض
برنامه بنیادی
برنامه مرکب
قضیه ساخت یافته
قضیه باهوم و جاکوبینی اثبت کرد که تمام برنامه ها را می توان فقط با ساختارهای کنترلی استاندارد نوشت
ترتیب در عبارات غیر محاسباتی
تطابق الگو
یک عملیات حیاتی در زبانهایی مثل اسنوبال ، پرولوگ و ام ال تطابق الگو است.
مجموعه ای از متغیرها به الگوی از پیش تعیین شده انجام می شود.
بازنویسی ترم
بازنویسی ترم شکل محدود شده ای از تطابق الگو است که در دامنه زبانهای برنامه سازی کاربردهای فراوانی دارد.
ترتیب در عبارات غیر محاسباتی(ادامه)
اتحاد
عبارتی حاوی یک یا چند متغیر یک تقاضا نام دارد و رابطه ناشناخته ای را نشان می دهد.
جانشینی
اتحاد عمومی
کاربرد اتحاد در پرولوگ
ترتیب در عبارات غیر محاسباتی(ادامه)
عقبگرد
اگر به آخرین هدف ممکن برسیم و آن نیز با شکست مواجه شود می گوییم هدف فرعی فعلی شکست خورده است چون مجموعه ای از هدفها در پشته قرار گرفته اند آن را جستجو می کنیم و به هدف فرعی قبلی بر می گردیم که تطبیق صورت گرفته است و تلاش می کنیم هدف دیگری با آن تطابق کند.
ترتیب در عبارات غیر محاسباتی(ادامه)
اصل راه حل
دانلود پاورپوینت آشنایی با نقش زبانهای برنامه سازی و بررسی عملکرد آنها
هدف فضای جستجوی پرولوگ متحد کردن Q1…..Qn است و پرولوگ در انتخاب قاعده ای مثل P از بانک اطلاعاتی آزاد است تا آن را به عنوان فرضیه ای در نظر بگیرد که تفکیک را در آن انجام دهد. اگر با موفقیت انجام شود Б پاسخ به تقاضا را توصیف می کند اگر با شکست مواجه شود نیاز به قاعده P داریم تا جانشین معتبری را بیابد.
فصل نهمکنترل زیر برنامه
کنترل ترتیب زیر برنامه
زیربرنامه ساده فراخوانی – برگشت: هر برنامه متشکل از یک برنامه اصلی است که در حین اجرا می تواند زیربرنامه هایی را فراخوانی کند و هر زیربرنامه زیربرنامه های دیگر را .
دستور فراخوانی زیربرنامه مثل این است که قبل از اجرا یک کپی از زیربرنامه در نقطه ای که فراخوانی صورت می گیرد قرار داده شود.
کنترل ترتیب زیر برنامه (ادامه)
فرضیه های موجود:
زیربرنامه ها نمی توانند بازگشتی باشند.
نیاز به دستور فراخوانی صریح است
زیربرنامه ها در هر فراخوانی باید به طور کامل اجرا شوند
کنترل به نقطه فراخوانی بر می گردد.
در هر زمان فقط یک زیربرنامه کنترل را دردست دارد.
کنترل ترتیب زیر برنامه (ادامه)
زیربرنامه های فراخوانی – برگشت
پیاده سازی: نیاز به چیزهای دیگر:
بین تعریف زیربرنامه و سابقه فعالیت آن تفاوت وجود دارد.
سابقه فعالیت دو بخش دارد : سگمنت کد و رکورد فعالیت
سگمنت کد در حین اجرا تغیر نمی کند.
رکورد فعالیت در هر بار اجرای زیربرنامه ایجاد می شود و با خاتمه زیربرنامه از بین می رود.
کنترل ترتیب زیر برنامه (ادامه)
زیربرنامه های فراخوانی – برگشت (ادامه)
پیاده سازی پشته ای
ساده ترین تکنیک مدیریت حافظه زمان اجرا پشته است.
دانلود پاورپوینت آشنایی با نقش زبانهای برنامه سازی و بررسی عملکرد آنها
برای کنترل مدیریت حافظه نیاز به اشاره گر پشته است.
در پاسکال یک پشته مرکزی و یک ناحیه حافظه به طور ایستا تخصیص می یابد.
پشته در لیسپ به صورت فراخوانیهای زیربرنامه به صورت تو در تو می باشد.
کنترل ترتیب زیر برنامه(ادامه)
زیربرنامه های بازگشتی
مشخصات: اگر فراخوانی بازگشتی زیربرنامه امکانپذیر باشد A می تواند هر زیربرنامه ای از جمله خودش را فراخوانی کند.
پیاده سازی: در هنگام فراخوانی هر زیربرنامه رکورد فعالیت جدیدی ایجاد می شود و با دستور برگشت از بین می رود.
کنترل ترتیب زیر برنامه(ادامه)
اعلان پیشرو در پاسکال
اعلان پیشرو مثل امضای زیربرنامه است که شامل لیست پارامترها و کلمه forward است.
صفات کنترل داده ها
طراحی و پياده سازی زبانهای برنامه سازی
اسامی و محیطهای ارجاع
اشیای داده به دو روش به عنوان عملوند یک عملیات مورد استفاده قرار می گیرند:
انتقال مستقیم
مراجعه از طریق شی داده ای که دارای نام است.
انتقال مستقیم برای کنترل داده ها بین عابارت بکار می رود.
صفات کنترل داده ها (ادامه)
اسامی و محیطهای ارجاع (ادامه)
عناصری از برنامه که دارای نام هستند (عناصر مشترک):
اسامی متغیرها
اسامی پارامترهای مجازی
اسامی زیربرنامه ها
اسامی انواع تعریف شده
اسامی ثوابت تعریف شده
برچسب دستورات
اسامی استثناها
اسامی عملیات اولیه مثل +و*وsort
اسامی ثوابت لیترال مثل 25/3و 17
صفات کنترل داده ها (ادامه)
اسامی و محیطهای ارجاع (ادامه)
وابستگیها و محیطهای ارجاع
دانلود پاورپوینت آشنایی با نقش زبانهای برنامه سازی و بررسی عملکرد آنها
کنترل داده ها به انقیاد شناسه ها به اشیای داده زیربرنامه ها مربوط می شود.
این انقیاد را وابستگی می نامند و ممکن است به صورت جفتی از شناسه و شی داده یا زیربرنامه مربوط به آن نمایش داد.
صفات کنترل داده ها (ادامه)
اسامی و محیطهای ارجاع (ادامه)
وابستگیها و محیطهای ارجاع(ادامه)
در حین اجرای برنامه در اغلب زبانها مشاهده می شود که:
در آغاز اجرای برنامه اصلی وابستگی شناسه ها ، نام هر متغیر تعریف شده در برنامه را …
وقتی برنامه اصلی اجرا می شود عملیات ارجاعی را فراخوانی می کند …
هر وقت زیربرنامه جدید فراخوانی می شود وابستگیهای دیگری برای …
وقتی زیربرنامه اجرا می شود عملیات ارجاعی را فراخوانی می کند تا شی داده…
وقتی زیربرنامه کنترل را به برنامه اصلی برمی گرداند…
وقتی کنترل به برنامه اصلی برمیگردد …
صفات کنترل داده ها (ادامه)
اسامی و محیطهای ارجاع (ادامه)
وابستگیها و محیطهای ارجاع(ادامه)
مفاهیم اصلی کنترل داده:
محیطهای ارجاع
دانلود پاورپوینت آشنایی با نقش زبانهای برنامه سازی و بررسی عملکرد آنها
محیط ارجاع محلی(یا محیط محلی)
محیط ارجاع غیرمحلی
محیط ارجاع عمومی
محیط ارجاع از پیش تعریف شده
قابلیت مشاهده
حوزه پویا
عملیات ارجاع
ارجاعهای محلی، غیرمحلی و عمومی
صفات کنترل داده ها (ادامه)
اسامی و محیطهای ارجاع (ادامه)
نام مستعار برای اشیای داده
یک شی داده در طول عمرش ممکن است بیش از یک نام داشته باشد یعنی ممکن است چندین وابستگی در محیطهای ارجاع مشخص وجود داشته باشد.
به دلیل مشکلاتی که نام مستعار ایجاد می کند طراحی زبان جدید سعی در حذف یا محدود کردن نام مستعار دارد.
صفات کنترل داده ها(ادامه)
حوزه ایستا و پویا
حوزه پویای وابستگی مربوط به یک شناسه مجموعه ای از سابقه های فعالیت زیربرنامه است که وابستگی در حین اجرا قابل مشاهده است.
قاعده حوزه پویا : حوزه پویای هر وابستگی را برحسب حالت پویای اجرای برنامه تعریف می کند.
اهمیت حوزه ایستا: اغلب فرآیندها یکبار در زمان ترجمه انجام شوند.
صفات کنترل داده ها(ادامه)
ساختار بلوکی
مفهوم ساختار بلوک در زبانهای ساخت یافته بلوگی مثل پاسکال پیدا شد.
هر زیربرنامه یا برنامه به صورت مجموعه ای از بلوکهای تودرتو سازماندهی می شود.
ویژگی مهم بلوک : محیط ارجاع جدیدی را معرفی میکند.
با مجموعه ای از اعلان ها برای اسامی شروع می شود و سپس مجموعه ای از دستورات قرار می گیرد که به آن اسامی مراجعه می کنند.
دانلود پاورپوینت آشنایی با نقش زبانهای برنامه سازی و بررسی عملکرد آنها
صفات کنترل داده ها(ادامه)
داده های محلی و محیطهای ارجاع محلی
محیط محلی زیربرنامه Q شامل شناسه های گوناگونی است که در عنوان زیربرنامه Q اعلان شده اند
برای محیطهای محلی، قواعد حوزه پویا و ایستا سازگارند
نگهداری: وابستگی X ممکن است نگهداری شود تا Q دوباره فراخوانی گردد
حذف: وابستگی Xممکن است حذف شود.
صفات کنترل داده ها(ادامه)
داده های محلی و محیطهای ارجاع محلی(ادامه)
پیاده سازی: بهتر است محیط محلی زیربرنامه را به صورت جدول محیط ارجاع نشان داد.
حافظه مربوط به هر شی به صورت یک نوع نمایش داده می شود و محل آن در حافظه به صورت مقدار چپ است .
نگهداری: اگر محیط ارجاع محلی زیربرنامه sub بین فراخوانیهای مختلف نگهداری شود فقط یک جدول محیط ارجاع محلی ایجاد می شود که حاوی متغیرهای نگهداری شده است.
صفات کنترل داده ها(ادامه)
داده های محلی و محیطهای ارجاع محلی(ادامه)
حذف: اگر محیط محلی sub در بین فراخوانیها حذف شود و هنگام ورود به آن دوباره ایجاد شودجدول محیط محلی حاوی متغیرهای حذف شده به عنوان بخشی از رکورد فعالیت sub تخصیص می یابد.
امتیازات و معایب: در نگهداری زیربرنامهایی که نوشته می شود نسبت به گذشته حساس است . و روش حذف موجب صرفه جویی در حافظه می شود
پارامترها و انتقال پارامترها
چهار روش اصلی برای محیطهای غیرمحلی مورد استفاده:
محیطهای مشترک صریح و محیطهای غیرمحلی صریح
حوزه پویا
حوزه ایستا
وراثت
دانلود پاورپوینت آشنایی با نقش زبانهای برنامه سازی و بررسی عملکرد آنها
پارامترها و انتقال پارامترها(ادامه)
پارامترهای مجازی و واقعی
اصطلاحات آرگومان و نتیجه به داده هایی اطلاق می شود که با مکانیزمهای مختلفی به زیربرنامه ارسال و از آن دریافت می شود.
پارامترهای مجازی نوعی شی داده محلی در یک زیربرنامه است.
پارامترهای واقعی یک شی داده است که با زیربرنامه فراخوان مشترک است.
پارامترها و انتقال پارامترها (ادامه)
پارامترهای مجازی و واقعی (ادامه)
اصطلاحات آرگومان و نتیجه به داده هایی اطلاق می شود که با مکانیزمهای مختلفی به زیربرنامه ارسال و از آن دریافت می شود.
پارامترهای مجازی نوعی شی داده محلی در یک زیربرنامه است.
پارامترهای واقعی یک شی داده است که با زیربرنامه فراخوان مشترک است.
پارامترها و انتقال پارامترها (ادامه)
پارامترهای مجازی و واقعی (ادامه)
تناظر بین پارامترهای مجازی و واقعی
تناظر موقعیتی
تناظر براساس نام
پارامترها و انتقال پارامترها(ادامه)
روشهای انتقال پارامترها
توضیح فرآیند دو مرحله ای شامل:
توصیف پیاده سازی جزئیات مکانیزم انتقال پارامتر
توصیف معنای چگونگی استفاده از پارامترها
چهارروش متداول :
دانلود پاورپوینت آشنایی با نقش زبانهای برنامه سازی و بررسی عملکرد آنها
فراخوانی با نام
فراخوانی با ارجاع
فراخوانی با مقدار
فراخوانی با مقدار و نتیجه
فراخوانی با مقدار ثابت
فراخوانی با نتیجه
پارامترها و انتقال پارامترها(ادامه)
انتقال معنا
انواع داده اولیه با پارامتر in با فراخوانی مقدار ثبات و با پارامتر out یا in-out با فراخوانی مقدار و نتیجه ارسال می شوند.
انواع داده مرکب به فراخوانی ارجاع ارسال می شوند.
مقادیر تابع
مقادیر برگشتی به عنوان مقدار تابع هستند یعنی از طریق پارامتر برگردانده نمی شوند.
پارامترها و انتقال پارامترها(ادامه)
پیاده سازی انتقال پارامتر
چون هر سابقه فعالیت زیربرنامه مجموعه متفاوتی از پارامترها را دریافت می کند حافظه پارامترهای مجازی زیربرنامه به عنوان بخشی از رکورد فعالیت زیربرنامه تخصیص می یابد هر پارامتر مجازی یک شی داده محلی در زیربرنامه است.
پارامترها و انتقال پارامترها(ادامه)
پیاده سازی انتقال پارامتر
مثالهایی از انتقال پارامترها
متغیرهای ساده و ثوابت
ساختمان داده ها
عناصر ساختمان داده ها
عناصر آرایه با اندیسهای محاسبه شده
اشاره گرها
نتایج عبارات
نام مستعار و پارامترها
پارامتر مجازی و متغیر غیرمحلی
دو پارامتر مجازی
پارامترها و انتقال پارامترها(ادامه)
پیاده سازی انتقال پارامتر(ادامه)
زیربرنامه ها به عنوان پارامتر
دو مشکل عمده با پارامترهای زیربرنامه :
کنترل نوع ایستا
ارجاعهای غیرمحلی
برچسب دستورات به عنوان پارامتر
کدام سابقه فعالیت باید مورد استفاده قرار گیرد؟
چگونه Goto به یک برچسب پیاده سازی می شود؟
محیطهای مشترک صریح
مشخصات: محیط مشترک معادل محیطی برای یک زیربرنامه است با این تفاوت که بخشی از یک زیربرنامه خاص نیست.
پیاده سازی: در فرترن و C هر زیربرنامه ای که از محیط مشترک استفاده می کند اعلانهایی برای متغیرهای مشترک دارد .
محیطهای مشترک صریح (ادامه)
اشتراک صریح متغیرها
به جای اینکه گروهی از متغیرها در محیط مشترک و جدا از زیربرنامه ها باشند هر متغیر دارای یک مالک است و آن زیربرنامه است که در آنجا اعلان می شود.
پیاده سازی: اثر اشتراک صریح متغیر مشابه استفاده از یک متغیر در محیط مشترک است .
محیطهای مشترک صریح
حوزه پویا
قاعده تازه ترین وابستگی: در زنجیره پویایی از فراخوانی زیربرنامه ها که ازP شروع شد از تازه ترین وابستگی ایجاد شده برای X استفاده می کنیم .
پیاده سازی: پیاده سازی آن با توجه به پیاده سازی پشته مرکزی برای ذخیره رکوردهای فعالیت زیربرنامه ساده است.
محیطهای مشترک صریح(ادامه)
حوزه ایستا و ساختار بلوکی
محیط ارجاع غیرمحلی هر زیربرنامه در حین اجرا با استفاده از قواعد حوزه پویا تعیین می شود که در زمان ترجمه صورت می گیرد.
ترتیب جدولهای محلی در پشته تودر تویی پویای سابقه های فعالیت زیربرنامه را نمایش می دهد.
برای پیاده سازی کامل لازم است ساختار بلوک ایستا در حین اجرا طوری نمایش داده شود که بتواند ارجاع غیرمحلی را کنترل کند.
محیطهای مشترک صریح(ادامه)
حوزه ایستا و ساختار بلوکی (ادامه)
پیاده سازی زنجیر ایستا
اشاره پر زنجیر ایستا همیشه حاوی آدرس پایه جدول محلی دیگری است که در محل پایینتر جدول قرار دارد.
اشاره گرهای زنجیر ایستا مبنایی برای الگوی ارجاع است.
محیطهای مشترک صریح(ادامه)
حوزه ایستا و ساختار بلوکی (ادامه)
پیاده سازی: برای بهبود پیاده سازی به نکاتی نیاز داریم:
هر زیربرنامه ای مثل R که اجرا می شود طول زنجیر پویا که جدول محلی R به طرف پایین پشته شروع می شود ثابت است …
در این زنجیر با طول ثابت یک ارجاع غیرمحلی همواره در یک نقطه از زنجیر برآورده می شود.
دانلود پاورپوینت آشنایی با نقش زبانهای برنامه سازی و بررسی عملکرد آنها
موقعیتی از زنجیر ایستا که ارجاع محلی در آنجا برآورده خواهد شد می تواند در زمان ترجمه مشخص شود.
محیطهای مشترک صریح(ادامه)
حوزه ایستا و ساختار بلوکی (ادامه)
وابستگی مناسب در دو مرحله انجام می شود:
مقدار ورودی اول را به عنوان اندیش نماشگر در نظر بگیرید
محل ورودی مطلوب را با استفاده از آدرس پایه و آفست به دست آورید.
محیطهای مشترک صریح(ادامه)
حوزه ایستا و ساختار بلوکی (ادامه)
اعلانها در بلوکهای محلی
باتوجه به ماهیت پویای فراخوانی زیربرنامه ها نمی توانیم مطمئن باشیم که کدام زیربرنامه ها فعلاً در حال اجرا است.
فصل دهممدیریت حافظه
مدیریت حافظه
با اینکه برنامه نویس با مدیریت حافظه سروکار دارد و باید برنامه هایی بنویسد که از حافظه به خوبی استفاده کند احتمالاً کنترل مستقیم او بر حافظه اندک است.
عناصری که به حافظه نیاز دارند
سگمنت کد برای برنامه ترجمه شده کاربر
برنامه های زمان اجرای سیستم
ثوابت و ساختمان داده های تعریف شده توسط کاربر
نقاط برگشت زیربرنامه ها
محیطهای ارجاع
حافظه های موقت در ارزیابی عبارات
حافظه های موقت برای انتقال پارامترها
دانلود پاورپوینت آشنایی با نقش زبانهای برنامه سازی و بررسی عملکرد آنها
بافرهای ورودی – خروجی
داده های خراب سیستم
عملیات فراخوانی و برگشت از زیربرنامه
عملیات ایجاد و از بین بردن ساختمان داده ها
عملیات درج و حذف اجزای ساختمان داده ها
مدیریت حافظه تحت کنترل برنامه نویس و سیستم
مشکل کنترل برنامه نویس بر روی مدیریت حافظه:
مسئولیت سنگینی را متوجه برنامه نویس می کند و ممکن است با مدیریت حافظه تحت کنترل سیستم تداخل ایجاد کند.
مراحل مدیریت حافظه
تخصیص اولیه
بازیابی حافظه
فشرده سازی و استفاده مجدد
مدیریت حافظه ایستا
ساده ترین شکل تخصیص، تخصیص ایستا است . این تخصیص در زمان ترجمه انجام می شود و در طول اجرا ثابت است.
مدیریت حافظه هرم
هرم بلوکی از حافظه است که در آن قطعاتی از حافظه به روش غیرساخت یافته تخصیص می یابند و آزاد می شوند.
تکنیکهای مدیریت حافظه هرم برحسب اینکه اندازه عناصر تخصیص یافته ثابت باشد یا متغیر به دو دسته تقسیم شوند.
مدیریت حافظه هرم (ادامه)
مدیریت حافظه هرم با عناصر طول ثابت
برای تخصیص یک عنصر اولین عنصر لیست فضای آزاد از لیست حذف می شود و اشاره گری به آن عنصر به عملیات درخواست کننده حافظه برگردانده می شود.
بازیابی: شمارش ارجاعها و زباله روبی
برنامه نویس یا سیستم آنها را بر می گرداند.
شمارش ارجااع
زباله روبی
نشانه گذاری
جاروکردن
دانلود پاورپوینت آشنایی با نقش زبانهای برنامه سازی و بررسی عملکرد آنها
مدیریت حافظه هرم (ادامه)
مدیریت حافظه هرم با عناصر طول ثابت (ادامه)
بخش نشانه گذاری زباله روب کار دشواری است .
سه فرضیه در مورد این فرآیند نشانه گذاری وجود دارد:
هرعنصر فعال باید از طریق زنجیره ای از اشاره گرها با شروع از خارج هرم قابل دستیابی باشد.
باید بتوان اشاره گرهای خارج از هرم را که به عنصری در هرم اشاره می کند تعیین کرد
باید بتوان در داخل هر عنصر فعال هرم فیلدهایی را تعیین کرد که حاوی اشاره گرهایی به عناصر دیگر هرم اند.
مدیریت حافظه هرم(ادامه)
مدیریت حافظه هرم با عناصر طول متغیر
تخصیص اولیه و استفاده مجدد
طراحی و پياده سازی زبانهای برنامه سازی
به دلیل متغیربودن طول عناصر دو امکان برای استفاده مجدد وجود دارد:
استفاده از لیست فضای آزاد برای تخصیص حافظه
با انتقال تمام عناصر فعال به یک طرف هرم فضای آزاد لیست را فشرده کنید.
مدیریت حافظه هرم(ادامه)
مدیریت حافظه هرم با عناصر طول متغیر
استفاده مجدد از لیست فضای آزاد
برای مدیریت تخصیص مستقیم از این نوع لیست فضای آزاد چند تکنیک وجود دارد:
روش اولین جای مناسب
روش بهترین جای مناسب
مدیریت حافظه هرم(ادامه)
مدیریت حافظه هرم با عناصر طول متغیر
بازیابی با بلوکهای طول متغیر
روش برگشت صریح فضای آزاد شده به لیست فضای آزاد ساده ترین تکنیک است اما مسئله های مربوط به زباله ها و ارجاعهای معلق وجود دارد.
باید تشخیص دهیم که انتهای یک عنصر کجاست وعنصریعدی از کجا شروع می شود.
ساده ترین راه حل این است که در کنار بیت زباله روبی در اولین کلمه هر بلوک طول آن بلوک نگهداری شود.
مدیریت حافظه هرم(ادامه)
مدیریت حافظه هرم با عناصر طول متغیر
فشرده سازی و پراکندگی حافظه
دو روش برای فشرده سازی وجود دارد:
فشرده سازی جزئی
فشرده سازی کامل
30 تا 70 درصد پروژه | پاورپوینت | سمینار | طرح های کارآفرینی و توجیهی | پایان-نامه | پی دی اف مقاله ( کتاب ) | نقشه | پلان طراحی | های آماده به صورت رایگان میباشد ( word | pdf | docx | doc | )
نقد و بررسیها
هیچ دیدگاهی برای این محصول نوشته نشده است.