Определить, упорядочены ли элементы в одноуровневом списке, содержащем латинские буквы, по алфавиту - Lisp

Узнай цену своей работы

Формулировка задачи:

Листинг программы
  1. (defun sum-list (x) (cond ((null x) 0)
  2. (t (+ (car x) (sum-list (cdr x))))))

Решение задачи: «Определить, упорядочены ли элементы в одноуровневом списке, содержащем латинские буквы, по алфавиту»

textual
Листинг программы
  1. (defun sorted (w v)
  2.   (cond ((null v))
  3.         ((null w) (null v))
  4.         ((eq (car w) (car v)) (sorted w (cdr v)))
  5.         ((sorted (cdr w) v))))
  6.  
  7. > (sorted '(a b c d e f g h i j k l m n o p q r s t u v w x y z) '(g g h h z z))
  8. T
  9. > (sorted '(a b c d e f g h i j k l m n o p q r s t u v w x y z) '(x g g h h z z))
  10. NIL

Объяснение кода листинга программы

В коде определённая функция с именем sorted, которая принимает два аргумента: w и v. Если w или v равны null, то функция возвращает null. Если car w равен car v, то функция рекурсивно вызывает себя с аргументами w и cdr v. В последнем случае функция также рекурсивно вызывает себя с аргументами cdr w и v. Пример использования функции:

(sorted '(a b c d e f g h i j k l m n o p q r s T U V W X Y Z) '(x g g h h z z)) T Функция sorted принимает список букв в качестве первого аргумента и список букв в качестве второго аргумента. Она сортирует первый список по алфавиту, игнорируя регистр, и сравнивает его с вторым списком. Если списки не совпадают, функция возвращает NIL. Если списки совпадают, функция возвращает T. В данном примере функция возвращает T, потому что первый список содержит буквы в алфавитном порядке, как и второй список. Пример использования функции: (sorted '(a b c d e f g h i j k l m n o p q r S T U V W X Y Z) '(x g g h h z z)) NIL

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.9 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы