لینک پرداخت و دانلود *پایین مطلب*
فرمت فایل:Word (قابل ویرایش و آماده پرینت)
تعداد صفحه:60
فهرست مطالب
Why study programming languages ?
Attributes of a good language :
Imperative languages :
Applicative languages :
object- oriented programming :
languages evtiarative :
batch proccessing:
Program language :
Binding : (انقیاد ، قید گذاری )
ترجمه زبان :
تعریف تر جمه :
معیارهایی برای خوب بودن syntax :
lexical analysis :
Symbol Table :
Elementery data types
و چگونگی نمایش در حافظه
از لحاظ پیاده سازی ساختار:
Declaration :
assignment & initialization :
languages ?
هر چه قابلیت ابزار را بشناسیم ابزار شناسی بهتر می شود .الگو ریتم های بهینه تر می شود .قدرت انتخاب زبانها بالا تر می رود .یادگیری زبانهای جدید آسان تر می شود .برای طراحی زبان جدید می توان از قابلیتهای زبانهایی که شناختیم استفاده کنیم و نقاط ضعف را رفع کنیم . (مانند java )
Attributes of a good language :
ساختار زبان ساده و روشن و واضح (کد نویسی راحت باشد)سنخیت با آن طبیعت مسئله.orthognaliy (تعامل) قابلیت ترکیب دستور العمل ها و استفاده ازساختاریدر ساختارهای دیگر .مثال :
A=b>3; if (a=b)
استفاده یکassignment در ساختار if
:Support for abstraction .4
data مجرد که ساخته میشود مهم نیست در کجا کار میکند و از محیط خارج مستقل است و محیط خارج هیچ دخل و تصرفی در بر نامه ندارد . به data type یک زبان هر چه لازم است می توان اضافه کرد .
مثال : link list یک تایپ data type مجرد است .
Ease of program verificatin ( تشخیص صحت برنامه ) :programming enviroment : ( محیط مجتمع توسعه IDE که محیط های user friendly هستند ) portability of programs : ( قابلیت حمل )از یک دستگاه به دستگاه دیگر کار کند مانند زبان java .
cost of use : ( هزینه اجرا ، هزینه ترجمه ، هزینه تولید ، هزینه نگهداری )cost of program execution : برنامه سریع اجرا شود و کد بهینه وقت زیادی برای اجرا از cpu نگیرد .
cost of program translation:مدت زمانی که compile کد تولید می کند زمان کمی باشد .
مثال : pascal سریع تر اجرا می شود و کند تر compile می شود زیرا پاسکال بهینه سازی کد انجام می دهد ، زمان بیشتری می برد ولی c بر عکس .
cost of program creation , testing and use : برنامه نویس سریعتر تویط زبان ، برنامه را تولید کند و تعداد برنامه نویس کمتری لازم باشد .
cost of program maintenance : زبانی که توسعه و خوانایی بالاتری داشته باشد .
مثال : pascal هزینه نگهداری کمتری دارد چون ، چند ماه بعد قابل فهم تر است .
زبان خوب برای دانشجو زبانی است که هزینه compile پایین باشد .
بستگی به معیارهای زبان برنامه نویسی مناسب مشخص می شود .Language paradiagms :
Imperative languages :
زبانهایی مانند : PLI ، Pascal ، c ، fortran
زبانهایی که الگو ریتم ها را در غالب function ، procedure می نویسیم و هر procedure یک شرح وظیفه ای دارد که برنامه نویس کد آنرا می نویسد و مجموعه دستور العمل ها ، state ماشین ( موقعیت cpu و حافظه ) را تغببر می دهد .
بعد از انجام هر دستور العمل نتیجه را در جایی بریزیم و ببینیم . ( procedural languages )
Applicative languages :
زبانهایی مانند ML ، Lisp
اساس کار function است و زبان با کار کردن این function به نتیجه کار می رسد.
object- oriented programming :
محور اصلی این زبان شی ها هستند و با استفاده از این زبان می توان data type پیچیده را از ترکیب data type های جدیدی بدست آورد .(link list : مجموعه ای از data type های ساده بدست آمده )
: Rule – based languages (شاخه ای از زبان توصیفی )
ساختار این rule ها دو بخش است :
actionvalidtion
languages evtiarative :
زبانهایی هستند که دانش (rule ، fact ) داخل آن توصیف می شود و از آنها برای پاسخگویی به یک سری پرسشها استفاده می شود .
زبانهایی که دانش در خطوط برنامه مستقر است .
زبان prolog اجازه داده می شود که دانش در قالب به صورت facts ، rules معرفی شود .
جلسه دوم :
Enviroment : محیطی که تحت آن برنامه نویسی انجام می شود و بر طراحی و پیاده سازی زبان تأثیر گذار است .
در محیط dos ،می بینیم که زبان بر نامه نویسی هم تأثیر پذیر است به طور مثال در محیط dos ، mouse programming سخت است .
درc و turbo pascal مشکل است با mouse کار کنیم باید driver موس را داشته باشیم و بعدا با intrupt ها ، mouse را کنترل کنیم . چون محیط اجازه کار با موس را راحت نمی دهد ، برنامه نویس باید با lintrupt این کار را پیاده کند . ولی همین c و pascal در ویندوز به علت وجود توابع و امکانات os اجازه کار با موس به راحتی امکان پذیر می سازد.
اگر پاسکال در محیط ویندوز اجرا شود ( زبان Delphi) کار راحتتر است و با mouse می توان کار کرد .
بنابراین محیط در feature هایی که می تواند در اختیار قرار دهد تاثیر گذار است ، مثلا در سیستمهای قدیمی که main frame بودند batch proccessing داشتند .
batch proccessing:
وقتی برنامه ای را برای اجرا می فرستیم در صفی قرار می گیرد تا نوبت به آن برسد . در آن وقت چند برنامه در صف قرار می گیرند و میتوانند با هم کار کنند . د ر آن وقت شروع به کار می کنند ، از زمانیکه در صف قرار می کیرند تا زمانیکه اجرا شود.userهیچ دخل و تصرفی نمی تواند به آن داشته باشد . برنامه برای اجرا فرستاده می شود و دیگر منتظر نمی ایستد که کاربر data ای را وارد کند ( توسط کی برد ) یا مثلا اطلاعاتی را روی صفحه ببینیم . بنا براین حالت interaction بین user و برنامه وجود ندارد . چون محیط اینطور است زبانهایی که تحت این محیط طراحی و پیاده سازی می شوند ، featureهایی مثل demo کارهای mouse و کارهایی که حالت interaction بین user و برنامه باشد دیده نمی شود . ( ارتباط بر قرار کردن و رد و بدل کردن اطلاعات : interaction ) . ولی در عوض بدلیل اینکه کار با دستگاههای جانبی مثل دیسکها و tape ها و کارتخوان و ... بیشر نیاز است ، featureهایی که بتواند با آنها کار کند بیشتر شده است .( مثل cobol در Dosvs) .
یعنی محیط بسیار در طراحی زبان و feature هایی که آن زبان می تواند در اختیار کاربر بگذارد موثر است .در بعضی سیستمها ممکن است feature هایی لازم باشد که محیط نمی دهد ، زبان برنامه سازی باید آنرا شبیه سازی software simulation کند .
برای طراحی و پیاده سازی زبان اولین کاری که باید بکنیم این است که چون می دانیم محیط روی زبان موثر است ، محیطی را که با این زبان قرار است کامپایل شود روی آن و یا محیطی که این زبان باید روی آن اجرا شود شناسایی کنیم .
پس شناسایی اینکه روی چه دستگاهی عملیات کامپایل انجام شود و برنامه روی چه دستگاهی اجرا می شود اهمیت دارد..معمولا روی همان دستگاه که برنامه کامپایل می شود روی همان اجرا می شود .
پس باید تا حدودی معماری کار را بشناسیم که چه اتفاقاتی می افتد داخلی ترین لایه Actual Computer است که همانن سخت افزار است و به تنهایی قابل استفاده نیست و برای قابل استفاده شدن به لایه های نرم افزاری روی آن نیاز است .
شکل Virtual Computer:
یک لایه نازک نرم افزاری به اسم Bios که روی لایه Actual comp. قرار میگیرد . یک سری سرویسهای اولیه مربوط به ورودی و خروجی در آن قرار گرفته .
این نما سطوح Virtuality
را نمایش میدهد.
پایان نامه جهت اخذ درجه کارشناسی رشته کامپیوتر
طراحی و پیاده سازی زبان های برنامه سازی
ویرایش نخست
در زیر به مختصری ازعناوین و چکیده آنچه شما در این فایل دریافت می کنید اشاره شده است
فهرست
عنوان صفحه
فصل اول : مباحث طراحی زبان .............................................. 1
فصل دوم : اثرات معماری ماشین ........................................... 4
فصل سوم : اصول تبدیل زبان ............................................... 7
فصل چهارم : مدلسازی خواص زبانها ........................................ 10
فصل پنجم : انواع داده ی اولیه .............................................. 12
فصل ششم : بسته بندی........................................................ 19
فصل هفتم : وراثت .......................................................... 24
فصل هشتم : کنترل ترتیب ...................................………… 28
فصل نهم : کنترل زیر برنامه ................................…………… 31
فصل دهم : مدیریت حافظه ................................................ 35
فصل یازدهم : پردازش توزیعی............................................... 39
فصل دوازدهم : برنامه نویسی شبکه ........................................ 42
مقدمه
هدف در این درس بررسی ویژگی های زبان برنامه نویسی ، مستقل از یک نوع زبان خاص است.
چرا زبان های برنامه نویسی را مطالعه می کنیم ؟
1. برای بهبود توانایی ، در توسعه الگوریتم های کار آمد ، زبان ها ویژگی هایی دارند که اگر به خوبی مورد
استفاده قرا ر گیرند مفید بوده و در غیر اینصورت وقت زیادی ر ا از برنام ه نویس و هم از کامپیوتر تلف
می کنند.
2. استفاده بهینه از زبان برنامه نویسی موجود ، درک چگونگی پیاده سازی ویژگی های یک زبان ، توانایی
ما را در نوشتن برنامه های کار آمد افزایش می دهد.
3. می توانیم با اصطلاحات مفید ساختارهای برنامه نویسی آشنا شویم ، با مطالعه زبان ه ای برنامه نویسی
متعدد و آشنایی با پیاد ه سازی ساختا ر های موجود در آنها فرهنگ لغات برنام ه نویسی یک برنامه نویس
افزایش می یابد و این امر سبب درک تکنیک های مختلف برنام هنویسی می شود.
4. انتخاب بهترین زبان برنامه نویسی، زبان های برنامه نویسی برای کاربرد های مختلف طراحی شده اند .
آشنایی با چند زبان برنامه نویسی و آگاهی از خصوصیات هر کدام موجب م ی شود زبان مناسبی برای
پیاده سازی پروژه خاصی انتخاب شود.
5. آموزش زبان جدید ساده می شود ، اگر با ساختار زبان های برنام هنویسی آشنا باشیم یادگیری زبان های
جدید ساده تر خواهد بود.
6. طراحی زبان جدید ساده می شود، کاربر می تواند واسط هایی را که حاوی دستورات و قال بهای داده ها
هستند ، تهیه کرده و از آن برای ارتباط با برنامه استفاده کند.
تاریخچه زبانهای برنامه نویسی
• در دهه 1950 اولین زبان های سطح بالا ایجاد شدند.
پاسکال ، پرولوگ و اسمالتاک در دهه 1970 طراحی شدند. ، C ، • ادا
پرل و پست اسکریپت در دهه 1980 طراحی شدند. ، ML ، C++ •
• جاوا در دهه 1990 طراحی شد
نکته: فایلی که دریافت میکنید جدیدترین و کاملترین نسخه موجود از پروژه پایان نامه می باشد.
این فایل شامل : صفحه نخست ، فهرست مطالب و متن اصلی می باشد که با فرمت ( PDF ) در اختیار شما قرار می گیرد.
تعداد صفحات : 148
پایان نامه کامپیوتر: طراحی و پیاده سازی نرم افزار شبیه ساز عملکرد تراکتور با ویژوال بیسیک
قالب: word
تعداد صفحات: 147
خلاصه:
این تز یک قسمت از پروژه HSV در مرکز استرالیایی برای زمینه رباتیک در دانشگاه سیدنی است . هدف توسعه Package ارتباطی بی سیم برای ارتباط بین کامپیوتر آن بورد ute و کامپیوتر اپراتور است . اول از همه حسگرها و محرک ها مطالعه و بحث شدند و همه داده های مهم که اپراتور ممکن است به آن علاقه داشته باشد تحلیل و معین شده اند . سیستم ارتباطی بی سیم سپس انتخاب و گسترش یافت . بانداستفاده شده 2.4 GHz بود و سیستم IEEE802.llb بوسیله ارتباط پیک توپیک کامپیوترها استفاده می شود . Package سخت افزاری بی سیم به دفت انتخاب شده مانند : آنتن ute ، آنتن اپراتور کارت اینترنتی ارتباطی بی سیم و مبدل اینترنتی . کتابخانه ارتباطی استفاده شده کتابخانه msg-Bus بود . جایی که ارتباط به آسانی فعال می شود تا پیامها در یک زمان فرستاده شوند .دو نرم افزار اصلی توسعه یافت . اولین نرم افزار توسعه یافته برای ute تمام دیتای حسگرها را ز حافظه تقسیم شده هسته اصلی می خواند و آن را به کامپیوتر اپراتوری می فرستد . نرم افزار دوم ، نرم افزار اپراتور با ute ارتباط می یابد و دیتای مخصوصی رامی خواهد و آن را در فایلهای متنی ذخیره می کند . سرانجام ، روالهای مطمئن برای هر کس طرح ریزی شده که ute برای مردم توسعه یافته استفاده کند و هر بخش از آزمایش انجام شده در هر زمان را دنبال کند.
پیش زمینه
massage-Bus رابط برنامه نویسی کاربردی msg-Bus یک کتابخانه برای پشتیبانی پردازش داخلی و ارتباط سیستم داخلی است که واسط سوکت را استفاده می کند . کتابخانه پروتکل پیام دیاگرام را استفاده می کند (UDP) که بوسیله IP فراهم می شود. این انتخاب که نسبت به استفاده TCP برتری دارد ساخته شده است . برای اجرای دلایل و بدلیل اینکه واسط اساسی (اترنت سریع کلیدداری در صفحه بندی hupspoke) خودش به تنهایی مجزا است : ارتباط دو طرفه نقطه به نقطه پس گره ها و تصادم یابی با دوباره ارسال کردن بسته ها گم شده . کتابخانه برای کد کردن ساختار دستوری C++ است....