summaryrefslogtreecommitdiff
path: root/prolog/problems/family_relations/descendant_2
diff options
context:
space:
mode:
Diffstat (limited to 'prolog/problems/family_relations/descendant_2')
-rw-r--r--prolog/problems/family_relations/descendant_2/common.py14
-rw-r--r--prolog/problems/family_relations/descendant_2/sl.py8
2 files changed, 11 insertions, 11 deletions
diff --git a/prolog/problems/family_relations/descendant_2/common.py b/prolog/problems/family_relations/descendant_2/common.py
index 70936da..b4d8f31 100644
--- a/prolog/problems/family_relations/descendant_2/common.py
+++ b/prolog/problems/family_relations/descendant_2/common.py
@@ -88,6 +88,13 @@ def hint(code, aux_code):
return [{'id': 'grandparent_used_markup', 'start': m[0], 'end': m[1]} for m in marks] + \
[{'id': 'grandparent_used'}]
+ # ancestor instead of descendant (wrong direction)
+ # warning: knowledge base dependent
+ if prolog.engine.ask_truthTO(engine_id,
+ 'findall(_, descendant(william, X), L1), length(L1, 6), \
+ findall(_, descendant(X, william), L2), length(L2, 2)'):
+ return [{'id': 'wrong_direction'}]
+
# missing/failed base case
if prolog.engine.ask_truthTO(engine_id,
'parent(Y, X), \+ descendant(X, Y)'):
@@ -100,13 +107,6 @@ def hint(code, aux_code):
else:
return [{'id': 'descendant_of_oneself'}]
- # ancestor instead of descendant (wrong direction)
- # warning: knowledge base dependent
- if prolog.engine.ask_truthTO(engine_id,
- 'findall(_, descendant(william, X), L1), length(L1, 6), \
- findall(_, descendant(X, william), L2), length(L2, 2)'):
- return [{'id': 'wrong_direction'}]
-
# X does not necessarily need to be a parent
if prolog.engine.ask_one(engine_id,
'descendant(X, _), \+ parent(X, _)') == 'false':
diff --git a/prolog/problems/family_relations/descendant_2/sl.py b/prolog/problems/family_relations/descendant_2/sl.py
index 2b638fd..9f1d818 100644
--- a/prolog/problems/family_relations/descendant_2/sl.py
+++ b/prolog/problems/family_relations/descendant_2/sl.py
@@ -54,13 +54,13 @@ Kaj je najbolj enostaven par (potomec, prednik)?</p>
''', # TODO: morda ta hint naredim z "more": najprej tekst, ob kliku pa še slika... (sicer je preveč očitno)
'descendant_of_oneself': '''\
-<p>Kako je lahko nekdo potomec samega sebe? Premisli, morda se ti splača tudi grafično skicirati
-tvojo trenutno rešitev.</p>
+<p>Kako je lahko nekdo potomec samega sebe? Iz trenutne verzije rešitve se da izpeljati tudi to.
+Premisli, morda se ti splača tudi grafično skicirati tvojo trenutno rešitev.</p>
''',
'descendant_of_oneself_with_or': '''\
-<p>Kako je lahko nekdo potomec samega sebe? Premisli, morda se ti splača tudi grafično skicirati
-tvojo trenutno rešitev.</p>
+<p>Kako je lahko nekdo potomec samega sebe? Iz trenutne verzije rešitve se da izpeljati tudi to.
+Premisli, morda se ti splača tudi grafično skicirati tvojo trenutno rešitev.</p>
<p>Morda se ti splača preveriti tudi uporabo podpičja. To praktično naredi dva ločena stavka oz. veji
(eno ali drugo velja, morda tudi oboje). Vendar pazi, ker sta ti dve veji med seboj neodvisni
-- vrednosti iz ene se ne prenašajo v drugo vejo.</p>