0 / 0 / 0
Регистрация: 27.01.2014
Сообщений: 4
|
|
1 | |
Преобразование структуры списков27.01.2014, 15:42. Показов 990. Ответов 11
Метки нет (Все метки)
Прошу помощи. Учусь в университете. Появился новый предмет по программированию на Лиспе. Так как заочник мне никто ничего не объяснял. Дали задание и книжку. Сижу мучаю, не могу сделать даже первую лабу.(((
Если не тяжело, возможно кто- то растолкует пару вопросов 1 ) Чем отличается запись (A B) от (A . B)? или ((A B).(C D)) от ((A B)(C D)) 2) Помогите сделать задание. Цель работы: ознакомление со структурой списков, получения практических навыков по преобразованию и конструирования списков Задача: написать L-выражение для преобразования списка (a b c d e), который состоит из пяти элементов, к виду: ((a . b) c (d . e)) Заранее спасибо
0
|
27.01.2014, 15:42 | |
Ответы с готовыми решениями:
11
Преобразование списков Рекурсивное преобразование списков Рекурсивное преобразование списков Рекурсивное преобразование списков |
2304 / 1063 / 77
Регистрация: 12.03.2013
Сообщений: 4,987
|
|||||||||||
27.01.2014, 17:11 | 2 | ||||||||||
Сообщение было отмечено как решение
Решение
Добавлено через 3 минуты
4
|
Модератор
|
|
27.01.2014, 17:17 | 3 |
Сообщение было отмечено как решение
Решение
Списки в Лиспе строятся из "кирпичиков" двух видов: информационных ячеек атомов и списочных ячеек. Списочная ячейка состоит из двух указателей. Указатели могут хранить адреса других списочных ячеек или инф. ячеек атомов. На картинке показано строение всех объектов задачи 1. Прямоугольники - списочные ячейки. Перечеркивание соответствует нулевому указателю (или, что то же самое - Nil).
3
|
0 / 0 / 0
Регистрация: 27.01.2014
Сообщений: 4
|
||||||
27.01.2014, 17:33 [ТС] | 5 | |||||
Спасибо за быстрый ответ. Сорри "L" Это Лямбда. Забыл написать, задачу нужно решить только с помощь. Cons Car Cdr (Cadr caddr итд)
Добавлено через 4 минуты Вот пример который давался в лабе (коменты на Украинском):
0
|
Модератор
|
||||||
27.01.2014, 17:43 | 6 | |||||
Сообщение было отмечено как решение
Решение
Вот:
3
|
0 / 0 / 0
Регистрация: 27.01.2014
Сообщений: 4
|
|
27.01.2014, 17:50 [ТС] | 7 |
И еще вопрос: В чем лучше писать код? Так чтоб удобней новичку было.
Добавлено через 3 минуты Спасибо огромное Catstail. Вы действительно мне очень помогли, ситуация начинает проясняться. )))
0
|
Модератор
|
|
27.01.2014, 18:06 | 8 |
- есть много дружественных сред для работы с Лиспом. Я рекомендую LispWorks. Есть интересная вещь Emacs, но я с ней не знаком. Могу также (для Win) порекомендовать HomeLisp (простенький и изначально русским интерфейсом).
0
|
493 / 426 / 56
Регистрация: 29.04.2011
Сообщений: 443
|
||||||
27.01.2014, 18:08 | 9 | |||||
то же самое, только функцией:
2
|
0 / 0 / 0
Регистрация: 27.01.2014
Сообщений: 4
|
|
27.01.2014, 18:51 [ТС] | 11 |
Про связи понял, долго не мог понять что куда, уже объяснили, стало понятней ))
Да что ж секретничать - НУК (Николаевский университет кораблестроения, Украина). Не объясняли, так как заочник, на вводные лекции должны приходить в будний день, а я собсно работаю в это время. )) Добавлено через 1 минуту Всем спасибо за помощь, первую лабу сделал, осталось еще 5 )))))) Добавлено через 11 минут Ошибся в названии Национальный университет кораблестроения http://www.nuos.edu.ua/ (Почему то всегда думал что Николаевский, а оказывается вот что оно)
0
|
27.01.2014, 19:10 | 12 |
0
|
27.01.2014, 19:10 | |
27.01.2014, 19:10 | |
Помогаю со студенческими работами здесь
12
Преобразование списков Преобразование списка списков Преобразование (сжатие) списков в SWI Prolog Преобразование данных из txt в список списков Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |