Форум программистов, компьютерный форум, киберфорум
Lisp
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
3 / 3 / 1
Регистрация: 25.05.2011
Сообщений: 106

Работа с mapcar

29.04.2013, 20:55. Показов 1045. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем! Помогите пожалуйста решить задачку, очень нужно:
Используя функционал MAPCAR, определить функцию, отображающую свой аргумент-список в результирующий список. Для определения первого аргумента функционала MAPCAR можно использовать лямбда-выражения, стандартные или ранее созданные функции.

Функция проверяет, являются ли элементы списка L простыми числами (то есть, делящимися нацело только на себя и на единицу).
Если элемент является простым числом, функция возвращает в результирующем списке значение T.
Если элемент не является простым числом, функция возвращает в результирующем списке NIL.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.04.2013, 20:55
Ответы с готовыми решениями:

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

apply и mapcar
Объясните пожалуйста тупому человеку (т.е. мне) различие между mapcar и apply?????

Функция mapcar
Почему при вычислении данного выражения выводится ответ (10 10 10), а не (30 20 10)? Играет ли тут какую-то роль функция маpcar? ...

4
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38192 / 21125 / 4309
Регистрация: 12.02.2012
Сообщений: 34,732
Записей в блоге: 14
29.04.2013, 22:04
Лучший ответ Сообщение было отмечено как решение

Решение

Вот решение (HomeLisp):

Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
;; Проверка, является ли число простым
 
(defun is-prime (n)
  (let ((res t))
   (iter (for i from 2 to (flo2fix (sqr n)))
     (when (and (<> n i)(zerop (% n i))) (return (setq res nil))))
   res))
 
;; Решение:
 
(defun task (lst) (mapcar #'is-prime lst))
 
==> task
 
(task '(1 2 3 4 5 6 7 8 9 10 11 12 13))
 
==> (T T T NIL T NIL T NIL NIL NIL T NIL T)
2
4528 / 3522 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
29.04.2013, 22:10
Из Правил форума:

"4.7. Как можно более полно описывайте суть проблемы или вопроса, что было сделано для ее решения и какие результаты получены."
0
1075 / 968 / 113
Регистрация: 04.11.2012
Сообщений: 1,013
29.04.2013, 22:35
Лучший ответ Сообщение было отмечено как решение

Решение

Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
(defun test-prime (seq)
  (mapcar #'(lambda (n)
    (do ((num (- n 1) (1- num)))
        ((< num 2) t)
       (if (= (rem n num) 0) (return nil))))
   seq))
 
> (test-prime '(2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23))
 
==> (t t nil t nil t nil nil nil t nil t nil nil nil t nil t nil nil nil t)
 
> (test-prime '(2 3 5 7 11 13 17 19 23 29 31 37 41 43 47))
 
==> (t t t t t t t t t t t t t t t)
2
 Аватар для _sg
4710 / 4405 / 380
Регистрация: 12.05.2012
Сообщений: 3,102
30.04.2013, 00:29
Lisp
1
2
3
4
5
6
7
8
(defun primep (n)
  (loop for i from 2 to (1- n) never (zerop (rem n i))))
 
(defun primes (w)
  (mapcar #'primep w))
 
> (primes '(2 3 4 5 6 7 8 9 10 11))
(T T NIL T NIL T NIL NIL NIL T)
Добавлено через 2 минуты
Lisp
1
2
3
4
5
6
(defun primes (w)
  (mapcar #'(lambda (n) (loop for i from 2 to (1- n)
                              never (zerop (rem n i)))) w))
 
> (primes '(2 3 4 5 6 7 8 9 10 11))
(T T NIL T NIL T NIL NIL NIL T)
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.04.2013, 00:29
Помогаю со студенческими работами здесь

Mapcar функции из файла
Написать программу ввода списка имен функций, ввода списка данных и получения списка результатов, используя функцию mapcar. Результат...

Mapcar для sin
Здравствуйте. Передо мной стоит следующая задача: Написать программу ввода списка имен функций, ввода списка данных и получения списка...

Нужна ли в этом случае функция mapcar и почему
Добрый день! нужно ли использовать эту часть кода в определении списка в lisp файле? ибо при удалении список все равно выводится. ...

Как сделать задачу применив функционал maplist или mapcar
Напишите функцию с использованием функционалов. При необходимости используйте локальные или вспомогательные функции. Задание: Напишите...

Тема: функции высшего порядка (apply, funcall, mapcar, maplist)
(Common Lisp) Даны два списка x и y. Список y является упорядоченным по некоторому правилу. Определить функцию высшего порядка (vstavka f x...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru