Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.225.255.134] |
|
Страницы: (3) 1 [2] 3 все ( Перейти к последнему сообщению ) |
Сообщ.
#16
,
|
|
|
Быстро ты однако!!! (за пивом... )
Но пока не получается - он говорит "syntax error". Там должен как-то фигурировать функтор select(X,L,L1) где L соответственно список из которого мы выбираем значения для буковок (во всяком лучае по подсказкам нашей SWM) Но в любом случае здорово!!! Идея понятна, будем над ней работать дальше. Глядишь чего-нибудь получится Спасибо |
Сообщ.
#17
,
|
|
|
Пиво то рядом - в холодильнике . А с ПРОЛОГОМ извини чем смог, тем помог. Многое в ПРОЛОГЕ зависит от интерпретатора, а у меня есть только своеобразный эмулятор. ;D ;D ;D Правда видать совсем корявый, если у тебя ругается (у меня не сказал ничего, правда уже битую минуту решает данную задачку). А про инициализацию списков, извини помочь не смогу (давно это было). :
|
Сообщ.
#18
,
|
|
|
Ну вот :)
Ругаться перестал (я там запятую дописала - только это я и умею ). НО все равно все буковки у него равны нулю, видите ли!!! Да-а-а! И Холодильника с пивом у меня тоже нет. ТОлько автоматы с колой, до которых бежать несколько этажей |
Сообщ.
#19
,
|
|
|
Это оказалось намного сложнее чем я думал. :-/
Надо еще подумать. Постараюсь до завтра, что - нибудь придумать. ;D ;D ;D |
Сообщ.
#20
,
|
|
|
Спасибо!
|
Сообщ.
#21
,
|
|
|
??? A ya vot kakuu programku nashla (eto opyat' pro rebus). Obna pravda vse ravno pochemu-to ne rabotaet. Hotya ya ee i tak i syak menyala. Mozet kto-nibud' znaet chto s nei takoe?
Vopros programme zadaetsya sleduushii: sdmm([0,S,E,N,D],[0,M,O,R,E],[M,O,N,E,Y]) A ona na eto vydaet, chto vse peremennye ravny nulu. Kazetsya chto chto-to ne tak c funktorom "summe" (v pervom opredelenii) Pomogite kto-nibud'!!!!!!!!!!! :-[ sdmm(L1,L2,L):- sdmm1(L1,L2,L,0,0,[0,1,2,3,4,5,6,7,8,9],_). sdmm1([],[],[],0,0,D,D). sdmm1([X1|L1],[X2|L2],[X|L],Y1,Y,D1,D):- sdmm1(L1,L2,L,Y1,Y2,D1,D2), summe(X1,X2,Y2,X,Y,D2,D). summe(0,0,Y1,Y1,0,D,D). summe(X1,X2,Y1,X,Y,D1,D):- select(X1,D1,D2), select(X2,D2,D3), select(X,D3,D), S is X1 + X2 + Y1, X is S mod 10, Y is S div 10. |
Сообщ.
#22
,
|
|
|
Не понятно почему используется такое определение
sdmm1(L1,L2,L,0,0,[0,1,2,3,4,5,6,7,8,9],_). И что вообще делает эта программа. Сидел разбирался, но тоько одни баги кругом. ;D ;D ;D Кстати, что за ПРОЛОГ вы используете : |
Сообщ.
#23
,
|
|
|
Это програмка из книжки И.Братко.
sdmm1(L1,L2,L,0,0,[0,1,2,3,4,5,6,7,8,9],_). Первые три переменные - это списки [0,S,E,N,D],[0,M,O,R,E],[M,O,N,E,Y] ну или другие, в зависимости от ребуса. Следующие две переменные это перенос, т.е. остаток от сложения, переносимый на следующий столбик (то что "в уме" Ну и последние две переменных - списки чисел из которых мы берем значения для наших буковок. Первый - до выбора одного из чисел, второй - после (т.к. числа не должны повторяться, мы удаляем уже использованное число из списка) А функция summe по идее должна проводить сложение по столбикам. Но она что-то не хочет этого делать... Почему, никак не могу понять ... А вообще мы используем SWI-Prolog 5.0.6 в Minimal Internet Programming Environment (MVC). Если честно, я другим ничем никогда не пользовалась. И вообще я эти делом только 2 месяц занимаюсь... :-/ По-этому видимо так всё со скрипом... Натали :) |
Сообщ.
#24
,
|
|
|
Ура!!!!! Достал я ваш ПРОЛОГ. Сейчас что-нибудь придумаем. ;D ;D ;D
|
Сообщ.
#25
,
|
|
|
Ну и как он, наш Пролог? ;)
|
Сообщ.
#26
,
|
|
|
Хотелось бы хуже, да некуда!!! И зачем вас такой бодяге учат. ;D ;D ;D
|
Сообщ.
#27
,
|
|
|
Меня вот тоже всё чаще стал мучить этот вопрос!
|
Сообщ.
#28
,
|
|
|
Завтра скину на форум нормальное решение. ;D ;D ;D Уже проверил вроде работает нормально, только некоторые проблемы возникают
|
Сообщ.
#29
,
|
|
|
посмотрел я свои запасы было время нас тоже мучали Прологом.
Списки,деревья, факториалы есть ,а вот фибоначи нету. Жаль ну если нужны Списки,деревья, факториалы - Могу выложить. |
Сообщ.
#30
,
|
|
|
Попробуй так:
Fibonacci V1: fibo_bu(N,F):-fibo_bu1(0,0,1,N,F). fibo_bu1(N,F,_,N,F) fibo_bu1(N1,F1,F2,N,F):- N1<N, N2 is N1+1, F3 is F1+F2, fibo_bu1(N2,F2,F3,N,F). Fibonacci V2: fibo_td(0,0). fibo_td(1,1) fibo_td(N,F):- N>1, N1 is N-1, N2 is N-2, fibo_td(N1,F1), fibo_td(N2,F2), F is F1+F2. Аккерман: ack(0,N,Val) :- Val is N + 1. ack(M,0,Val) :- M > 0, M1 is M-1, ack(M1,1,Val). ack(M,N,Val) :- M > 0, N > 0, M1 is M-1, N1 is N-1, ack(M,N1,Val1), ack(M1,Val1,Val). Пролог рулит Правда интерпретатор свой я похерил, так что сам не проверял уж извиняйте... |