Разработать функцию, находящую сумму элементов с нечетными номерами в заданном списке чисел

Программа
в среде программирования Lisp



Если Вы считаете, что данная страница каким-либо образом нарушает Ваши авторские права, то Вам следует обратиться в администрацию нашего сайта по адресу info@kursovik.com либо через форму обратной связи

Среда программирования: Lisp

Название работы: Разработать функцию, находящую сумму элементов с нечетными номерами в заданном списке чисел

Вид работы: Программа

Описание: Цель работы – ознакомление с лямбда – выражениями и функциями языка Lisp.

ЗАДАНИЕ:
Разработать функцию, находящую сумму элементов с нечетными номерами в заданном списке чисел.
Например:
Вход: (2 4 3 1 7 2 4).
Выход: 16.

Указания.
Допускается использовать любые предопределённые функции Lisp.

Пример. Разработать функцию, разворачивающую список любой вложенности в линейный в обратном порядке

Функция plainlist осуществляет первичную обработку списка, приводя его в плоский вид. Res - промежуточный результат, 1st -список

>(DEFUN PI.AIM.IST (RES I.ST)
(COND
((ATOM I.ST) (CONS l.ST RES))
((NULL l.ST) RES)
((NULL (CAR 1ST)) RES)
((NOT (ATOM (CAR I.ST))) (PLAINLIST
(PLAINLIST RES (CAR l.ST))(CI)R 1ST)))
(T (PLAINLIST (CONS (CAR 1ST) RES) (CDR l.ST)))))

Например,
>P1.AINL1ST NIL ’(А В С))
(NIL С BA)
>PI.AINLIST NIL ’(А (В) C))
(NIL С NIL BA)
>PI.AINLIST NIL '((А (В)) C))
(NIL С NIL NIL В A)

Функция cutnulls вырезает из списка все значения nil:
><DEFUN CUTNULLS (l.ST)
(COND
((NULL I.ST) I.ST)
((NULL (CAR 1ST)) (CUTNULLS (CDR I.ST)))
(T (CONS (CAR 1ST) (CUTNULLS (CDR I.ST))))))
><CUTNULLS ’(NIL А В С NIL))
(ABC)

Наконец, функция PLAINLISTREVERSE возвращает искомый результат:
><DEFUN PLAINANDREVERSE (l.ST)
(CUTNULLS
(PLAINLIST NIL I.ST)))

Примеры:
>(PLA1NANDREVERSE ’(А В С))
(С В A)
><PI AINANDREVERSE ’(А (В) С)) (С В А)
>( PLAIN AND REV ERSE ’((А (В)) C)) (С В A)

Год: 2019

Данный заказ (программа) выполнялся нашим сайтом в 2019-м году, в рамках этого заказа была разработана программа в среде программирования Lisp. Если у Вас похожее задание на программу, которую нужно написать на Lisp, либо на другом языке программирования, пожалуйста заполните форму, приведённую ниже, после чего Ваше задание в первую очередь рассмотрит наш программист, выполнявший в 2019-м году этот заказ, если он откажется, то Ваше задание оценят другие наши программисты в течение 48-и часов, если оценка нужна срочно, просим Вас оставить пометку об этом - напишите в тексте задания фразу "СРОЧНЫЙ ЗАКАЗ".

Купить эту работу

Тел.: +79374242235
Viber: +79374242235
Telegram: kursovikcom
ВКонтакте: kursovikcom
WhatsApp +79374242235
E-mail: info@kursovik.com
Skype: kursovik.com