لطفا به نکات زیر در هنگام خرید دانلود پاورپوینت LISP توجه فرمایید.

1-در این مطلب، متن اسلاید های اولیه دانلود پاورپوینت LISP قرار داده شده است 2-به علت اینکه امکان درج تصاویر استفاده شده در پاورپوینت وجود ندارد،در صورتی که مایل به دریافت  تصاویری از ان قبل از خرید هستید، می توانید با پشتیبانی تماس حاصل فرمایید 3-پس از پرداخت هزینه ، حداکثر طی 12 ساعت پاورپوینت خرید شده ، به ادرس ایمیل شما ارسال خواهد شد 4-در صورت  مشاهده  بهم ریختگی احتمالی در متون زیر ،دلیل ان کپی کردن این مطالب از داخل اسلاید ها میباشد ودر فایل اصلی این پاورپوینت،به هیچ وجه بهم ریختگی وجود ندارد 5-در صورتی که اسلاید ها داری جدول و یا عکس باشند در متون زیر قرار نخواهند گرفت

اسلاید ۱ :

Lisp,1960

¨نگاهی به تاریخچه ی Lisp:

¡ایده کلی:

úبرخی از ایده های قدیمی ، قدیمی به نظر می رسند.

úبرخی از ایده های قدیمی ، جدید به نظر می رسند.

¡مثالی از یک زبان خوش ساخت و کار راه انداز

¡متفاوت از C ، C++ و JAVA : شانسی برای متفاوت فکر کردن

¡موضوعات کلی در رابطه با طراحی زبان را شرح می دهد.

اسلاید ۲ :

John McCarthy

¨

¨

¨پیشگام در AI

¡فرموله کردن استدلال ها

¨همچنین

¡پیشنهاد اشتراک زمانی

¡تئوری های ریاضی

¨Lisp

از علاقه به محاسبات سمبلیک سرچشمه گرفت

(ریاضی ، منطق)

اسلاید ۳ :

خلاصه ای از Lisp

¨دارای لهجه های متفاوتی است:

¡Lisp 1.5, Maclisp, …, Scheme, …

¡CommonLisp دارای ویژگیهای اضافی است

¡در این درس مختصری از Lisp 1.5 توضیح داده خواهد شد.

¨دارای نحو ساده ای است

(+ ۱ ۲ ۳) 

(+ (* ۲ ۳) (* ۴ ۵)) 

(f x y)

اسلاید ۴ :

Atom ها و Pair ها

¨Atom ها شامل اعداد و رشته های غیر قابل تقسیم است.

<atom> ::=  <smbl>  |  <number>

 <smbl> ::=  <char>   |  <smbl><char> |<smbl><digit>

 <num>  ::=  <digit>  |  <num><digit>

¨جفتهای دارای نقطه (dotted pairs)

¡برای pair از (A . B) استفاده می شود.

¡به عبارتهای سمبلیک، S-expressions می گویند:

 <sexp>   ::=    <atom> |  (<sexp> . <sexp>)

اسلاید ۵ :

توابع پایه

¨توابعی که روی اتمها و pair ها عمل می کنند:

cons     car     cdr     eq     atom

¨اعلانها و کنترل:

cond     lambda     define     eval     quote یا ‘

¨مثال:

(lambda  (x) (cond ((atom x) x)  (T (cons ‘A x))))

function f(x) = if atom(x) then x else cons(“A”,x)

¨توابعی با اثرات جانبی (Side Effect)

rplaca     rplacd

اسلاید ۶ :

ارزیابی عبارت ها

¨لیسپ از حلقه Read-eval-print استفاده می کند

¨فراخوانی تابع  (function arg1  …   argn)

¡هر یک از آرگومانها ارزیابی می شوند

¡لیستی از مقادیر آرگومانها به تابع داده می شود

¨در بعضی از فراخوانی ها تمام آرگومانها ارزیابی نمی شوند

¡مثال (cond (p1  e1)  …   (pn  en) )

úاز چپ به راست پیش می رود

úاولین pi  با مقدار درست یافته می شود، ei مربوط به آن ارزیابی می شود

úمثال: در (quote  A)  ، A ارزیابی نمی شود

اسلاید ۷ :

مثالها

(+ ۴ ۵)                 

expression with value 9 

(+ (+ ۱ ۲) (+ ۴ ۵))  

evaluate 1+2, then 4+5, then 3+9 to get value  

(cons (quote A) (quote B))

pair of atoms A and B

(quote (+ 1 2)) 

evaluates to list  (+ ۱ ۲) 

‘(+ ۱ ۲) 

same as (quote (+ 1 2))

¨

اسلاید ۸ :

مقاله ی McCarthy در سال ۱۹۶۰

¨مقاله ای قابل توجه بخاطر:

¡ایده های خوب برای زبانها

¡شرح وضعیت برنامه نویسی در ۱۹۶۰

¡بینش خوبی در پروسه ی طراحی زبان ارائه می داد.

¨مفاهیم مهم:

¡علاقه به محاسبات سمبلیک طراحی را تحت تأثیر قرار داده بود.

¡از مدل ماشین ساده ای استفاده شده بود

¡به مسایل تئوری توجه شده بود

تئوری تابع بازگشتی ، محاسبات لامبدا

¡ایده های خوب: برنامه ها به عنوان داده، زباله روبی

¡

اسلاید ۹ :

طراحی یک زبان خوب

¨کاربرد انگیزه دهنده

¨ماشین انتزاعی (Abstract machine)

¨بنیاد تئوری

اسلاید ۱۰ :

کاربرد انگیزه دهنده

¨کاربردهای انگیزه دهنده قسمتی از طراحی زبان خوب است و در طراحی زبان به صورتهای زیر تأثیر می گذارد:

¡تمرکز روی مهمترین اهداف

¡حذف ایده های جذاب ولی غیر ضروری

Lisp  محاسبات سمبلیک ، منطقی ، برنامه نویسی اکتشافی

C  سیستم عامل یونیکس

Simula   شبیه سازی

PL/1   سعی در حل تمام مسائل برنامه نویسی ؛ موفق نبود