|
|
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
Помогите написать прогу на Lisp если можно с комментариями!!!! срочно!!! Скласти рекурсивну функцію для обробки списку з будь-якої кількості атомів, які складені з будь-яких знаків. Якщо у результаті обробки з атому видалені всі знаки, замінити його на атом <ПУСТО>. У кожному списку замінити літери англійського алфавіту на відповідний номер у алфавіті (aф6Гs4 -> 1ф6Г194) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2011, 13:15 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
Как-то через map наверное. http://cl-cookbook.sourceforge.net/strings.html http://www.psg.com/~dlamkins/sl/chapter13.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2011, 16:35 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
Настаська , Вам сюда http://www.lisp.ru. Там есть форум для студентов. Тока переведите задание, ИМХО російською зручніше. И + я не поняла, в задании, про удаление символов. Когда они удаляются? Мож просто Lisp не знаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2011, 16:58 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
Само задание вот: в каждом списке заменить буквы английского алфавита на их порядковый номер в алфавите. Вот пример как должно быть (aф6Гs4 -> 1ф6Г194) а предусловие, это то что надо использовать рекурсию ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2011, 18:17 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
Оце так! Не успела продать выпускное платье - уже погрузилась в пучину It-шной кутерьмы. Яб тебе помог но нифига не шарю в Лисп. Так. Теоретицски.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2011, 18:43 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
при чем тут выпускное платье??? я чет туплю=) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2011, 19:22 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
Настаськая чет туплю Гы. Значит пора за косы подергать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2011, 19:39 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
Такого метода я незнаю Я вообще тихоня был в школе.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2011, 19:42 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
Настаська, не понятно, откуда могут взяться атомы с удаленными знаками? Есть правило замены латинских букв номерами, но нет никакого правила удалания каких-либо символов." видалені всі знаки" - это "удалены все знаки"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2011, 21:42 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
то общее задание, а вот Само задание вот: в каждом списке заменить буквы английского алфавита на их порядковый номер в алфавите. Вот пример как должно быть (aф6Гs4 -> 1ф6Г194) надо использовать рекурсию Просто у меня надо сделать вот это. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2011, 22:18 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
(вы (бы (хоть (версию (LISP-а сказали))))), для scheme например один из вариантов вот так если нет map-а Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2011, 23:08 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
извините за какой лисп забыла написать...comonLisp ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2011, 11:55 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
Настаська, совсем не специалист в lisp, но что-то получилось:transform_list.lisp Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Код: plaintext 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. 28. 29. 30. 31. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2011, 20:17 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
avb1003, потому что '(aaa abфи 123-aaa A123 БA 'A123 'Щ234) фактически является '(aaa abфи 123-aaa A123 БA (QUOTE A123) (QUOTE Щ234)) Код: plaintext 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. 28. 29. 30. 31. 32. 33. 34. 35. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2011, 14:48 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
k0rvinavb1003, потому что '(aaa abфи 123-aaa A123 БA 'A123 'Щ234) фактически является '(aaa abфи 123-aaa A123 БA (QUOTE A123) (QUOTE Щ234)) ... Ну это я знаю. Ведь что-то про lisp я уже прочитал. Но, к сожалению, у Вас результат тоже не идеальный: Код: plaintext 1. 2. 3. 4. 5. 6. Я понял условие так, что (transform '(aaa abфи 123-aaa A123 БA 'A123 'Щ234)) должно давать (111 12ФИ 123-111 1123 Б1 '1123 'Щ234). Мне это пока не под силу (ну, по крайней мере, за разумное время и с разумными усилиями, да и неизвестно, нужно ли это топикстартеру), но на полное решение я с удовольствием бы посмотрел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2011, 22:47 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
avb1003, "|" -- не лишние знаки =) Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2011, 00:26 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
Натаська ты как там? Жива? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2011, 00:29 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
avb1003 'Щ234, например, переходит в (|172115205| Щ234). и правильно переходит, т.к. 'Щ234 -- это (QUOTE Щ234), а QUOTE -- это 172115205 avb1003Я понял условие так, что (transform '(aaa abфи 123-aaa A123 БA 'A123 'Щ234)) должно давать (111 12ФИ 123-111 1123 Б1 '1123 'Щ234). Мне это пока не под силу (ну, по крайней мере, за разумное время и с разумными усилиями, да и неизвестно, нужно ли это топикстартеру), но на полное решение я с удовольствием бы посмотрел. Вы немного недопоняли лисп, я же написал во что превращается это ваше выражение после его чтения "лиспом", зачем Вы там внутри поставили еще кавычки? эти кавычки исчезают после работы Reader'а и исходное выражение Код: plaintext Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2011, 00:37 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
avb1003, собственно, если хотите, можете свою функцию transform-node переписать так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2011, 00:55 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
пардон, вместо Код: plaintext 1. Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2011, 00:57 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
k0rvinavb1003, потому что '(aaa abфи 123-aaa A123 БA 'A123 'Щ234) фактически является '(aaa abфи 123-aaa A123 БA (QUOTE A123) (QUOTE Щ234)) ... Ну это я знаю. Ведь что-то про lisp я уже прочитал. Но, к сожалению, у Вас результат тоже не идеальный: Код: plaintext 1. 2. 3. 4. 5. 6. Я понял условие так, что (transform '(aaa abфи 123-aaa A123 БA 'A123 'Щ234)) должно давать (111 12ФИ 123-111 1123 Б1 '1123 'Щ234). Мне это пока не под силу (ну, по крайней мере, за разумное время и с разумными усилиями, да и неизвестно, нужно ли это топикстартеру), но на полное решение я с удовольствием бы посмотрел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2011, 01:24 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
k0rvin... не проверял, но должно работатьНу и кто за Вас будет проверять? Пушкин что-ли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2011, 01:28 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
k0rvinВы немного недопоняли лисп ... Может быть Пока да. Пока я считаю его нормальным языком, на котором можно сделать все то же, что и на С, на ассемблере и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2011, 01:32 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
avb1003k0rvinavb1003, потому что '(aaa abфи 123-aaa A123 БA 'A123 'Щ234) фактически является '(aaa abфи 123-aaa A123 БA (QUOTE A123) (QUOTE Щ234)) ... Ну это я знаю. Ведь что-то про lisp я уже прочитал. Но, к сожалению, у Вас результат тоже не идеальный: Код: plaintext 1. 2. 3. 4. 5. 6. Я понял условие так, что (transform '(aaa abфи 123-aaa A123 БA 'A123 'Щ234)) должно давать (111 12ФИ 123-111 1123 Б1 '1123 'Щ234). Мне это пока не под силу (ну, по крайней мере, за разумное время и с разумными усилиями, да и неизвестно, нужно ли это топикстартеру), но на полное решение я с удовольствием бы посмотрел.Браузер, наверное, дублирует сообщения из истории. Sorry. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2011, 01:35 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
avb1003k0rvinВы немного недопоняли лисп ... Может быть Пока да. Пока я считаю его нормальным языком, на котором можно сделать все то же, что и на С, на ассемблере и т.д. Аналогия неверна. Её надо перевернуть наоборот. На С и ассемблере (на уровне языка) принципиально невозможно воспроизвести некоторые возможности Lisp. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2011, 11:26 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
maytonavb1003пропущено... Может быть Пока да. Пока я считаю его нормальным языком, на котором можно сделать все то же, что и на С, на ассемблере и т.д. Аналогия неверна. Её надо перевернуть наоборот. На С и ассемблере (на уровне языка) принципиально невозможно воспроизвести некоторые возможности Lisp. эт точно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2011, 16:49 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
avb1003Ну и кто за Вас будет проверять? Пушкин что-ли? мне какая разница? оно же Вам нужно, не мне, Вы и проверяйте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2011, 17:25 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
maytonОце так! Не успела продать выпускное платье так делают все форумчане, при виде женского ника? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2011, 17:35 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNmaytonОце так! Не успела продать выпускное платье так делают все форумчане, при виде женского ника? Нет только я. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2011, 17:44 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
maytonZyK_BotaNпропущено... так делают все форумчане, при виде женского ника? Нет только я. я просто тоже так делаю )), вот и удивился. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2011, 17:44 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
Мальчики, помрешь с вами. Встретились. А девушка то не лямбда, уведут, ухари с lisp.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2011, 19:34 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
k0rvinavb1003Ну и кто за Вас будет проверять? Пушкин что-ли? мне какая разница? оно же Вам нужно, не мне, Вы и проверяйтеМне?! Зачем? Нет. Конечно, если бы это мне нужно было сделать курсовую, то да. А так - меня не интересуют творения программистов, которые не проверяют свои программы. К тому же один раз я Вас уже проверил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2011, 20:00 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
ИринаВМальчики, помрешь с вами. Встретились. А девушка то не лямбда, уведут, ухари с lisp.ru и не говори )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2011, 20:02 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
avb1003k0rvinпропущено... мне какая разница? оно же Вам нужно, не мне, Вы и проверяйтеМне?! Зачем? Нет. Конечно, если бы это мне нужно было сделать курсовую, то да. А так - меня не интересуют творения программистов, которые не проверяют свои программы. К тому же один раз я Вас уже проверил. ты не уважешь Д. Кнута? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2011, 20:02 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNИринаВМальчики, помрешь с вами. Встретились. А девушка то не лямбда, уведут, ухари с lisp.ru и не говори )) Те еще худшие ботаны... Давай с нами тусить, Ирэн. Тут хоть ПТ есть, а у функциональщиков только круглые скобочки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2011, 21:09 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
Дык я и так тута. Правда больше в Delphi. Lisp не знаю (тока теоретиццки), но с ентим не согласна, в принципе: maytonНа С и ассемблере (на уровне языка) принципиально невозможно воспроизвести некоторые возможности Lisp. Если С (или Delhi), то почему нельзя, построить лиспо-подобную систему функций? Если надо? Ассемблер да, это другое, согласна. ЗЫ. Кнута уважаю. И Тьюринга. ЗЫЗЫ. В ПТ заходила. Тока там политики много. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2011, 22:40 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
ИринаВmaytonНа С и ассемблере (на уровне языка) принципиально невозможно воспроизвести некоторые возможности Lisp. Если С (или Delhi), то почему нельзя, построить лиспо-подобную систему функций? Если надо? лисп -- это далеко не только функции =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2011, 22:56 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
k0rvinлисп -- это далеко не только функции =) Атож. Еще рекурсия и сртуктура данных. Рекурсия везде есть. И структуру данных, ИМХО можно построить, списочную. Не? Те. я хочу сказать: что можно построить систему элементов, к-рые будут гармонироать с исходным языком (процедурным), и при этом, внесут выраз. возможности функционального. Сорри если плохо излагаю. Но все это ИМХО чиста размышлизм. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2011, 00:00 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
ИринаВДык я и так тута. Правда больше в Delphi. Lisp не знаю (тока теоретиццки), но с ентим не согласна, в принципе: maytonНа С и ассемблере (на уровне языка) принципиально невозможно воспроизвести некоторые возможности Lisp. Если С (или Delhi), то почему нельзя, построить лиспо-подобную систему функций? Если надо? Ассемблер да, это другое, согласна. ЗЫ. Кнута уважаю. И Тьюринга. ЗЫЗЫ. В ПТ заходила. Тока там политики много. нельзя, плохо знаешь лисп, а в частности - коммон лисп. Коммон Лисп - это не только набор ф-ий, но и мощный рантайм и развитая система макросов. си - курит в сторонке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2011, 00:02 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
ИринаВk0rvinлисп -- это далеко не только функции =) Атож. Еще рекурсия и сртуктура данных. Рекурсия везде есть. И структуру данных, ИМХО можно построить, списочную. Не? Те. я хочу сказать: что можно построить систему элементов, к-рые будут гармонироать с исходным языком (процедурным), и при этом, внесут выраз. возможности функционального. Сорри если плохо излагаю. Но все это ИМХО чиста размышлизм. ты не знаешь лиспа. более того, ты даже с ним не знакома... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2011, 00:04 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
ИринаВАтож. Еще рекурсия и сртуктура данных. Рекурсия везде есть. И структуру данных, ИМХО можно построить, списочную. Не?Те. я хочу сказать: что можно построить систему элементов, к-рые будут гармонироать с исходным языком (процедурным), и при этом, внесут выраз. возможности функционального. Сорри если плохо излагаю. Но все это ИМХО чиста размышлизм. Нет. Lisp предлагает другой подход к программированию в принципе. Он не разделяет код и данные. Тоесть ты можешь "исполнять данные" прямо в рантайме. Подобное можно повторить только если в runtime С++ной программы вставить исполняющую машину Lisp. Но это уже будут совершенно другие условия эксперимента. Кстати пару дней назад умер замечательный человек. Мега-мозг и сумрачный гений, номинант премии тьюринга Джон МакКарти. Создатель этого языка. Вместе с ним ушла целая эпоха. И наш долг - сохранить те ценности которые он принёс. Светлая ему память. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2011, 00:29 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNнельзя Почему? ZyK_BotaNне только набор ф-ий, но и мощный рантайм и развитая система макросов. Дык любой макрос можно сделать функцией. А ран-тайм сделаем, под наши функции. Другое дело: под интерпреатором можно (теоретицки) менять программу, на ур. языка. Тут не знаю, реально ли этим пользуются в Lispе, но подозреваю что нет. А если да, то возьмем интерпретатор С (или сами сделаем), и получим тож самое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2011, 00:30 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
ИринаВДык любой макрос можно сделать функцией. ага. сделай мне ленивую версию ф-и логического "и" и "или". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2011, 00:36 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
maytonдругой подход к программированию в принципе Вот! Тут согласна. Про код/данные ответила выше. maytonИ наш долг - сохранить те ценности которые он принёс Ну долг, это ИМХО слишком. А вот тот факт, что Lisp используют, 50 уже лет, это правда серьезно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2011, 00:36 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
ИринаВ, ознакомся для начала с лиспом, а потом рассказывай сказки. на лиспе нужно писать как на лиспе, а на си - как на си. нельзя на си писать как на лиспе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2011, 00:38 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNсделай мне ленивую версию ф-и логического "и" и "или". А в чем тут проблема? Не, правда? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2011, 00:38 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
ИринаВZyK_BotaNсделай мне ленивую версию ф-и логического "и" и "или". А в чем тут проблема? Не, правда? в том что аргументы ф-и вычисляются до ее вызова(это верно конечно не для всех языков, а например для си и делфи) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2011, 00:40 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNна лиспе нужно писать как на лиспе, а на си - как на си. нельзя на си писать как на лиспе. Гы, а кто ж спорит? Канеш нельзя. ИМХО и для разных они задач. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2011, 00:41 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
ИринаВZyK_BotaNна лиспе нужно писать как на лиспе, а на си - как на си. нельзя на си писать как на лиспе. Гы, а кто ж спорит? Канеш нельзя. ИМХО и для разных они задач. ты сама себе противоречишь не? з.ы. пример реализации ленивой функции "и" на си в студию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2011, 00:43 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNв том что аргументы ф-и вычисляются до ее вызова Пока не въехала. Ну, до вызова. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2011, 00:44 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
ИринаВ, плохой у нас диалог что-то получился. извиняюсь за свою резкость, но поверь майтону на слово, что maytonАналогия неверна. Её надо перевернуть наоборот. На С и ассемблере (на уровне языка) принципиально невозможно воспроизвести некоторые возможности Lisp. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2011, 00:44 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
ИринаВZyK_BotaNв том что аргументы ф-и вычисляются до ее вызова Пока не въехала. Ну, до вызова. ну и как тогда сделать так, что-бы если результат первого аргумента - false, второй аргумент не вычислялся? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2011, 00:45 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
ИринаВВот! Тут согласна. Про код/данные ответила выше. Лет несколько назад наш замечательный уютненький посетил один чел по имени Ксено-Головый. И в его декретах и посылах и прочих прокламациях помимо жуткого вброса звенела одна истина, касаемая современного императивного С++ программирования. А именно - оно идёт не туда. К сожалению разработчики такие-же люди, подверженные привычкам, и прочим консервативным позициям. Просто возвращая историю на 30 лет назад я-бы подумал на тему того что некоторые вещи можно было-бы сделать не так и по другому. Нужно уметь признать ошибки. Это вобщем-то касается не только технологий С/C++ а очень очень многого. По сабжу больше сказать нечего. И продолжать эту тему я не буду. По кр. мере для меня в ней всё давно ясно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2011, 00:45 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
вот, здесь объснены причины твоего заблуждения: Парадокс БлабаСОВЕТ Что же в Lisp-е такого прекрасного? Если он такой замечательный, почему его не используют все? Казалось бы, риторические вопросы, но на самом деле на них есть прямые ответы. Lisp настолько хорош не тем, что в нем есть некое волшебное качество, видимое только его приверженцам, а тем, что он — самый мощный язык программирования из существующих. И причина того, что все вокруг пишут не на Lisp'е, заключается в том, что выбор языка программирования — вопрос не только технологии, но также и привычки, а ничто не меняется так медленно, как привычки. Конечно, оба эти тезиса требуют разъяснений. Я начну с шокирующего утверждения: языки программирования отличаются друг от друга своей мощностью. По крайней мере, мало кто будет спорить, что высокоуровневые языки мощнее машинного языка (машинный код и ассемблеры – VladD2). Большинство программистов согласятся, что, как правило, программировать стоит не на машинном языке, а на каком-нибудь языке высокого уровня, переводя программу в машинный код с помощью компилятора. Сейчас эта идея получила даже аппаратное воплощение — с восьмидесятых годов команды процессоров разрабатываются скорее для компиляторов, чем для программистов. Каждый знает, что писать всю программу вручную на машинном языке — ошибочно. Но гораздо реже понимают, что существует и более общий принцип: при наличии выбора из нескольких языков ошибочно программировать на чем-то, кроме самого мощного, если на выбор не влияют другие причины (VladD2: выделено мной, мне кажется эта мысль очень важна, ведь если, например, более мощный язык не обеспечивает приемлемой производительности, то его выбор также будет неоправданным). Все языки одинаково мощны, если рассматривать их с точки зрения эквивалентности машине Тьюринга, но это не та мощь, которая важна программисту. (Никто ведь не хотел бы программировать машину Тьюринга). Мощь языка, в которой заинтересован программист, возможно, трудно определить формальными методами, однако одно из объяснений этого понятия заключается в свойствах, которые в менее мощном языке можно получить, только написав на нем интерпретатор для более мощного языка. Если в языке A есть оператор для удаления пробелов из строк, а в языке B его нет, это не делает A более мощным, чем B, так как в B можно написать процедуру, которая делала бы это. Но, скажем, если язык A поддерживает рекурсию, а B — нет, это нечто, что нельзя исправить написанием библиотечных функций (VladD2: впрочем, бывает так, что средствами языка B в принципе можно решить проблему, но решение ее столь сложно, что решение это можно назвать чисто теоретическим). Есть много исключений из этого правила. Если вы пишете программу, которая должна тесно взаимодействовать с программой, написанной на определенном языке, возможно, окажется разумным писать новую программу на том же языке. Если вы пишете программу, которая должна делать что-то очень простое, вроде численной обработки больших массивов данных или манипуляций с битами, можно использовать язык не самого высокого уровня абстракции, тем более что программа будет слегка быстрее (VladD2: и то не факт). Если вы пишете короткую программу, которую используете один раз и выбросите прочь, возможно, следует использовать тот язык, который имеет лучшие библиотечные функции для данной задачи. Но в целом для программного обеспечения нужно использовать самый мощный (и приемлемо эффективный) язык из всех доступных. Отличный от этого выбор — это ошибка такого же рода, как программирование в машинных кодах, хотя и с меньшими негативными последствиями. Понятно, что уровень машинного языка очень низок. А высокоуровневые языки часто рассматриваются как одинаковые, по крайней мере, так принято считать. Но это не так. Технический термин "язык программирования высокого уровня" не обозначает ничего определенного. Не существует четкой границы между множеством "машинных" языков с одной стороны, и множеством "высокоуровневых" – с другой. Языки распределены в континууме (возможно, не просто континууме, а некой структуре, уменьшающейся кверху; важна здесь не форма, а сама идея о том, что существует, по крайней мере, частичный порядок) абстрактности, начиная от самых мощных "языков высокого уровня" вниз к "машинным языкам", которые, в свою очередь, тоже отличаются друг от друга по мощности. Возьмем Cobol. Cobol — язык высокого уровня, так как компилируется в машинный язык. Но станет ли кто-нибудь утверждать, что по мощности Cobol эквивалентен, скажем, Python-у? (VladD2: учитывая свой опыт общения на форумах RSDN скажу, что, несомненно, станет:) ) Возможно, он ближе к машинному языку, чем Python. А как насчет Perl четвертой версии? В Perl 5 в язык были добавлены лексические замыкания (lexical closures). Большинство Perl-хакеров согласятся, что Perl 5 мощнее, чем Perl 4. Но раз вы это признали, вы признали, что один высокоуровневый язык может быть мощнее другого. Из этого неизбежно следует, что использовать нужно самый мощный язык. Впрочем, из этого утверждения редко делается вывод. Программисты старше определенного возраста редко меняют язык по своей воле. Они будут считать достаточно хорошим тот язык, к которому привыкли. Программисты очень привязываются к своим любимым языкам, а я не хочу оскорбить ничьи чувства, поэтому я объясню свою позицию, используя гипотетический язык с названием Блаб. Блаб попадает в середину континуума абстрактности. Это не самый мощный язык, но он мощнее, чем Cobol или машинный язык. И на самом деле, наш гипотетический программист на Блабе не будет использовать ни Cobol, ни машинный код. Для машинных кодов есть компиляторы. Что же касается Cobol-а, наш программист не знает, как на этом языке вообще что-то можно сделать. В Cobol-е ведь даже нет возможности X, присутствующей в Блабе! Когда наш гипотетический Блаб-программист смотрит вниз на континуум мощности языков, он знает, что смотрит вниз. Менее мощные, чем Блаб, языки явно менее мощны, так как в них нет некой особенности, к которой привык программист. Но когда он смотрит в другом направлении, вверх, он не осознает, что смотрит вверх. То, что он видит, — это просто "странные" языки. Возможно, он считает их одинаковыми с Блабом по мощности, но со всяческими сложными штучками. Блаба для нашего программиста вполне достаточно, так как он думает на Блабе (VladD2: выделено мной). Когда мы поменяем точку обзора программиста, используя любой язык программирования выше по континууму мощности, мы обнаружим, что теперь программист смотрит на Блаб сверху вниз. «Как же можно что-то сделать, используя Блаб? В нем отсутствует даже конструкция Y!» Используя метод индукции, приходишь к выводу, что только те программисты, которые понимают самый мощный язык, в состоянии осознать полную картину разницы в мощности между различными языками (видимо, именно это имел в виду Эрик Реймонд, когда говорил о том, что Lisp сделает вас лучше как программиста). Следуя парадоксу Блаба, нельзя доверять мнению других: другие программисты довольны тем языком, который используют, потому что этот язык определяет способ их программистского мышления. Я понял это на собственном опыте, когда учился в старших классах школы и писал программы на Бейсике. Этот язык не поддерживал даже рекурсию. Трудно представить написание программ без рекурсии, но в то время мне это было не нужно. Я думал на Бейсике. Я был спец. Мастер всего, что изучил. Пять языков, которые советует хакерам Эрик Реймонд, находятся в разных точках континуума мощности, и то, где они находятся относительно друг друга, — тонкий вопрос. Я скажу, что Lisp находится на вершине континуума. И чтобы поддержать это утверждение, я скажу о том, чего мне не хватает, когда я смотрю на остальные пять языков. Как же можно что-то сделать с ними, думаю я, без свойства Z? И самое большое Z — это макросы. (VladD2: Рассматривать макросы как отдельное свойство — это немного неправильно. На практике их польза увеличивается такими свойствами Lisp'а, как лексические замыкания и частичная параметризация (rest parameters) – аналогичная возможность в Nemerle назевается «частичное применение (partial application)). Во многих языках есть что-то, называющееся макросом. Но макросы в Lisp'е уникальны (VladD2: на сегодня это так, только если глядеть на другие языки с высоты Lisp-а, но об этом позже). То, что делают макросы, имеет отношение, верите вы или нет, к скобкам. Создатели Lisp'а добавили все эти скобки в язык не для того, чтобы отличаться от других. Скобки в Lisp'е имеют особый смысл, они — внешнее свидетельство фундаментальной разницы между Lisp'ом и другими языками. Программа на Lisp'е состоит из данных. И не в том тривиальном значении, что исходные файлы содержат символы, а строки — один из типов данных, поддерживаемых языком. После прочтения программы парсером Lisp-код состоит из готового к использованию дерева структур данных. Дело не в том, что в Lisp'е странный синтаксис, скорее, его нет вообще. Программы пишутся в синтаксических деревьях, которые в других языках генерируются парсером во время разбора исходного текста. Эти синтаксические деревья в Lisp'е полностью доступны вашим программам, и вы можете писать программы, которые изменяют эти деревья. В Lisp'е подобные программы называются макросами. Это программы, которые пишут программы. Программы, которые пишут программы? И когда же такое может понадобиться? Не очень часто, если вы думаете на Cobol'е. И постоянно, если вы думаете на Lisp'е. Было бы удобно, если бы я дал пример мощного макроса и сказал бы: "Вот! Смотрите!". Но если бы я и привел пример, для того, кто не знает Lisp, он выглядел бы как белиберда. Рамки данной статьи не позволяют изложить все необходимое для понимания подобного примера. В книге Ansi Common Lisp я старался излагать материал как можно быстрее, но даже так я не добрался до макросов раньше страницы 160. Однако мне кажется, что я могу дать убедительный аргумент. Исходный текст редактора Viaweb на 20-25 процентов состоял из макросов. Макросы сложнее писать, чем обычные функции Lisp'а, и считается дурным тоном использовать их там, где можно без них обойтись. Поэтому каждый макрос в той программе был необходим. Это значит, что примерно 20-25 процентов кода в программе делают то, что нельзя просто сделать на других языках. Как бы скептически ни относился Блаб-программист к моим заявлениям о таинственной мощи Lisp'а, это должно его заинтересовать. Мы не писали этот код для своего собственного развлечения. Мы были маленькой компанией, и программировали так, как только могли, чтобы возвести технологический барьер между нами и нашими конкурентами. Пытливый читатель может задаться вопросом, а нет ли здесь взаимосвязи? Некоторая большая часть кода делала нечто, что очень сложно сделать на других языках. Получившееся в результате программное обеспечение делало то, что программное обеспечение наших соперников делать не могло. Возможно, между этими фактами есть связь. Я советую вам подумать в этом направлении. Возможно, это все не просто старческие бредни. К чему я привел этот фрагмент? Дело в том, что если вы думаете на C# или, скажем, на Delphi, или даже на C++, то без желания понять и некоторых усилий с вашей стороны вы окажетесь в роли того самого Блаб-программиста, смотрящего на более мощный язык и видящего в нем не более чем кучу непонятных заморочек. Грэхем немного лукавит. Реальная жизнь сложнее описанной им модели. Языки программирования невозможно четко расположить на шкале, где нулем является машинный язык, а максимальным значением – «самый-самый» язык программирования. Фактически, есть много языков, которые превосходят другие в том или ином аспекте, и уступают в прочих. Тот же Lisp не безгрешен. Причем достоинства языка зачастую являются причиной его недостатков. Так, расплатой за мощные макросы является совершенно ужасный синтаксис без приоритетов операторов (да и без операторов как таковых), без внятно выделяющиеся синтаксических конструкций и т.п. Причем макросы Lisp-а, ко всему прочему, еще и ограничены в своих возможностях, так как не позволяют при своей работе использовать информацию о типах и иным образом взаимодействовать с компилятором (его в большинстве случаев просто нет). Однако для нас сейчас все это не важно. Для нас важно только то, что для осознания мощности языка нам требуется сломать наши стереотипы мышления и попытаться по-новому взглянуть на, казалось бы, привычные вещи. Вспомните те времена, когда вы изучали что-то действительно новое для вас. Помните напряжение мозга, возникающее в тщетных попытках понять что-то концептуально новое? А помните то чувство удивленного восторга после того, как вы смогли понять это новое? Помните слова: «Боже, как это просто! И чего я не мог тут понять?!»? То же самое происходит, когда мы сталкиваемся с новыми приемами программирования и тем более с новыми парадигмами. И чтобы упростить восприятие нового, лучше всего рассматривать его на примерах. Именно этим мы с вами и займемся в этой статье. Но перед этим давайте рассмотрим список возможностей, присутствующих в Nemerle и (скорее всего) отсутствующих в привычных вам языках. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2011, 00:47 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNну и как тогда сделать так, что-бы если результат первого аргумента - false, второй аргумент не вычислялся? Ды так и сделать: if not A then False else B. Не знаю, но ИМХО это техническое решение, для увел. производительности интерпретатора, а вовсе не особое средство выражения. Хотя не настаиваю ниразу. А вот с этим согласна, двумями руками: "Реальная жизнь сложнее описанной им модели. Языки программирования невозможно четко расположить на шкале, где нулем является машинный язык, а максимальным значением – «самый-самый» язык программирования." Программирование в голове, а не в языке. ЗЫ. А вы, мальчики, оказываеццо романтики. Респект, правда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2011, 00:56 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
ИринаВZyK_BotaNну и как тогда сделать так, что-бы если результат первого аргумента - false, второй аргумент не вычислялся? Ды так и сделать: if not A then False else B. Не знаю, но ИМХО это техническое решение, для увел. производительности интерпретатора, а вовсе не особое средство выражения. Хотя не настаиваю ниразу. А вот с этим согласна, двумями руками: "Реальная жизнь сложнее описанной им модели. Языки программирования невозможно четко расположить на шкале, где нулем является машинный язык, а максимальным значением – «самый-самый» язык программирования." Программирование в голове, а не в языке. ЗЫ. А вы, мальчики, оказываеццо романтики. Респект, правда. напиши код ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2011, 00:57 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
Эту статью про Nemerle я кажется уже где-то читал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2011, 00:57 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNНе знаю, но ИМХО это техническое решение, для увел. производительности интерпретатора, а здесь ты не совсем права: что будут вернет ленивый, а что неленивый "and": (a != 0) and (30/a < 5) при a = 0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2011, 00:58 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNZyK_BotaNНе знаю, но ИМХО это техническое решение, для увел. производительности интерпретатора, а здесь ты не совсем права: но частично права - лисп отличается от си - технически. применяя один и тот же стиль программирования на си и лиспе - даст разный результат. крассивый и элегантный код на лиспе - дающий на выходе эффективный код , если его дословно переносить в си, будет уродлив, нечитаем, и мало эффективным. первое чего не хватает в си - дак это сборщика муссора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2011, 01:01 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNа здесь ты не совсем права: что будут вернет ленивый, а что неленивый "and": (a != 0) and (30/a < 5) при a = 0 Один вернет False, другой ошибку (или "неопределенность", если есть в языке). Кста, во многих системах есть такая опция: полное или неполное вычисление лог. выражений. В Delphi, по умолчанию, неполное. Те. походу как раз "ленивое". Но это ведь частности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2011, 01:04 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
Зик, пример с делением на ноль ничего не раскрывает из океана возможностей Lisp. Это не то. Зачем тебе это надо? Забей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2011, 01:04 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
ИринаВZyK_BotaNа здесь ты не совсем права: что будут вернет ленивый, а что неленивый "and": (a != 0) and (30/a < 5) при a = 0 Один вернет False, другой ошибку (или "неопределенность", если есть в языке). Кста, во многих системах есть такая опция: полное или неполное вычисление лог. выражений. В Delphi, по умолчанию, неполное. Те. походу как раз "ленивое". Но это ведь частности. вот и я о чем. простой ф-ей ты такое не напишешь, а макросом - запросто. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2011, 01:06 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNдословно переносить в си, будет уродлив, нечитаем, и мало эффективным. Ну? И я о том же. А если дословно перевести стихи Киплинга? Или Пушкина на английский? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2011, 01:06 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
maytonЗик, пример с делением на ноль ничего не раскрывает из океана возможностей Lisp. Это не то. Зачем тебе это надо? Забей. тут я с тобой полностью согласен. я лишь хотел показать что фраза: ИринаВДык любой макрос можно сделать функцией. неверна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2011, 01:07 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
ИринаВZyK_BotaNдословно переносить в си, будет уродлив, нечитаем, и мало эффективным. Ну? И я о том же. А если дословно перевести стихи Киплинга? Или Пушкина на английский? ты с статьей про "парадокс блаба" ознакомилась? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2011, 01:09 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNневерна. if not A then False else B Чего тут неверного? ZyK_BotaNты с статьей про "парадокс блаба" ознакомилась? Да. Даж частично поддержала (выше). А частично нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2011, 01:12 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
ИринаВZyK_BotaNневерна. if not A then False else B Чего тут неверного? где здесь ф-я? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2011, 01:16 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
ИринаВZyK_BotaNневерна. if not A then False else B Чего тут неверного? ZyK_BotaNты с статьей про "парадокс блаба" ознакомилась? Да. Даж частично поддержала (выше). А частично нет. значит плохо читала наверное. изложу суть кратко. допустим, ты программировала на делфи и си, а лисп только видела(в программы на нем(не лабы) не погружалась и культуры разработки на нем - не знаешь. у тебя в голове есть некие парадигым и подходы к решению задач, которые ты можешь применить на си и делфи. ты также можешь их применить и при программировании на лиспе а есть некий лиспер, у которого есть некие другие подходы к решению задач, они их успешно применяет программируя на лиспе, но на делфе и на сях он их применить не может. прикол в том, что ты о этих "некик других подходах" - ничего не знаешь, а потому и не согласна с утверждением майтона. понятно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2011, 01:19 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNгде здесь ф-я? function SuperAnd (A,B: Boolean): Boolean; begin if not A then Result:=False else Result:=B; end; ZyK_BotaNу тебя в голове есть некие парадигым и подходы к решению задач, которые ты можешь применить на си и делфи. ты также можешь их применить и при программировании на лиспе ИМХО навряд ли. Даж в SQL другие парадигмы. Ну применить то можно, но не нужно. Я вижу процесс по другому, немного. Есть задача и есть выразительные средства (язык + ран-тайм). Из этого сочетания вытекает алгоритм решения. Те. я за специализацию, многоообразие и гармонию. Тюлень на суше, это грустно. А в воде наоборот. "Пусть цветут все цветы" (с) Мао-Цзе-Дун (вроде он). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2011, 01:34 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
ИринаВZyK_BotaNгде здесь ф-я? function SuperAnd (A,B: Boolean): Boolean; а вот и проблема. было же условие, что ф-я - ленивая. а она у тебя - энергичная. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2011, 01:35 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
ИринаВZyK_BotaNне только набор ф-ий, но и мощный рантайм и развитая система макросов. Дык любой макрос можно сделать функцией. Макросы вычисляются во время компиляции так-то. А Reader-макросы так вообще на этапе чтения программы. покажите мне пример функции на Си, выполнение которой происходит во время компиляции исходника в котором определена эта функция. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2011, 12:48 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaN, думаю еще наглядней будет попросить реализовать функцию if (test, result, alternative), которая ведет себя как тернарный оператор ?: =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2011, 13:20 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
Ультракорокий? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2011, 13:30 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
ИринаВ Код: plaintext 1. 2. 3. 4. теперь, допустим у нас есть: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. догадываешься, какой вывод мы получим? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2011, 13:39 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
mayton, не, С =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2011, 13:41 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
Злые вы. Уйду от вас, к жабистам. Они прикольные ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2011, 16:10 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
k0rvinкоторая k0rvinZyK_BotaN, думаю еще наглядней будет попросить реализовать функцию if (test, result, alternative), которая ведет себя как тернарный оператор ?: =) я с этого и хотел начать )) не знаю почему на лог операции перешел ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2011, 16:10 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
ИринаВЗлые вы. Уйду от вас, к жабистам. Они прикольные )) ты еще пойди на лиспер ру, и скажи что на делфе можешь писать все то, что они на лиспе пишут )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2011, 16:12 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
ИринаВЗлые вы. так точно ИринаВЗлые вы. Уйду от вас, к жабистам. Они прикольные а тут ты ошибаешься. я - жабист )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2011, 16:13 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
жива я=) только лисп все как не подсилу... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2011, 16:53 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
avb1003, мне кажется в Си намного проще, хотя бы отсутсвием всех этих скобочек ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2011, 16:56 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
Настаськажива я=) только лисп все как не подсилу... Моя ты лапа... На чём остановилась? Хотя-бы есть полу-работающий исходнико-преведо-мир? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2011, 17:01 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
Настаськаavb1003, мне кажется в Си намного проще, хотя бы отсутсвием всех этих скобочекА я что, спорю? Для этой "задачи" несомненно проще. Но если Вас учат Lisp-у, то надо ему учиться. Некоторые серьезные люди хвалят (Я не имею ввиду обсуждение в этом топике и периодически возникающие холивары в этом форуме.) Например, автор Gnu mdk называет язык встроенного интерпретатора Guile ("Guile is an interpreter and compiler for the Scheme programming language, a clean and elegant dialect of Lisp") (см. Hacks ) самым замечательным языком программирования (" the most beautiful programming language" ). Но сам эмулятор знаменитой машины MIX (ну или большая его часть) написан им все таки на С. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2011, 20:42 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
avb1003Для этой "задачи" несомненно проще. не, не проще. а на sed проще, да =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2011, 22:49 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
k0rvinavb1003Для этой "задачи" несомненно проще. не, не проще. а на sed проще, да =) че такое sed? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2011, 23:23 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
k0rvinZyK_BotaN, эм... http://en.wikipedia.org/wiki/Sed =) спасибо. я, как сраный вентузятник, ничего не знал об этой утилите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2011, 00:02 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
k0rvinZyK_BotaN, думаю еще наглядней будет попросить реализовать функцию if (test, result, alternative), которая ведет себя как тернарный оператор ?: =) Ну не то чтобы совсем не возможно... Код: plaintext 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. 28. 29. 30. 31. 32. Но да.. Это решение далеко не универсально и лисповое будет много проще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2011, 01:57 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
clihlt, Во... Вот так будет чуть универсальнее Код: plaintext 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. 28. 29. 30. 31. 32. 33. 34. 35. 36. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2011, 02:10 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
clihltk0rvinZyK_BotaN, думаю еще наглядней будет попросить реализовать функцию if (test, result, alternative), которая ведет себя как тернарный оператор ?: =) Ну не то чтобы совсем не возможно... Код: plaintext 1. 2. 3. К.О. намикает, что это не си, а с++. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2011, 04:20 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
clihlt, ну да, можно пихать lambda-thunk'и везде, где нужно задержать вычисления, но, боюсь, много такого кода не попишешь, устанешь разгребать потом =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2011, 08:08 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaN, Ну да не С. Но веть к лиспу никто не придирается, что на нем нельзя обработчики прерываний писать. С он как быб и не позиционируется как язык о-о-очень высокого уровня. Зы. На C можно так :) Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2011, 12:54 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
clihltZyK_BotaN, Ну да не С. Но веть к лиспу никто не придирается, что на нем нельзя обработчики прерываний писать. С он как быб и не позиционируется как язык о-о-очень высокого уровня. Зы. На C можно так :) Код: plaintext 1. ну это и есть макросы. я же спорил с утверждением - "вместо макросов можно использовать ф-и" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2011, 14:40 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
Сlihlt , не лезте. У них религия. ЗЫ. Мальчики, не обижайтесь плзз, на глупую бабу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2011, 18:14 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
ИринаВЗЫ. Мальчики, не обижайтесь плзз, на глупую бабу Во первых не глупая. Т.к. твои сомнения - это уже шаг к просвящению. Это плюсек. Ну а во вторых.... у тебя есть фото c восемью пальчиками? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2011, 18:20 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
maytonфото c восемью пальчиками? Шо, опять?!?!? Я старая, страшная, и очень злая. Гы. А про Настаську то забыли чтоле? Чо у ней, со списками? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2011, 21:53 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
ИринаВmaytonфото c восемью пальчиками? Шо, опять?!?!? Я старая, страшная, и очень злая. Гы. А про Настаську то забыли чтоле? Чо у ней, со списками? Я тоже не Бред Питт. А Наташка пока не ответила. Думаю надо отталкиваться от того что она поняла и что уже сама написала. Коробочные решения ей уже выдали но это всё фуфло пока она сама не поймет и не позадаёт вопросы. Я этого жду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2011, 21:56 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
maytonНаташка Настюшка (!) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2011, 22:00 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
Спалился ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2011, 22:04 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
не получается этот лисп хоть застрелите, эта рекурсия...это вообще печально=(( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2011, 17:09 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
Настаськане получается этот лисп хоть застрелите, эта рекурсия...это вообще печально=((И вообще - осень. "Поздняя осень, грачи улетели ... ". "Природа шепчет: налей и выпей". Давно знаком с мудростью: "если хочешь много знать - ляг, поспи и все пройдет", но только сейчас узнал, что ее приписывают академику Колмогорову (см. Музыкальные анекдоты ). Еще понравилась формулировка: "На сердце дикая тоска, а не выпить ли винца?!" Но, "не берите в голову - кладите в карман" - т.е. пишите конкретно, что "не получается", и, может быть, все образуется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2011, 21:42 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
У меня вот английский выучить не получается. Ландан из э кэпитал оф грейт бритн бл... На сэрцэ такая тоска.... Пойду тоже налью винца. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2011, 21:48 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
maytonУ меня вот английский выучить не получается. Ландан из э кэпитал оф грейт бритн бл... На сэрцэ такая тоска.... Пойду тоже налью винца. та же фигня (( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2011, 21:50 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
Гы. Мне б проблемы ваши. У мну запятые не получаеццо ставить, куда надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2011, 12:37 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
А я; до; сих; пор; не; знаю; где; надо; точку; с; запятой; вставлять. Когда в школе был диктант с этой хренью - старался понаставить как-можно больше этих знаков за что меня потом били. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2011, 13:09 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
mayton, мне бы ваши проблемы=) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2011, 21:07 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
Охти... беда Ну ты хоть чего-нить поняла в Лиспе. Или вообще нет? Есть хоть полу-работающий пример который ты поняла? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2011, 22:21 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
ИринаВГы. Мне б проблемы ваши. У мну запятые не получаеццо ставить, куда надо. Настаськаmayton, мне бы ваши проблемы=) как сговорились ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2011, 23:15 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNкак сговорились ))) Настаська, скажите: что именно Вы не понимаете? Если синтаксис языка, и/или набор функций, то Вам ИМХО никто не поможет. А если конкр. Ваше задание, и рекурсию в нем, то это, на самделе, оч просто. Смотрите, как напр. можно сделать. Допустим у нас есть 3 функции (ИМХО в Lisp'е они быть обязаны): 1. ЛевыйСимволИзАтома (ВходАтом)->Символ 2. УбратьЛевыйСимволИзАтома (ВходАтом)->Атом 3. СклеитьДваАтома (ВходАтом1, ВходАтом2)->Атом Дописываем 4-ю функцию: ОбработкаСимвола (Символ)->Атом здесь результат: либо атом из ед. входного смвола, либо из неск. цифр (номер в алфавите) Теперь пишем рекурсивную ф-цию ОбработкаАтома (ВходАтом)->Атом прим. так: Код: plaintext 1. 2. И аналогично, со списками: 1. ЛевыйАтомИзСписка (ВходСписок)->Атом 2. УбратьЛевыйАтомИзСписка (ВходСписок)->Список 3. СклеитьДваСписка (ВходСписок1, ВходСписок2)->Список Осталось дописать рекурсивную функцию, по образу/подобию ОбработкиАтома ОбработкаСписка (ВходСписок)->Список Ну и мальчики, подскажут : как ЭТО пишется в Lisp'е, самом мощном языке в мире. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2011, 12:16 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
ИринаВНу и мальчики, подскажут : как ЭТО пишется в Lisp'е, самом мощном языке в мире. )))))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2011, 12:56 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNИринаВНу и мальчики, подскажут : как ЭТО пишется в Lisp'е, самом мощном языке в мире. )))))) Баланс скобок нарушен :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2011, 14:26 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
Пыталась чтото таки сама сделать...вот что получилось, но не работает где ошибка не пойму и чего не хватает Код: plaintext 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. 28. 29. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2011, 22:55 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
Настаська , крутые лисписты слились, а я Lisp не знаю, совсем. Вы пробовали сами выполнить программу, типо как по нотам. Заготовте исх. список и пройдитесь, промж. результаты пишите на бумаге, так: "Вызов ф-ции ХХХХ. Вх. параметр =...., результат ....". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2011, 18:59 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
Настаська, Не хватает закрывающихся скобок. И ошибка в том что пытаетесь интерпритировать строку как список и строку как один символ. Корвин жеж давал вроде пример работающий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2011, 20:48 |
|
||
|
Помогите написать прогу на Lisp
|
|||
|---|---|---|---|
|
#18+
clihlt, я так поняла что надо сначала разбить строку на символы,а потом пройтись по каждому из символов и склеить обратно в строку? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2011, 22:26 |
|
||
|
|

start [/forum/topic.php?all=1&fid=16&tid=1342612]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
191ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
132ms |
get tp. blocked users: |
1ms |
| others: | 215ms |
| total: | 573ms |

| 0 / 0 |
