![]() |
Модераторы: Poseidon |
![]() ![]() ![]() |
|
ERMAKXOY |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 17.6.2010 Репутация: нет Всего: нет |
есть задачв подсчитать сумму элементов списка
сумма элементов списка, цель - sum_list([4,6,8,10]),x) domains list=i* i=integer predicates sum_list(list,i) goal write("‘список [4,6,8,10]"),nl, sum_list([4,6,8,10],X), write("‘сумма элементов списка = ",X). clauses sum_list([],0). /cсумма нулевого списка равна 0/ sum_list([H|T],Sum):- sum_list(T,Sum1), Sum=H+Sum1. /к сумме элементов хвоста sum добавляется первый элемент H списка/ нужно ответить на вопрос - что делает пролог:? описание каждого шага, или же просто скажите как работают 3 последних строчки можно по несколько вариантов, ОЧЕНЬ НАДО!!!!!!!!!!!! СПАСИБО ЗА УДЕЛЕННОЕ ВРЕМЯ!!!!! Это сообщение отредактировал(а) ERMAKXOY - 17.6.2010, 19:45 |
|||
|
||||
Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 6 Всего: 173 |
Для домашних заданий, курсовых, существует "Центр Помощи".
Тема перенесена! -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
ИванМ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1260 Регистрация: 19.6.2006 Где: СПб Репутация: 13 Всего: 23 |
Здесь список в первом параметре разбивается на голову и хвост рекурсивно вызывается этот же предикат, но в первый параметр передается уже список без головы, т.е. без первого элемента. В переменную sum1 после выполнения предиката передается сосчитанное значение Переменная Sum становится равной полученному значению Sum1 + значение первого элемента входящего списка, т.е. головы И в результате в переменную Sum передается нужное значение. Так происходит до тех пор, пока список не станет пустым. Добавлено через 1 минуту и 2 секунды ERMAKXOY, чтобы понять как работает пролог, советую на бумажке расписать все действия и результаты по шагам, тогда все станет ясно. Это сообщение отредактировал(а) ИванМ - 17.6.2010, 23:02 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Центр помощи" | |
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Центр помощи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |