Code Comments
Programming Forum and web based access to our favorite programming groups.please make the following prolog program i hav try .but require result not come my predicatelike this plz find out mistake from it. listtran([],[]). listtran([Ha/Ta],[Hb/Tb]):-tran(Ha,Hb),listtran(Ta,Tb). the given question is this: Suppose we are given a knowledge base with the following facts: tran(eins,one). tran(zwei,two). tran(drei,three). tran(vier,four). tran(fuenf,five). tran(sechs,six). tran(sieben,seven). tran(acht,eight). tran(neun,nine). Write a predicate listtran(G,E) which translates a list of German number words to the corresponding list of English number words. For example: listtran([eins,neun,zwei],X). should give: X = [one,nine,two]. Your program should also work in the other direction. For example, if you give it the query listtran(X,[one,seven,six,two]). it should return: X = [eins,sieben,sechs,zwei]. Hint: to answer this question, first ask yourself 'How do I translate the empty list of number words?'. That's the base case. For non-empty lists, first translate the head of the list, then use recursion to translate the tail.
Post Follow-up to this messagenaznadi@gmail.com wrote: > please make the following prolog program > > i hav try .but require result not come > my predicatelike this > plz find out mistake from it. > > > > > listtran([],[]). > listtran([Ha/Ta],[Hb/Tb]):-tran(Ha,Hb),listtran(Ta,Tb). > > the given question is this: > [...] you have a syntax error when constructing lists. just use the pipe symbol | instead of slash / . if you google for "prolog lists" you will find eg. http://www.csupomona.edu/~jrfisher/...torial/2_7.html where the list syntax is described in more detail. hth Martin
Post Follow-up to this messagePowered by vBulletin
Copyright 2000-2006 Jelsoft Enterprises Limited.