Đến nội dung


Hình ảnh
* * * * - 7 Bình chọn

[Hỏi]Đố vui với LISP


  • Please log in to reply
391 replies to this topic

#201 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5678 Bài viết
Điểm đánh giá: 2605 (tuyệt vời)

Đã gửi 08 November 2011 - 09:07 AM

Nếu lập hàm thì phải có điều kiện có sử dụng cal hay acet không ạ ?
Với lại hình như số này không đổi và không phụ thuộc vào vị trí point trong tam giác, đúng k ạ ^^
  • 0

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#202 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5447 Bài viết
Điểm đánh giá: 2624 (tuyệt vời)

Đã gửi 08 November 2011 - 09:14 AM

Nếu lập hàm thì phải có điều kiện có sử dụng cal hay acet không ạ ?
Với lại hình như số này không đổi và không phụ thuộc vào vị trí point trong tam giác, đúng k ạ ^^


Ket ơi, câu đố đã đầy đủ, giám thị không được giải thích gì thêm!
  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#203 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5678 Bài viết
Điểm đánh giá: 2605 (tuyệt vời)

Đã gửi 08 November 2011 - 09:31 AM

Không cal, thêm khoản không kiểm tra điều kiện nó có là tam giác đều hay không, point nằm trong hay không nữa, thì hình như kết quả là : (do e học dốt hình nên k biết tính đúng không ^^)

(defun tkc (p1 p2 p3 pt)
(* (distance p1 p2) (expt 3 0.5) 0.5)
)

  • 1

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#204 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5447 Bài viết
Điểm đánh giá: 2624 (tuyệt vời)

Đã gửi 08 November 2011 - 09:36 AM

Coi như trùng đáp án
P/S: Ket "dốt" hình học nhưng thông minh mò mẫm đấy!

(defun HA1(p1 p2 p3 pt)
(* (distance p1 p2) (sqrt 3) 0.5))

  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#205 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 08 November 2011 - 10:22 AM

Nếu lập hàm thì phải có điều kiện có sử dụng cal hay acet không ạ ?
Với lại hình như số này không đổi và không phụ thuộc vào vị trí point trong tam giác, đúng k ạ ^^

Reply :

Với một điểm P bất kỳ nằm bên trong tam giác, khoảng cách từ nó đến các cạnh tam giác là a, b, c thì a+b+c = chiều cao của tam giác đêu, không phụ thuộc vào vị trí P


  • 0

#206 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5447 Bài viết
Điểm đánh giá: 2624 (tuyệt vời)

Đã gửi 19 December 2011 - 09:29 PM

Quá lâu mục này không ai ngó ngàng tới, nay khơi dậy bằng một câu cho vui:
Trên bản vẽ đã vẽ sẵn 1 Ellipse. Làm thế nào để vẽ 1 Spline trùng với Ellipse đó?
  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#207 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5678 Bài viết
Điểm đánh giá: 2605 (tuyệt vời)

Đã gửi 19 December 2011 - 09:56 PM

Quá lâu mục này không ai ngó ngàng tới, nay khơi dậy bằng một câu cho vui:
Trên bản vẽ đã vẽ sẵn 1 Ellipse. Làm thế nào để vẽ 1 Spline trùng với Ellipse đó?

Khi Offset 1 Ellipse thì CAD sẽ tạo ra 1 Spline
=> ví dụ code biến Ellipse thành Spline :

