img
Các hàm tạo cấu trúc điều khiển
a. Hàm (if...)

CHỨC NĂNG: Ra điều liện thực hiện một số lệnh

CÚ PHÁP:

(if testexpr thenexpr [elseexpr])

GIẢI THÍCH:

testexpr: Là biểu thức kiểm tra điều kiện

thenexpr: Biểu thức lệnh được thực hiện nếu biểu thức testexpr nhận giá trị T

elseexpr: Biểu thức lệnh được thực hiện nếu biểu thức testexpr nhận giá Nil. Nếu không có biểu thức này, hàm không thực hiện và trả về giá trị nil

 


b. Hàm (while ...)

CHỨC NĂNG: Thực hiện các biểu thức, lệnh trong hàm một số lần lặp có điều kiện

CÚ PHÁP:

(while testexpr expr)

GIẢI THÍCH:

testexpr: Là biểu thức kiểm tra, khi nào testexpr nhận giá trị nil, vòng lặp chương trình ngừng thực hiện

expr: Biểu thức, lệnh cần thực hiện

VÍ DỤ:

(defun C:vdt()

(setq n 1)

(setq pt1 (list 0 0))

            (while  (<= n 10)

                        (setq pt2 (list n (+ n 0.5)))

                        (setq n (1+ n))

                        (command "LINE" pt1 pt2 "")

            )

            (command "ZOOM" "e")

  )

 


c. Hàm (repeat ...)

CHỨC NĂNG: Thực hiện các biểu thức, lệnh trong hàm một số lần lặp nhất định

CÚ PHÁP:

(repeat int [expr]...)

GIẢI THÍCH:

int: Là số nguyên chỉ lần lặp

expr: Biểu thức, lệnh cần thực hiện

VÍ DỤ:

(defun C:vdt()

(setq n 1)

(setq pt1 (list 0 0))

            (repeat 10

                        (setq pt2 (list n (+ n 0.5)))

                        (setq n (1+ n))

                        (command "LINE" pt1 pt2 "")

            )

            (command "ZOOM" "e")

  ) 


d. Hàm (progn ...)

CHỨC NĂNG: Tập hợp các biểu thức thành một biểu thức và bắt các biểu thức này thực hiện theo một điều khiển chung

CÚ PHÁP:

(progn [expr]...)

GIẢI THÍCH:

expr: Biểu thức, lệnh cần thực hiện