Курсовая работа: Составление расписания встреч участников соревнований

(setq lst_res nil)

(do

( (i (/ (length lst) 2)) (iter 0))

( (>= i (length lst)) lst_res)

(setq lst_res (insert iter lst_res (nth i lst)))

(setq i (+ i 1))

(setq iter (+ iter 1))

)

)

; вставка элемента at в pos позицию списка lst

( defun insert (pos lst at)

(cond

( (null lst) (cons at nil))

( (eql pos 0) (cons at lst))

(t (cons (car lst) (insert ( - pos 1) (cdr lst) at)))

)

)

; функция выбирает победителя

( defunget_winner (lst)

(nth (random (length lst)) lst)

)

; функция иммитирует игру по олимпийской системе

( defun play_off (l output)

(cond

; если осталось 2 участника выбираем победителя и выходим из функции

( (= (length l) 2)

(progn

(print 'pobeditel output)

(print (get_winner l) output)

К-во Просмотров: 293
Бесплатно скачать Курсовая работа: Составление расписания встреч участников соревнований