Консультация № 187881
14.06.2014, 17:09
185.00 руб.
0 3 1
Здравствуйте, уважаемые эксперты! Я не нашел подходящего раздела, и решил написать сюда. Прошу Вас помочь написать две программы на [u]Лиспе[/u] (LISP), желательно на LispWorks PE.

Задача 1.

Поле шахматной доски определяется парой натуральных чисел, каждое из которых не превосходит восьми: первое число - номер вертикали (при счете слева направо), второе - номер горизонтали (при счете снизу вверх). Даны натуральные числа k, l, m, n, каждое из которых не превосходит восьми. Требуется:

Б) На поле (k, l) расположен ферзь. Угрожает ли он полю (m, n)?

Задача 2.

Определите обобщённую функцию MINUS1, позволяющую сменить знак числа либо многочлена на противоположный.
(Не путать с minusp1 !)

(defgeneric minus1 (arg)
...)

Первая задача есть в интернете, но на других языках, поэтому знающему LISP человеку (коим я не являюсь) больших трудов не потребуется, чтобы перевести её на LISP) Вторая задача тоже особого труда не требует, насколько я могу судить


Если вдруг тема подлежит удалению, то прошу готового помочь человека написать в личные сообщения, там договоримся о цене.

Заранее огромное спасибо!

С уважением,

Барс Иван.

Обсуждение

давно
Старший Модератор
31795
6196
17.06.2014, 21:23
общий
Единственное, что мне доступно не комерческое - newLisp.
Код на нем выглядит так:
Код:

(print "enter h-coord queen[1..8]:")
(set 'k (int (read-line)))
(print "enter v-coord queen[1..8]:")
(set 'l (int (read-line)))

(print "enter h-coord chek-point[1..8]:")
(set 'm (int (read-line)))
(print "enter v-coord check-point[1..8]:")
(set 'n (int (read-line)))

(set 'x (abs(- k m)))
(set 'y (abs(- l n)))
(print "result attack : " (or (= x) (= y) (= (- x y))) "\n press any key ...")
(read-key)


Определите обобщённую функцию MINUS1, позволяющую сменить знак числа либо многочлена на противоположный.(Не путать с minusp1 !)

Если у Вас есть какая либо методичка, то пожалуйста выложите её, может успею разобратся и с MINUS1
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

давно
Старший Модератор
31795
6196
22.06.2014, 15:54
общий
это ответ
Здравствуйте, Барс Иван!

Смотрите приложение. Код на New LIsp.
Удачи!

Приложение:
(print "enter h-coord queen[1..8]:")
(set 'k (int (read-line)))
(print "enter v-coord queen[1..8]:")
(set 'l (int (read-line)))

(print "enter h-coord chek-point[1..8]:")
(set 'm (int (read-line)))
(print "enter v-coord check-point[1..8]:")
(set 'n (int (read-line)))

(set 'x (abs(- k m)))
(set 'y (abs(- l n)))
(print "result attack : " (or (= x) (= y) (= (- x y))) "\n press any key ...")
(read-key)
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

Неизвестный
23.06.2014, 13:25
общий
Адресаты:
Спасибо Вам огромное, Вы мне очень сильно помогли!

С MINUS1 разобрался сам, помощь больше не требуется


Консультацию можно закрывать
Форма ответа