Форум программистов, компьютерный форум, киберфорум
Lisp
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
 Аватар для LonerWolf
0 / 0 / 0
Регистрация: 15.05.2011
Сообщений: 36

Макросы и функционалы

16.12.2012, 16:11. Показов 847. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В число специализированных вариантов работы включить следующее:
Выполнения некоторой процедуры по отношению к ее аргументам. По желанию пользователя процедура может указываться одним из двух способов: а) вводом полностью оформленного-выражения б) вводом непосредственно суперпозиции, которая определяет собой процедуру. В последнем случае суперпозицию следует предусмотреть предельно простой с очень ограниченным количеством аргументов, чтобы она подвергалась легкому анализу, иначе задача окажется сложной.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.12.2012, 16:11
Ответы с готовыми решениями:

Макросы и функционалы
Используя макросы и функции высших порядков (функционалы), составить программу, способную к динамическому само модификации, с гибкой...

Макросы и функционалы
Добрый вечер, можно ли переписать эти пару функций с помощью макросов и функционалов , если можно конечно, спасибо. (defun...

Макросы и функционалы
Выполняя эту задачу надо составить, используя макросы и функции высших порядков (функционалы), программу, способную к динамическому само...

3
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38190 / 21125 / 4307
Регистрация: 12.02.2012
Сообщений: 34,732
Записей в блоге: 14
16.12.2012, 19:45
А конкретнее?
0
 Аватар для LonerWolf
0 / 0 / 0
Регистрация: 15.05.2011
Сообщений: 36
16.12.2012, 23:45  [ТС]
Цитата Сообщение от Catstail Посмотреть сообщение
А конкретнее?
Выполняя эту задачу надо составить, используя макросы и функции высших порядков (функционалы), программу, способную к динамическому само модификации, с гибкой адаптацией к особенностям решаемой задачи. Уточняя информацию программа должна получать от пользователя в процессе диалога, который надо вести в форме, приближенной к нормам естественного языка. В программе должны быть предусмотрены специализированные варианты ее работы, числом не менее трех.
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
17.12.2012, 04:50
Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
(defun sharp-quoted-p (arg)
  (and (listp arg)
       (eql (car arg) 'function)
       (symbolp (cadr arg))))
 
(defun quoted-atom-p (arg)
  (and (listp arg)
       (eql (car arg) 'quote)
       (symbolp (cadr arg))))
 
(defun fbound-p (arg)
  (and (atom arg)
       (boundp arg)
       (functionp (symbol-value arg))))
 
(setf (symbol-function 'compose) (symbol-function 'list))
 
(defmacro invoke (fun arg)
  (if (or (sharp-quoted-p fun)
          (quoted-atom-p fun)
          (fbound-p fun))
      `(funcall ,fun ,arg)
      `(reduce #'(lambda (fun arg)
                   (funcall fun arg))
               ,fun
               :initial-value ,arg
               :from-end t)))
Макрос принимает либо функцию, либо список функций, представляющий композицию:

Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
CL-USER> (defun twice (x) (* x 2))
TWICE
CL-USER> (defun square (x) (* x x))
SQUARE
CL-USER> (invoke #'twice 2)
4
CL-USER> (invoke 'square 3)
9
CL-USER> (invoke (compose #'twice #'square) 2)
8
CL-USER> (setf *x* #'square *y* (compose *x* *x*))
(#<FUNCTION SQUARE> #<FUNCTION SQUARE>)
CL-USER> (invoke *x* 3)
9
CL-USER> (invoke *y* 3)
81
CL-USER>
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.12.2012, 04:50
Помогаю со студенческими работами здесь

Функционалы и макросы
Помогите на Lisp с помощью функционалов и (или) макросов создать новую синтаксическую форму: (СОЗДАТЬ_A-LIST (список ключей) (выражение1)...

Макросы и функционалы
Помогите решить задачу! Честно говоря, даже условия понять толком не могу((( В число специализированных вариантов работы включить...

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

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

Функционалы
Добрый день, помогите пожалуйста с заданием, нужно использовать функционалы. Написать функцию (f-n p x n), которая выдает истину...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
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
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru