КАК РЕШИТЬ ЧЕРЕЗ ФУНКЦИОНАЛЫ? - Lisp

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

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

В типографии проверяют книги перед изданием. Вам необходимо написать программу, которая сделает заглавной первую букву первого слова каждого предложения, если та не является таковой. ("в типографии проверяют книги перед изданием" "наша кафедра готовит настоящих программистов" "вам необходимо написать программу" ) ⇒ ("В типографии проверяют книги перед изданием" "Наша кафедра готовит настоящих программистов" "Вам необходимо написать программу" )

Решение задачи: «КАК РЕШИТЬ ЧЕРЕЗ ФУНКЦИОНАЛЫ?»

textual
Листинг программы
(defun task (lst)
  (mapcar (lambda (x) (strCat (strUcase (strLeft x 1)) (strMid x 2))) lst))
 
==> TASK
 
(task '("в типографии проверяют книги перед изданием" "наша кафедра готовит настоящих программистов" "вам необходимо написать программу" ))
 
==> ("В типографии проверяют книги перед изданием" "Наша кафедра готовит настоящих программистов" "Вам необходимо написать программу")

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

В данном коде определена функция task, которая принимает в качестве аргумента список строк lst. Внутри функции происходит следующее:

  1. mapcar применяется к списку lst с лямбда-функцией в качестве аргумента. Лямбда-функция принимает в качестве аргумента x (каждый элемент списка lst) и возвращает результат вызова функций strUcase и strMid с аргументом x.
  2. Функция strUcase применяется к первой единице x (что соответствует первому символу строки), а затем результат вызова функции strMid с аргументом x (что соответствует оставшейся части строки после первой единицы). Результат этих двух операций объединяется с помощью функции strCat.
  3. Результатом выполнения лямбда-функции для каждого элемента списка lst является новый список, где первая единица каждого элемента преобразована в верхний регистр, а остальные символы — в нижний регистр.
  4. Вызывается функция task с аргументом lst. Результатом выполнения функции является новый список, где первая единица каждого элемента преобразована в верхний регистр, а остальные символы — в нижний регистр.
  5. Результат функции task выводится на экран.

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


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

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

13   голосов , оценка 4.231 из 5
Похожие ответы