diff options
Diffstat (limited to 'prolog/problems/family_relations/ancestor_2/sl.py')
-rw-r--r-- | prolog/problems/family_relations/ancestor_2/sl.py | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/prolog/problems/family_relations/ancestor_2/sl.py b/prolog/problems/family_relations/ancestor_2/sl.py new file mode 100644 index 0000000..76c2bea --- /dev/null +++ b/prolog/problems/family_relations/ancestor_2/sl.py @@ -0,0 +1,62 @@ +# coding=utf-8 + +id = 100 +name = 'ancestor/2' +slug = 'X je prednik od Y' + +description = '''\ +<p><code>ancestor(X, Y)</code>: <code>X</code> je prednik (oče, mama, dedek, ...) od <code>Y</code>.</p> +<pre> + ?- ancestor(patricia, X). + X = john ; + X = michael ; + X = michelle. +</pre>''' + +plan = ['''\ +<p>Sedaj pa bo potrebna rekurzija... kako lahko problem prevedem na (en korak) manjši problem?</p> +<p><img src="Ancestor-3.png" /></p> +<p>Loni naj zbriše imena relacij (parent, ancestor) s te slike!</p> +''', '''\ +<p><img src="Ancestor-3.png" /></p> +''', '''\ +<p>Če je <code>X</code> starš od nekega <code>Z</code> in je +ta <code>Z</code> prednik od <code>Y</code>, +potem je <code>X</code> tudi prednik od <code>Y</code>.</p> +'''] + +hint = { + 'gender_is_irrelevant': '''\ +<p>Je spol res pomemben?</p> +''', + + 'grandparent_used': '''\ +<p>Rešitev z "grandparent" bo premalo splošna, poskusi nadomestiti to z rekurzijo. +Skratka, poskusi prevesti na "manjši" problem, npr. prednik v enem koraku manj +(en korak bližji prednik)...</p> +''', + + 'base_case': '''\ +<p>Si pomislil na robni pogoj? Kaj je najbolj enostaven par (prednik, potomec)?</p> +<p><img src="Ancestor-1.png" /></p> +''', + + 'ancestor_to_oneself': '''\ +<p>Kako je lahko nekdo prednik samemu sebi?</p> +''', + + 'descendant_need_not_be_parent': '''\ +<p>Potomec <code>Y</code> pravzaprav ne rabi imeti otrok...</p> +''', + + 'wrong_direction': '''\ +<p>Si morda sprogramiral ravno obratno in zamenjal prednika s potomcem? +<code>X</code> naj bo prednik od <code>Y</code> in ne obratno!</p> +''', + +# 'interesting_tidbit': '''\ +# <p>Zanimivost: nalogo bi lahko rešil tudi z uporabo rešitve za relacijo "sister". +# Teta je namreč sestra od starša od <code>Y</code>.</p> +# ''', +} + |