From e22d05a916d50896ea6d8b52b3a3ac9596e8f12b Mon Sep 17 00:00:00 2001 From: Aleksander Sadikov Date: Wed, 9 Mar 2016 01:00:44 +0100 Subject: Hints for memb/2 added. --- prolog/problems/lists/memb_2/common.py | 2 +- prolog/problems/lists/memb_2/sl.py | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) (limited to 'prolog/problems/lists/memb_2') diff --git a/prolog/problems/lists/memb_2/common.py b/prolog/problems/lists/memb_2/common.py index 86acbf7..4f2a251 100644 --- a/prolog/problems/lists/memb_2/common.py +++ b/prolog/problems/lists/memb_2/common.py @@ -73,7 +73,7 @@ def hint(code, aux_code): # target predicate seems to always be false - if not prolog.engine.ask_truthTO(engine_id, 'memb(_, _)'): + if not prolog.engine.ask_truth(engine_id, 'memb(_, _)'): return [{'id': 'predicate_always_false'}] # missing/failed base case diff --git a/prolog/problems/lists/memb_2/sl.py b/prolog/problems/lists/memb_2/sl.py index 2c4c345..5b44521 100644 --- a/prolog/problems/lists/memb_2/sl.py +++ b/prolog/problems/lists/memb_2/sl.py @@ -56,12 +56,14 @@ da je X hkrati starš in sestra od Y ali kaj podobnega ''', 'final_hint': '''\ -

Predikat member/2 se da uporabljati še za marsikaj drugega kot samo za preverjanje, če je +

Predikat memb/2 se da uporabljati še za marsikaj drugega kot samo za preverjanje, če je nek element v seznamu! Pravzaprav ga bomo večinoma uporabljali v "obratni" smeri kot "vrni mi nek element -X, ki je v seznamu L. V bistvu si spisal generator elementov iz seznama."

+X, ki je v seznamu L". V bistvu si spisal generator elementov iz seznama.

Poskusi prolog vprašati tole:

?- memb(Coin, [1,2,5,10,20,50,100,200]).

ali pa tole:

?- memb(Operator, [+, -, *, /]).

+

Znaš prolog vprašati s katerimi tremi kovanci dobim skupno vsoto 30 centov? Operator +=:= pomeni aritmetično primerjanje. Koliko rešitev je? ;)

''', } -- cgit v1.2.1