scampno2 at October 28th, 2005 07:34 — #1
I am really struggling with finding the solutions to the following prolog questions....any help would be greatly appreciated:
1)street_address/2 takes the full name of an individual (arguments 1&2) and prints their street address to the screen. The rule should output a suitable message if the specified user does not exist...
i can get the first bit ok, but unsure of how to output the messgae if the user doesnt exist. the output is supposed to be similar to below:
22 york street
No such person
2) neighbours/4 finds a pair of names (arg 1&2) and the addresses (arg 3&4) of any individuals who live next door to one another (i.e. live on same street and their house numbers differ exactly by 2).... i can get the first bit again but have no idea how to compare the addresses to get something similar to the following output..
N1 = name(brown,jack)
N2 = name(black,jack)
S1 = street(9,castlerock,road)
S2 = street(11,castlerock,road)
dave_ at October 28th, 2005 11:38 — #2
Ask your teacher! I dont think you're supposed to be posting homework questions here
scampno2 at November 2nd, 2005 06:36 — #3
Thanks for that but unfortunately it is a self taught module.... any pointers in the right direction would be greatly appreciated.
ed_mack at November 2nd, 2005 09:55 — #4
This is of course not proper syntax - there are so many implimentations, that's your problem
For the first one, you could create a street_address rule at the end, to catch unfound references:
print "Not found"
For the neighbours bit:
neighbours (N1, N2, S1, S2)
S1 = street (N, R1, R2)
S2 = street (N+2, R1, R2)
Your syntax is really different from mine, so getting the names bit is for you to do as I'm unsure what I can and cannot do.