(defun c:test ()(vla-offset (setq sEl (car (vlax-invoke (setq el (vlax-ename->vla-object (ssname (ssget ":S" (list (cons 0 "Ellipse"))) 0))) 'offset -1e-8))) 1e-8)
(vla-delete sEl)(vla-delete el))

  • 3

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#208 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 09 January 2012 - 09:40 AM

Tue_NV có thêm một câu nữa :

Xây dựng hàm con có chức năng Tách List

Tách 1 List mẹ thành các List con, trong đó count là số lượng phần tử của các List con (tách từ List mẹ).
Số lượng phần tử trong các List con phải bằng nhau.
Nếu Số lượng phần tử trong các List con không bằng nhau thì trả về nil
Các bac xem thêm ví dụ ở dưới nhé

(defun Tue-list-tach (lst count / ...)
;;;;
;;;

;;;;;Ex: (Tue-list-tach '(1 5 4 6 3 5) 2)--> ((1 5) (4 6) (3 5))
;;;;;;;;;(Tue-list-tach '(1 5 4 6 3 5) 1)--> ((1) (5) (4) (6) (3) (5))
;;;;;;;;;(Tue-list-tach '(1 5 4 6 3 5) 3)--> ((1 5 4) (6 3 5))
;;;;;;;;;(Tue-list-tach '(1 5 4 6 3 5) 6)--> ((1 5 4 6 3 5))
;;;;;;;;;(Tue-list-tach '(1 5 4 6 3 5) 5)--> nil
  • 0

#209 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5678 Bài viết
Điểm đánh giá: 2605 (tuyệt vời)

Đã gửi 09 January 2012 - 11:03 AM

Trên mạng có nhìu, cứ lấy 1 cái về kiếm tks đã nào :lol:

(defun ST:List-Split ( l n / a b )
(and (zerop (rem (length l) n))
(while l
(repeat n
(setq a (cons (car l) a) l (cdr l))
)
(setq b (cons (reverse a) B) a nil)
)
)
(reverse B)
)


(defun ST:List-Split1 ( l n / a b )
(and (zerop (rem (length l) n))
(While l
(setq b(cons (car (setq a (acet-list-split l (nth n l)))) B) l (cadr a))
))
(reverse B)
)

  • 1

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#210 lp_hai

lp_hai

    biết lệnh measure

  • Members
  • PipPipPipPipPipPip
  • 456 Bài viết
Điểm đánh giá: 202 (khá)

Đã gửi 09 January 2012 - 11:16 AM

Nếu ko có yêu cầu ngắn gọn xúc tích thì em thử múa xem thế nào! :)
 
(defun tachlist(lst count / lst lst1 lstkq id count)
(if (=(*(fix (/(length lst)count))count) (length lst))
(progn
(setq id (length lst))
(repeat (fix (/(length lst)count))
(setq lst1 nil)
(repeat count
(setq lst1(vl-list* (nth (setq id (1- id))lst) lst1))
)
(setq lstkq (vl-list* lst1 lstkq))
)
)
)
)

  • 2
Hình đã gửi

#211 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 09 January 2012 - 11:32 AM

Hic, không biết có câu đố nào khó nữa không đây, CADVIET toàn cao thủ không á! :)
Có ai có câu nào khó khó tí, đố cho anh em Lisper thể hiện tí :)
Đây là 1 trong những đáp án đó
Thanks All


(defun Tue-list-tach (lst count / i j Lst-tinh Reslis)
(setq i 0 j 0)
(while (and (< i (/ (length lst) count)) (= (rem (length lst) count) 0))
(Repeat count
(setq Lst-tinh (append Lst-tinh (list (nth j lst)) ))
(setq j (1+ j))
)
(setq Reslis (append Reslis (list Lst-tinh)) Lst-tinh nil)
(setq i (1+ i))
)
Reslis
)

  • 1

#212 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 16 February 2012 - 09:03 PM

Tue_NV Có 1 câu đố vui nữa đây:
Cho tứ giác ABCD. Xây dựng 1 hàm kiểm tra tứ giác ABCD có phải là Hình chữ nhật không? Nếu đúng là hình chữ nhật thì hàm trở về T, nếu không đúng hàm trở về nil

Code dạng như thế này :

(defun xdHCN(A B C D)
(if dieukienlogic
T nil
)
)
- điều kiện câu đố : Ở điều kiện logic sau hàm If không sử dụng hàm And (không sử dụng hàm if lồng nhau). Không sử dụng hàm (= làm điều kiện so sánh
- Câu đố của topic được lấy từ Yêu cầu ở đây : http://www.cadviet.com/forum/index.php?showtopic=62132
Nào, xin mời các bác tham gia giải đố
  • 0

#213 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5678 Bài viết
Điểm đánh giá: 2605 (tuyệt vời)

Đã gửi 16 February 2012 - 09:40 PM

Đề bài thiếu dữ kiện a ạ :)
  • 0

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#214 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 16 February 2012 - 09:46 PM

Đề bài thiếu dữ kiện a ạ :)

Thiếu dữ kiện gì nữa, Ketxu bổ sung giúp cho đầy đủ nhé. Thanks.
  • 0

#215 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 6007 Bài viết
Điểm đánh giá: 3113 (tuyệt vời)

Đã gửi 16 February 2012 - 10:05 PM

Thiếu dữ kiện gì nữa, Ketxu bổ sung giúp cho đầy đủ nhé. Thanks.


Thiếu dữ kiện gì nữa, Ketxu bổ sung giúp cho đầy đủ nhé. Thanks.

Hình phẳng.
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#216 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5678 Bài viết
Điểm đánh giá: 2605 (tuyệt vời)

Đã gửi 16 February 2012 - 10:08 PM

A B C D là cái j ạ ^^
  • 0

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#217 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 16 February 2012 - 10:23 PM

A B C D là cái j ạ ^^

A B C D là 4 đỉnh của tứ giác ABCD.
trong mặt phẳng (ABCD) Cho tứ giác ABCD có 4 đỉnh A B C D.
Trong hàm
(defun xdHCN(A B C D) (if dieukienlogic T nil ) )
thì A B C D là các biến tọa độ điểm. Ở dieukienlogic phải xử lý các biến tọa độ điểm này để thỏa mãn yêu cầu của câu đố

:D Chắc là đủ thông tin rồi các bác nhỉ?

........
- Câu đố của topic được lấy từ Yêu cầu ở đây : http://www.cadviet.com/forum/index.php?showtopic=62132
Nào, xin mời các bác tham gia giải đố


  • 0

#218 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5447 Bài viết
Điểm đánh giá: 2624 (tuyệt vời)

Đã gửi 16 February 2012 - 10:44 PM

A B C D là 4 đỉnh của tứ giác ABCD.
trong mặt phẳng (ABCD) Cho tứ giác ABCD có 4 đỉnh A B C D.
Trong hàm
(defun xdHCN(A B C D) (if dieukienlogic T nil ) )
thì A B C D là các biến tọa độ điểm. Ở dieukienlogic phải xử lý các biến tọa độ điểm này để thỏa mãn yêu cầu của câu đố

:D Chắc là đủ thông tin rồi các bác nhỉ?

Điều kiện logic: tích của 4 sin của 4 góc bằng 1 là 1 đáp án
P/S: chỉ cần tích của 3 sin của 3 góc bằng 1 là đủ.
  • 1

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#219 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5447 Bài viết
Điểm đánh giá: 2624 (tuyệt vời)

Đã gửi 17 February 2012 - 08:36 AM

Tue_NV Có 1 câu đố vui nữa đây:
Cho tứ giác ABCD. Xây dựng 1 hàm kiểm tra tứ giác ABCD có phải là Hình chữ nhật không? Nếu đúng là hình chữ nhật thì hàm trở về T, nếu không đúng hàm trở về nil

Code dạng như thế này :


(defun xdHCN(A B C D)
(if dieukienlogic
T nil
)
)
- điều kiện câu đố : Ở điều kiện logic sau hàm If không sử dụng hàm And (không sử dụng hàm if lồng nhau). Không sử dụng hàm (= làm điều kiện so sánh
- Câu đố của topic được lấy từ Yêu cầu ở đây : http://www.cadviet.com/forum/index.php?showtopic=62132
Nào, xin mời các bác tham gia giải đố

Cũng không cần phải dùng đến hàm IF vẫn trả về T hoặc nil

(defun xdHCN(A B C D)
(equal (abs (* (sin (- (angle A B) (angle A D)))
(sin (- (angle B C) (angle B A)))
(sin (- (angle C D) (angle C B))))) 1.0 1E-8))
;--- Hoac
(defun xdHCN(A B C D)
(equal (abs (+ (sin (- (angle A B) (angle A D)))
(sin (- (angle B C) (angle B A)))
(sin (- (angle C D) (angle C B))))) 3.0 1E-8))

  • 1

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#220 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5678 Bài viết
Điểm đánh giá: 2605 (tuyệt vời)

Đã gửi 17 February 2012 - 09:05 AM

Bản chất là 3 góc vuông mà ^^ Ketxu dốt hình học nên chỉ ngồi hóng thôi. Biz biz
  • 0

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC