|
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
|
|
Функциональное программирование на Lispe09.04.2020, 11:18. Показов 11716. Ответов 146
Метки нет (Все метки)
Начал смотреть другой курс по функциональному программированию на Lisp
https://www.youtube.com/watch?... ebDaSS1P33 Смотреть желательно в HD на большом мониторе, иначе код может быть не виден из-за мелкого шрифта и придется скачивать программой (в Windows это Ummy Video Downloader) делать скриншот и увеличивать. И там сказано, что Lisp предполагает, что Вы пишите в чисто функциональном стиле, чисто функциональной парадигме. А по другому если программировать, немного искажая далее сказанное, является дурным тоном. Что Вы об этом думаете? Это не тот видео курс, о котором упоминал ранее https://www.youtube.com/playli... zm9GG4wOfU https://openedu.ru/course/ITMOUniversity/FPBC/
0
|
|
| 09.04.2020, 11:18 | |
|
Ответы с готовыми решениями:
146
Функциональное программирование Функциональное программирование на языке Lisp Харрисон Введение в функциональное программирование (книга с примерами на языке ML) |
|
4528 / 3522 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
|
||||
| 13.04.2020, 15:18 | ||||
А почему они в нём есть? Предполагаю, потому что пригождаются в функциональном стиле итерирования - рекурсией или do.Добавлено через 2 минуты (if <условие> <выражение-да> <выражение-нет>), семантически это тернарный оператор. А cond - множественное ветвление.Добавлено через 2 минуты Ой. Там же три ветки. Тогда действительно нужен cond. Но что это за факториал такой, это ерунда а не факториал.
0
|
||||
|
Просто Лис
|
|||||||||||||||||
| 13.04.2020, 15:39 | |||||||||||||||||
![]()
Хотя, кажется, в go оператор switch может быть выражением:
0
|
|||||||||||||||||
|
4528 / 3522 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
|
||||||
| 13.04.2020, 16:20 | ||||||
|
Да, лисповый cond и такой switch эквивалентны. А с питоном есть разница. Я тут умозрительно заявлял, что CL и Python более-менее эквивалентны в отношении к функциональному программированию. Но наличие statement-ов, конечно, удаляет от него Python. Не подумал о них. (Как обычно - переходишь к конкретике и оказывается, что кучу всего не учёл.) Но выражение - тоже, в принципе, удобно. Например, если бы мы захотели сохранить результат в переменную перед возвращением - в питоне мы должны в каждой ветке присвоить ей значение, потому что ветки - это ветки исполнения. Но достаточно естественно мыслить и в терминах веток вычисления: "результат будет 1, если x == 0, а в противном случае...". Если бы не было третьей ветки (что за факториал с тремя ветками???), можно было бы элегантно, на мой взгляд, написать
2
|
||||||
|
Просто Лис
|
|||||||
| 13.04.2020, 16:32 | |||||||
|
Нашёл реальный рабочий пример "cond". PL/SQL:
1
|
|||||||
|
4528 / 3522 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
|
||||||
| 13.04.2020, 16:45 | ||||||
|
Вообще, cond можно использовать для чего угодно. Каждая ветка в нём берётся в скобки - именно потому, что в ней может быть более одного выражения. У него такой синтаксис:
0
|
||||||
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
|
|||||||
| 13.04.2020, 23:25 | |||||||
0
|
|||||||
|
Заблокирован
|
|||||||
| 14.04.2020, 01:09 | |||||||
1
|
|||||||
|
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
|
||||||
| 14.04.2020, 08:20 [ТС] | ||||||
|
В 5 видео канала Pavel Stepanov после примера с факториалом пример про числа Фибоначчи. И не могу набрать строку кода, как на видео. Скобки не совпадают и начало строки как то не так выглядит.
Вот первая строка вверху, после приветствия LISP
Сейчас скриншот добавлю.
0
|
||||||
|
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
|
|
| 14.04.2020, 08:31 [ТС] | |
|
0
|
|
|
Просто Лис
|
|||||||||||
| 14.04.2020, 08:50 | |||||||||||
|
И ты это спрашиваешь у того, кто ни разу в жизни не писал на листе?
![]()
где … - это выражение:
1
|
|||||||||||
|
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
|
|
| 14.04.2020, 08:53 [ТС] | |
|
0
|
|
|
Супер-модератор
|
||||||||||||
| 14.04.2020, 09:18 | ||||||||||||
Вот. В чем проблема-то?
supmener, ты попробуй этим кодом вычислить (fib 100)
2
|
||||||||||||
|
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
|
|
| 14.04.2020, 09:25 [ТС] | |
|
Там потом другой пример идет. До него пока не добрался.
0
|
|
|
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
|
|
| 14.04.2020, 16:02 [ТС] | |
|
Почему то не совпадает.
0
|
|
|
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
|
|
| 14.04.2020, 17:26 [ТС] | |
|
Подчеркнутое место в программе с аналогичным в книге. Рыжий Лис уже подсказал.
0
|
|
|
Просто Лис
|
||||||||||||||||
| 14.04.2020, 18:08 | ||||||||||||||||
|
Бездумно перепечатывая примеры из книги, вы ничему не научитесь:
1
|
||||||||||||||||
|
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
|
|
| 14.04.2020, 18:38 [ТС] | |
|
0
|
|
| 14.04.2020, 18:38 | |
|
Функциональное программирование: ввести фразу на естественном языке и преобразовать ее в список Функциональное программирование: определить, является ли аргумент функции списком элементов/атомов
Нужно подсчитать сумму ряда на Lispe Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
|
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701
Купил два термопринтера QR701.
На сэлф-тесте написано:
Language: PC936 (GB18030).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
|
|
Создание формы заимствованного документа
Maks 03.08.2026
Задача:
Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также
табличная часть со следующими реквизитами:
- Расчетный счет покупателя. . .
|
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача:
В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
|
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов.
Логика кажется понятной:
1. Находим ключевые слова.
2. Добавляем их на. . .
|
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302
Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
|