« Home « Kết quả tìm kiếm

Thuc Hanh Lap Trinh Lisp


Tóm tắt Xem thử

- 1 BK TP.HCM Thực hành Ngôn ngữlập trình Nguyễn ThịTrúc ViênKhoa Công Nghệ Thông TinĐại Học Bách Khoa TPHCM BK TP.HCM Slide 2/67 Nguy ễ n Th ị Trúc Viên Ngôn ng ữ l ậ p trình Lisp Nộidung  Các loại Ngôn ngữlập trình  Lập trình hàm với Lisp: GcLisp  Lập trình logic với Prolog: B_Prolog  Lậptrình hướng đối tượng với SmallTalk: Vwin 2 BK TP.HCM Slide 3/67 Nguy ễ n Th ị Trúc Viên Ngôn ng ữ l ậ p trình Lisp Lịch sửphát triển  Nghĩ ra năm 1958 bởi JohnMcCarthy(MIT.
- Hai thếhệ đầu tiên ra đời ngay sau đó: MacLisp và InterLisp  Đầu thập niên 80, có12hệLisp khác nhau  CommonLispchuẩn ra đời năm 1984Franz-LispZeta-Lisp BK TP.HCM Slide 4/67 Nguy ễ n Th ị Trúc Viên Ngôn ng ữ l ậ p trình Lisp Lisp –Các ứng dụng  Expert problem solvers  Common reasoning  Learning  Natural-language interfaces  Education and intelligent support systems  Speech and vision 3 BK TP.HCM Slide 5/67 Nguy ễ n Th ị Trúc Viên Ngôn ng ữ l ậ p trình Lisp Ngôn ngữ hướng chức năng  Từ khi được John McCarthy (MIT) nghĩ ra năm 1958, LISP được tinh chếdần đến version 1.5 và được sửsụng lâu dài vềsau  Ngôn ngữ hướng chức năng (functional language), dùng ký hiệu tiền tố(prefix.
- x BK TP.HCM Slide 6/67 Nguy ễ n Th ị Trúc Viên Ngôn ng ữ l ậ p trình Lisp Giải đáp bài tập  (sin.
- 4 BK TP.HCM Slide 7/67 Nguy ễ n Th ị Trúc Viên Ngôn ng ữ l ậ p trình Lisp Ngôn ngữthông dịch Ngôn ngữthông dịch Biểu thức đánh giá trảlời Kết quả vòng lặp top-level Ngôn ngữbiên dịch câu lệnh (instructions) biên dịch chương trình thực thi thực thi kết quả BK TP.HCM Slide 8/67 Nguy ễ n Th ị Trúc Viên Ngôn ng ữ l ậ p trình Lisp List Processing (1.
- Lisp làngôn ngữ đặc trưng cho việc xửlý danh sách  Biểu diễn chương trình bằng các danh sách vàthao tác trên đó như dữliệu.
- ch ươ ng trình: hàm + áp d ụ ng vào hai đố i s ố d ữ li ệ u: danh sách g ồ m ba thành ph ầ n 5 BK TP.HCM Slide 9/67 Nguy ễ n Th ị Trúc Viên Ngôn ng ữ l ậ p trình Lisp List Processing (2.
- BK TP.HCM Slide 10/67 Nguy ễ n Th ị Trúc Viên Ngôn ng ữ l ậ p trình Lisp List Processing (3.
- Danh sách làsựthực hiện một hàm  Để không đánh giámột danh sách, dùng dấu ‘ đặt trước danh sách.
- danh sách được đánh giá7.
- 3 4) 6 BK TP.HCM Slide 11/67 Nguy ễ n Th ị Trúc Viên Ngôn ng ữ l ậ p trình Lisp Symbol (1.
- Tên hàm  Dữliệu: chuỗi ký tựhay số  Tên biến BK TP.HCM Slide 12/67 Nguy ễ n Th ị Trúc Viên Ngôn ng ữ l ậ p trình Lisp Symbol (2.
- Với vai trò là đối sốtrong hàm, symbol được xem như tên của một biến  Để không đánh giámột symbol, dùng dấu ‘ đặt trước danh sách * exampleUnbound variable: EXAMPLE* (setf example 3)3.
- example 4)7* ’exampleexample 9 BK TP.HCM Slide 17/67 Nguy ễ n Th ị Trúc Viên Ngôn ng ữ l ậ p trình Lisp Các loại biểu thức trong Lisp  Các loại biểu thức (expression.
- Vídụ: a-symbol  Danh sách (list).
- Ký tự: ‘c  Mảng: ‘(1 2 3) BK TP.HCM Slide 18/67 Nguy ễ n Th ị Trúc Viên Ngôn ng ữ l ậ p trình Lisp Phân cấp dữliệu expressionlistatomsymbolrealnillist...number......interger 10 BK TP.HCM Slide 19/67 Nguy ễ n Th ị Trúc Viên Ngôn ng ữ l ậ p trình Lisp Ngôn ngữ động (dynamic type.
- Cùng một biến cóthểcónhiều kiểu dữ liệu khác nhau BK TP.HCM Slide 20/67 Nguy ễ n Th ị Trúc Viên Ngôn ng ữ l ậ p trình Lisp Vídụ * (setf a a(1 2 3)* (setf a 2)2* a2 11 BK TP.HCM Slide 21/67 Nguy ễ n Th ị Trúc Viên Ngôn ng ữ l ậ p trình Lisp Các vịtừkiểu (numberp E) trảvề đúng nếu E làsố (stringp E)chuỗi(listp E) danh sách(null E)nil(atom E)atom BK TP.HCM Slide 22/67 Nguy ễ n Th ị Trúc Viên Ngôn ng ữ l ậ p trình Lisp Các vịtừkiểu * (numberp 4)T* (numberp 3.45)T* (symbolp ‘ListProcessor)T* (listp ‘(a b c))T 18 BK TP.HCM Slide 35/67 Nguy ễ n Th ị Trúc Viên Ngôn ng ữ l ậ p trình Lisp ASSOC (2.
- Lấy các thành phần từmột danh sách.
- (assoc ‘weight sarah)(WEIGHT 4.4) BK TP.HCM Slide 36/67 Nguy ễ n Th ị Trúc Viên Ngôn ng ữ l ậ p trình Lisp ASSOC (3.
- Thêm một thành phần mới vào danh sách.
- BOBBY) (HEIGHT 0.74) (WEIGHT 6.4)) 19 BK TP.HCM Slide 37/67 Nguy ễ n Th ị Trúc Viên Ngôn ng ữ l ậ p trình Lisp Định nghĩa hàm * (defun square (x.
- ABS BK TP.HCM Slide 38/67 Nguy ễ n Th ị Trúc Viên Ngôn ng ữ l ậ p trình Lisp  Vídụ: Tính giai thừa.
- Bài tập: Viết hàm in ra phần tửthứn trong danh sách.
- 20 BK TP.HCM Slide 39/67 Nguy ễ n Th ị Trúc Viên Ngôn ng ữ l ậ p trình Lisp  ‘Exp làcách viết tắt của ( quote Exp.
- setf c ‘a)a BK TP.HCM Slide 40/67 Nguy ễ n Th ị Trúc Viên Ngôn ng ữ l ậ p trình Lisp Các câu lệnh điều kiện (1.
- (if (numberp 1) ‘(a number) ‘(not a number))(A NUMBER)* (if (numberp ‘a) ‘(a number) ‘(not a number))(NOT A NUMBER) 32 BK TP.HCM Slide 63/67 Nguy ễ n Th ị Trúc Viên Ngôn ng ữ l ậ p trình Lisp Một sốphím tắt  -Hgiúp đỡ  -EvàoLISP Explorer  -E vào cửa sổsoạn thảo GMACS  rời khỏi GMACS vàtrởvềLisp  loadmộtfile vàoGMACS  lưumộtfile  lưufilevới tên khác BK TP.HCM Slide 64/67 Nguy ễ n Th ị Trúc Viên Ngôn ng ữ l ậ p trình Lisp Dòng lệnh  Gõ thửcác lệnh sau: 33 BK TP.HCM Slide 65/67 Nguy ễ n Th ị Trúc Viên Ngôn ng ữ l ậ p trình Lisp GMAC editor window  Nhấn-E đểvào trình soạn thảo  để lưu fileand trởlạiGcLisp BK TP.HCM Slide 66/67 Nguy ễ n Th ị Trúc Viên Ngôn ng ữ l ậ p trình Lisp Load file vào GcLisp * (load ‘first.
- Load file “first.lsp” 34 BK TP.HCM Slide 67/67 Nguy ễ n Th ị Trúc Viên Ngôn ng ữ l ậ p trình Lisp DEBUG

Xem thử không khả dụng, vui lòng xem tại trang nguồn
hoặc xem Tóm tắt