Chuyển đến nội dung
Diễn đàn CADViet

nhoclangbat

Thành viên
  • Số lượng nội dung

    1.306
  • Đã tham gia

  • Lần ghé thăm cuối

  • Ngày trúng

    35

Bài đăng được đăng bởi nhoclangbat


  1. với hàm tự tạo ta có thể định nghĩa cho hàm đó làm công việc như mình mún , các biểu thức có thể xem là 1 công cụ mà đã đc lsp định nghĩa sẵn và cho ra kết quả là 1 số nào đó, nếu chỉ lập 1 biểu thức đơn giản thì khi dùng lsp trên cad mình vẫn phải thực hiện 1 cách dài dòng, nếu ta tạo 1 hàm kèm theo biểu thức đã cho thì công việc sẽ ngắn gọn và cho ra kết quả nhanh hơn, em mò đc vậy đúng không anh ^^

    • Vote tăng 1

  2. -Em làm theo thứ tự anh cho thi khi thực hiện c:vd với 2 và 3 vì cùng lệnh, giá trị các biến x y z bị loại chi còn e và ket qua, em hỉu là khi load 2 truoc 3 sau, bien e ở 2 đã bị loại trước, bien e ở 3 chưa bị loại nên bien e xuat hiện, cai thứ 3 đè lên thứ 2, em đã thử ngược lại cái thứ 2 đè lên 3 nên e co giá trị, sau cung load cai thu 1 thì bien e va ket qua dều có, đng ko anh


  3. anh ketxu có xem bài em sữa chưa anh. em cũng tính vậy sữa ngay trong bài cũ nhưng ko pit tại mạng hay máy em cái thanh để sữa lúc hiện lúc không, lúc có thì sữa xong báo lỗi, thế là phải gửi bài mới thì mới chạy ^^

     

     

    => Vậy mai mình sẽ gộp các bài lại, tránh để topic dài ra quá, các bạn sau khó theo dõi :)


  4. đúng là mún chắc thì phải vững cơ bản thật, nằm ở chương 2 này lâu ghê, anh cho em nộp lại 2 bài hen , em đã sữa chỉ ko pit có đúng không hihi

    baitap2-1

    ; baitap2-1
    (defun c:bt2-1 (/ x y z e)
    (setq x (+ 2 7))
    (setq y (- 3 1.25))
    (setq z (* x y))
    (setq e (+ (* (- x y) 0.4) z))
    (setq ketqua (+ x y z e))
    )
    
    ;baitap 2-2
    ;tinh dien tich tam giac
    (defun c:bt2-2 (/ ketqua)
    (setq a 1000)
    (setq b 2000)
    (setq c (* a b 0.5))
    )
    (defun tbcongbaso ( a b c)
    (/ (+ a b c) 3.0)
    )
    (defun zientich ( a B)
    (* a b 0.5)
    )
    ;tich cua 4 so
    (defun tich ( a b c d)
    (* a b c d)
    )
    ;tinh lap phuong 1 so
    (defun lapphuong ( a)
    (expt a 3)
    )
    

     

    baitap 2-2

    ;; free lisp from cadviet.com
    ;;; this lisp was downloaded from http://www.cadviet.com/forum/index.php?showtopic=66923&st=0
    ;baitap2-2
    ;tinh dien tich hinh vanh khan
    ;ban kinh lon : x
    ;ban kinh nho : y
    (defun vkhan ( x y)
    (* (- (* x x) (* y y)) 3.14)
    )
    ;tinh dien tich tam giac pit 3 canh
    (defun bacanh ( x y z)
    (setq p (* (+ x y z) 0.5))
    (sqrt (* (- p x) (- p y) (- p z) p))
    )
    ;tinh dien tich mat cat thep tron
    ;biet duong kinh thep tron
    (defun theptron ( x)
    (* (/ (* x x) 4) 3.14)
    )
    ;tinh khoi luong thep tron
    (defun kltron ( x)
    (* (/ (* x x) 4) 3.14 11.7 7850)
    )
    ;tinh khoi luong thep hop vuong
    ;canh ngoai: x
    ;day : y
    (defun klvuong ( x y)
    (* (- (* 4 y x) (* 4 y y)) 11.7 7850)
    )
    ;tinh khoi luong thep hop vuong
    ;canh ngoai: x
    ;canh ngoai : y
    (defun klvuong2 ( x y)
    (* (- (* x x 11.7) (* y y 11.7)) 7850)
    )
    
    
    

    • Vote tăng 1

  5. anh ketxu nói em hỉu sơ sơ nhưng vẫn chưa thấm lắm hihi chắc phải nghiên cứu dụ đóng mở ngoặc, em cũng đã thử hàm nào thì dứt điểm hàm đó bằng ")", nếu được anh ketxu cho em 1 lsp mà các biểu thức phải liên kết có trật tự để thực hiện đúng mục đích của lsp để em tham khảo nắm đc vấn đề, như bài tập anh cho thì mỗi hàm đều độc lập mình mún xài thằng nào trước cũng đc phải không anh.

    PS: dạo này do chủ trương nhà nước làm phải đi đo cấp giấy liên tục 1 ngày 9 10 cái wải wá ^^


  6. em mới phơi nắng về

    post lại lisp bt2-1.lsp anh xem con sai gi khong

    ; baitap2-1
    (defun c:bt2-1 (/ x y z e)
    (setq x (+ 2 7))
    (setq y (- 3 1.25))
    (setq z 5.0)
    (setq e (+ (* (- x y) 0.4) z))
    (setq kequa (+ x y z e))
    )
    
    ;baitap 2-2
    ;tinh dien tich tam giac
    (defun c:bt2-2 (/ a b c)
    (setq a 1000)
    (setq b 2000)
    (setq c (* (* a B) 0.5))
    )
    (defun tbcongbaso ( a b c)
    (/ (+ a b c) 3.0)
    )
    (defun zientich ( a B)
    (* (* a B) 0.5)
    )
    ;tich cua 4 so
    (defun tich ( a b c d)
    (* a b c d)
    )
    ;tinh lap phuong 1 so
    (defun lapphuong ( a)
    (* a a a)
    )
    

     

    - Phần gán biến z bài 1 sai. Mình đưa 2 lần gán cùng 1 biến để nhoclangbat suy luận ra là lần đầu sẽ không có ý nghĩa gì, đáng lý bỏ nó đi thì ở đây lại bỏ thằng sau đi

    - Bài 2 : chưa khử biến ketqua. Phép nhân 3 số vẫn làm rườm rà (tương tự với hàm zientich)


  7. bài 2-1 anh ketxu cho em hỏi nếu như mình đóng dấu sai vị trí thì có ảnh hưởng như thế nào không anh, để em pit sau này tránh mắc phải

    em làm lại rùi anh xem thử ^^

    ;; free lisp from cadviet.com
    ;;; this lisp was downloaded from http://www.cadviet.com/forum/index.php?showtopic=66923&pid=214813&st=0entry214813
    ; baitap2-1
    (defun c:bt2-1 (/ x y z e)
    (setq x (+ 2 7))
    (setq y (- 3 1.25))
    (setq z 5.0)
    (setq e (+ (* (- x y) 0.4) z))
    (setq kequa (+ x y z e))
    )
    ;baitap 2-2
    ;tinh dien tich tam giac
    (defun c:bt2-2 (/ a b c)
    (setq a 1000)
    (setq b 2000)
    (setq c (* (* a B) 0.5)
    ))
    (defun tbcongbaso ( a b c)
    (/ (+ a b c) 3.0)
    )
    (defun zientich ( a B)
    (* (* a B) 0.5)
    )
    ;tich cua 4 so
    (defun tich ( a b c d)
    (* a b c d)
    )
    ;tinh lap phuong 1 so
    (defun lapphuong ( a)
    (* a a a)
    )
    


  8. bài 2-1 anh ketxu cho em hỏi nếu như mình đóng dấu sai vị trí thì có ảnh hưởng như thế nào không anh, để em pit sau này tránh mắc phải

    em làm lại rùi anh xem thử ^^

    ;; free lisp from cadviet.com
    ;;; this lisp was downloaded from http://www.cadviet.com/forum/index.php?showtopic=66923&pid=214813&st=0entry214813
    ; baitap2-1
    (defun c:bt2-1 (/ x y z e)
    (setq x (+ 2 7))
    (setq y (- 3 1.25))
    (setq z 5.0)
    (setq e (+ (* (- x y) 0.4) z))
    (setq kequa (+ x y z e))
    )
    ;baitap 2-2
    ;tinh dien tich tam giac
    (defun c:bt2-2 (/ a b c)
    (setq a 1000)
    (setq b 2000)
    (setq c (* (* a B) 0.5)
    ))
    (defun tbcongbaso ( a b c)
    (/ (+ a b c) 3.0)
    )
    (defun zientich ( a B)
    (* (* a B) 0.5)
    )
    ;tich cua 4 so
    (defun tich ( a b c d)
    (* a b c d)
    )
    ;tinh lap phuong 1 so
    (defun lapphuong ( a)
    (* a a a)
    )
    


  9. Anh ketxu thể tích diện tích các hình em còn nhớ sơ sơ tại lâu wá rùi ko đụng, còn vụ công thức tính khối lượng thật em mù tịt lun, sau 1 hồi google em đánh liều làm đại, có gì anh sữa dùm em hen

    Command: ap

    APPLOAD bt2-2.lsp successfully loaded.

     

     

    Command:

    Command:

    Command: bt2-2

    VKHAN

     

    Command:

    Command: (vkhan 5 2)

    65.94

     

    Command: (bacanh 13 14 15)

    84.0

     

    Command: (kltron 0.08)

    461.429

     

    Command: (klvuong 0.04 0.01)

    110.214

     

    Command: (klvuong2 0.04 0.03)

    64.2915

    ;baitap2-2
    (defun c:bt2-2 (/ x y z)
    ;tinh dien tich hinh vanh khan
    ;ban kinh lon : x
    ;ban kinh nho : y
    (defun vkhan ( x y)
    (* (- (* x x) (* y y)) 3.14)
    )
    )
    ;tinh dien tich tam giac pit 3 canh
    (defun bacanh ( x y z)
    (sqrt (* (* (+ x y z) 0.5) (- (* (+ x y z) 0.5) x) (- (* (+ x y z) 0.5) y) (- (* (+ x y z) 0.5) z)))
    )
    ;tinh dien tich mat cat thep tron
    ;biet duong kinh thep tron
    (defun theptron ( x)
    (* (/ (* x x) 4) 3.14)
    )
    ;tinh khoi luong thep tron
    (defun kltron ( x)
    (* (* (/ (* x x) 4) 3.14 11.7) 7850)
    )
    ;tinh khoi luong thep hop vuong
    ;canh ngoai: x
    ;day : y
    (defun klvuong ( x y)
    (* (- (* 4 y x) (* 4 y y)) 11.7 7850)
    )
    ;tinh khoi luong thep hop vuong
    ;canh ngoai: x
    ;canh ngoai : y
    (defun klvuong2 ( x y)
    (* (- (* x x 11.7) (* y y 11.7)) 7850)
    )
    
    

     

    - Sai dấu ngoặc chỗ thủ tục bt2-2. CHú ý ở đây các hàm - thủ tục độc lập nhau. Mình yêu cầu làm hàm thì lại viết thủ tục c:

    - Hàm tính diện tích tam giác viết quá dài. nhoclangbat thử nghiên cứu cách làm nó ngắn lại xem ??

    - Tiếp tục mắc lỗi phép nhân nhiều số


  10. em sữa rùi nè

    ; baitap2-1
    (defun c:bt2-1 (/ x y z e)
    (setq x (+ 2 7))
    (setq y (- 3 1.25))
    (setq z 5.0)
    (setq e (+ (* (- x y) 0.4) z))
    (setq kequa (+ x y z e)
    ))
    
    ;baitap 2-2
    ;tinh dien tich tam giac
    (defun c:bt2-2 (/ a b c)
    (setq a 1000)
    (setq b 2000)
    (setq c (* (* a B) 0.5)
    )
    (defun tbcongbaso ( a b c)
    (/ (+ a b c) 3.0)
    )
    (defun zientich ( a B)
    (* (* a B) 0.5)
    )
    ;tich cua 4 so
    (defun tich ( a b c d)
    (* a b c d)
    )
    ;tinh lap phuong 1 so
    (defun lapphuong ( a)
    (* a a a)
    )
    )
    

     

    ko thừa đâu anh, lúc đầu em cũng chỉ đóng 1 ) nó báo lỗi miết, mò 1 hơi mới pit thiếu 1 ) nữa mới đc


  11. anh ketxu xem giup em lai lan nua với, đúng là học này khó thật

    Command: ap

    APPLOAD bt2-1_bt2-2_vvv_vd_go_lp - Copy - Copy.lsp successfully loaded.

    Command:

    Command:

    Command: bt2-1

    23.65

    Command:

    Command: bt2-2

    LAPPHUONG

    Command:

    Command: (tbcongbaso 1.1 2.2 3.3)

    2.2

    Command: (zientich 1000 2000)

    1.0e+006

    Command: (tich 2 3 5 6)

    180

    Command: (lapphuong 3)

    27

     

    còn đây là lsp

    ; baitap2-1
    (defun c:bt2-1 (/ x y z e)
    (setq x (+ 2 7))
    (setq y (- 3 1.25))
    (setq z 5.0)
    (setq e (+ (* (- x y) 0.4) z))
    (tong x y z e)
    )
    (defun tong ( x y z e)
    (+ x y z e)
    )
    ;baitap 2-2
    ;tinh dien tich tam giac
    (defun c:bt2-2 (/ a b c)
    (setq a 1000)
    (setq b 2000)
    (setq c (* (* a B) 0.5)
    )
    (defun tbcongbaso ( a b c)
    (/ (+ a b c) 3.0)
    )
    (defun zientich ( a B)
    (* (* a B) 0.5)
    )
    ;tich cua 4 so
    (defun tich ( a b c d)
    (* a b c d)
    )
    ;tinh lap phuong 1 so
    (defun lapphuong ( a)
    (* a a a)
    )
    )
    


  12. ax vậy tức là chỗ nào làm hàm là em lam trực tiếp trên cad hả anh rùi kiểm tra lun hả anh, còn thủ tục thì làm thủ tục

    VD:

    1.

    a. Lập thủ tục BT2-1 thực hiện công việc tiếp sau đây :

    b. Gán biến x = 2+7, y = 3-1.25, z = 5.0

    c. Gán biến z = x * y

    d. Gán biến e bằng z + 0.4*( x – y)

    e. Gán biến ketqua bằng x + y + z + e

    f. Loại bỏ các biến x, y, z, e khỏi bộ nhớ sau khi kết thúc thủ tục BT2-1, giữ lại biến

    ketqua

    2. Tạo thủ tục BT2-2 thực hiện việc sau :

    a. Loại biến ketqua ở BT2-1

    b. Gán biến a bằng cạnh đáy tam giác, biến b bằng chiều cao tam giác. Gán biến c bằng

    diện tích tam giác này, thông qua a và b :

    vậy 2 bài này em làm thủ tục tạo thành 1 file lsp

    còn:

    4. Tạo hàm tính trung bình cộng 3 số.

    5. Tạo hàm tính diện tích tam giác với 2 tham số đầu vào là chiều dài cạnh đáy (a) và chiều

    cao (B). Sau đó kiểm nghiệm với kết quả bài 2

    6. Tạo hàm tính tích 4 số

    7. Tạo hàm tính lập phương 1 số

    Là em lập trực tiếp trên cad rùi kiểm tra hả anh

    8. Load file BT2-1.LSP, sau đó :

    a. Kiểm tra hàm trung bình cộng 3 số với tổng 1.1 + 2.2 + 3.3. Lấy ví dụ mẫu hàm

    trungbinhcong 2 số phần lý thuyết.

    b. Kiểm tra hàm tính diện tích với kết quả bài 2

    c. Kiểm tra hàm tích 4 số bất kỳ

    d. Kiểm tra hàm lập phương

    Còn bài 8 là sao anh khi lisp bt2-1.lsp ở trên chì tạo 2 thủ tục thui

    Thật em không hỉu rõ yêu cầu lắm hihi, đừng ký đầu em hen ^^


  13. sau khi đọc lại đề 1 lần nữa em lại nghĩ ra là hình như ý anh là ghép chung tất cả các hàm trong 1 file lsp phải khong anh

    ; baitap2-1
    (defun c:bt2-1 (/ x y z e)
    (setq x (+ 2 7))
    (setq y (- 3 1.25))
    (setq z 5.0)
    (setq e (+ (* (- x y) 0.4) z))
    (tong x y z e)
    )
    (defun tong ( x y z e)
    (+ x y z e)
    )
    
    ;tinh dien tich tam giac
    (defun c:bt2-2 (/ a B)
    (setq a 1000)
    (setq b 2000)
    (dientich a B)
    )
    (defun dientich ( a B)
    (* (* a B) 0.5)
    )
    ;trung binh cong 3 so
    (defun c:vvv (/ a b c)
    (setq a (getreal "\nNhap so a:"))
    (setq b (getreal "\nNhap so b:"))
    (setq c (getreal "\nNhap so c:"))
    (trungbinhcong a b c)
    )
    ;ham trung binh cong 3 so
    ;doi so:
    ; x: integer hoac real
    ; y: integer hoac real
    ; z: integer hoac real
    ;Tra ve: gia tri trung binh cong 3 so nay
    (defun trungbinhcong (x y z)
    (/ (+ x y z) 3.0)
    )
    
    ;tinh dien tich bat ky
    (defun c:vd (/ a B)
    (setq a (getint "\nNhap so a:"))
    (setq b (getint "\nNhap so b:"))
    (ketqua a B)
    )
    (defun ketqua (x y)
    (* (* x y) 0.5)
    )
    ;tich cua 4 so
    (defun c:go (/ a b c d)
    (setq a (getint "\nNhap so a:"))
    (setq b (getint "\nNhap so b:"))
    (setq c (getint "\nNhap so c:"))
    (setq d (getint "\nNhap so d:"))
    (tich a b c d)
    )
    (defun tich (x y z e)
    (* x y z e)
    )
    ; tinh lap phuong 1 so
    (defun c:lp (/ a)
    (setq a (getint "\nNhap so a:"))
    (lapphuong a)
    )
    ;ham lap phuong 1 so
    ;doi so:
    ; x: integer hoac real
    (defun lapphuong (x)
    (* x x x)
    )
    

    • Vote tăng 1
×