ژیکو

مرجع دانلود فایل ,تحقیق , پروژه , پایان نامه , فایل فلش گوشی

ژیکو

مرجع دانلود فایل ,تحقیق , پروژه , پایان نامه , فایل فلش گوشی

جزوه طراحی و پیاده سازی

اختصاصی از ژیکو جزوه طراحی و پیاده سازی دانلود با لینک مستقیم و پر سرعت .

جزوه طراحی و پیاده سازی


جزوه طراحی و پیاده سازی

لینک پرداخت و دانلود *پایین مطلب*

 

فرمت فایل: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 ?

  1. هر چه قابلیت ابزار را بشناسیم ابزار شناسی بهتر می شود .
  2. الگو ریتم های بهینه تر می شود .
  3. قدرت انتخاب زبانها بالا تر می رود .
  4. یادگیری زبانهای جدید آسان تر می شود .
  5. برای طراحی زبان جدید می توان از قابلیتهای زبانهایی که شناختیم استفاده کنیم و نقاط ضعف را رفع کنیم . (مانند java )

 

Attributes of a good language :

  1. ساختار زبان ساده و روشن و واضح (کد نویسی راحت باشد)
  2. سنخیت با آن طبیعت مسئله.
  3. orthognaliy (تعامل) قابلیت ترکیب دستور العمل ها و استفاده ازساختاریدر ساختارهای دیگر .

مثال :                          

A=b>3;                                          if (a=b)

   

 

 

استفاده یکassignment در ساختار if

     :Support for abstraction     .4

  data مجرد که ساخته میشود مهم نیست در کجا کار میکند و از محیط خارج مستقل است و محیط خارج هیچ دخل و تصرفی در بر نامه ندارد . به data type  یک زبان هر چه لازم است می توان اضافه کرد .

مثال : link list یک تایپ data type مجرد است .

  1. Ease of program verificatin  ( تشخیص صحت برنامه ) :
  2. programming enviroment : ( محیط مجتمع توسعه IDE که محیط های user friendly        هستند )
  3. portability of programs : ( قابلیت حمل )

از یک دستگاه به دستگاه دیگر کار کند مانند زبان java . 

  1. 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  ها دو بخش است :

  1. action
  2. validtion

  

 

 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

 را نمایش میدهد.

 


دانلود با لینک مستقیم


جزوه طراحی و پیاده سازی