powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Common Lisp (бывший коварный ктото)
7 сообщений из 132, страница 6 из 6
Common Lisp (бывший коварный ктото)
    #35844285
zloy den
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL_Lamerzloy denНе, читаю пока PCL. Насчент rtm-у меня комплекс неполноценности, в моем возрасте люди уже писали черви, которые половину сети положили:)

Ну тогда мне только убиться об стену осталось(это я насчет возраста) :))

Черт, не думал что кто-то в здравом рассудке сидит в субботу вечером на форуме(себя я таким не считаю:) Но почитать про него стоит, очень интересно имхо.
З.Ы. спасибо за перевод, буду читать после pcl
...
Рейтинг: 0 / 0
Common Lisp (бывший коварный ктото)
    #35844487
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zloy den пишет:

Писал программу расстановки
> ферзей. Честно говоря код не шибко нравится, но для первого раза сойдет.
> Может у кого есть идеи насчет оптимизации?
>
> (defun test-queen(place previous-lst)

У меня дошли руки это прочитать и разобрать. Это ужас какой-то,
это не лисп. Это так пишут императивные программисты, только что
слезшие с какого-нибудь фортрана.

Да, и я нифига не понял алгоритм, где ж там чего делается.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Common Lisp (бывший коварный ктото)
    #35845324
zloy den
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
zloy den пишет:

Писал программу расстановки
> ферзей. Честно говоря код не шибко нравится, но для первого раза сойдет.
> Может у кого есть идеи насчет оптимизации?
>
> (defun test-queen(place previous-lst)

У меня дошли руки это прочитать и разобрать. Это ужас какой-то,
это не лисп. Это так пишут императивные программисты, только что
слезшие с какого-нибудь фортрана.

Да, и я нифига не понял алгоритм, где ж там чего делается.


Да примерно так и есть, только еще и не слез. Чего-то у меня этот алгоритм не идет нормально :(
...
Рейтинг: 0 / 0
Common Lisp (бывший коварный ктото)
    #35845372
Фотография SQL_Lamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zloy den,

Тут пример разбери может?
Там на с++ и на хаскель реализация. И на руби, по моему.
Вообще там у товарища варит котелок, судя по всему, есть интерестные вещи.
...
Рейтинг: 0 / 0
Common Lisp (бывший коварный ктото)
    #35845464
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL_Lamer пишет:

> Тут <http://www.lymar.ru/?p=12> пример разбери может?

Вот на лиспе. не знаю как про алгоритм, но хоть стиль программирования
хороший, лисповый.

www.gia.ist.utl.pt/~aml/debugging-allegro.ps
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Common Lisp (бывший коварный ктото)
    #37123203
Yulch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SQL_Lamer,

Привет. Я вот сегодня увидела твой вариант решение задачи "8 ферзей" с использованием массивов.
Ты не могу бы мне выслать пояснения к ней?Мы недавно начали изучать лисп и помощь со стороны не была бы лишней.
Мог бы написать комментарии к строкам задачки? Заранее большое спасибо за помощь!

(defun position-p(board depth)
(let ((res t))
(dotimes (i depth)
(if
(or
(= (svref board i) (svref board depth))
(= (+ (svref board i) i) (+ (svref board depth) depth))
(= (- (svref board i) i) (- (svref board depth) depth)))
(progn
(setf res nil)
(return))))
res))


(defun pos-search(board depth size)
(if (= depth size)
(format t "~a~%" board)
(progn
(setf (svref board depth) 0)

(loop
(when (= (svref board depth) size) (return))
(if(position-p board depth)
(pos-search board (+ depth 1) size))
(setf (svref board depth)(incf (svref board depth)))))))


vuzov:
(pos-search (make-array 8 :initial-element 0) 0 8)
...
Рейтинг: 0 / 0
Common Lisp (бывший коварный ктото)
    #37123664
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет гробокопателям :)
Я уж думал "Сами знаете кто" вернулся

P.S.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
(define (queens columns)
  (define (check? n k s)
    (cond ((null? s) #t)
          (else (and (not (= k (car s)))
                     (not (= (abs (- k (car s))) n))
                     (check? (+ n  1 ) k (cdr s)))))
  )
  (define (iter r s k n)
    (cond ((=  0  n) (cons s r))
          (else (append (if (check?  1  (+ k  1 ) s) (iter r (cons (+ k  1 ) s)  0  (- n  1 )) '())
                        (if (< (+ k 1) columns) (iter r s (+ k 1) n) '()))))
  )        
  (iter '() '()  0  columns)
)

P.P.S. Не буду объяснять как работает :)
...
Рейтинг: 0 / 0
7 сообщений из 132, страница 6 из 6
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Common Lisp (бывший коварный ктото)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]