summaryrefslogtreecommitdiff
path: root/prolog/problems/family_relations/sister_2/sl.py
blob: 5fa9d1cdd7b8df2a85cd141e1c9ab4555d6add75 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# coding=utf-8

name = 'sister/2'
slug = 'X je sestra od Y'

description = '''\
<p><code>sister(?X, ?Y)</code>: <code>X</code> je (pol)sestra od <code>Y</code>. Primer:</p>
<pre>
?- sister(vanessa, Y).
  Y = patricia.
</pre>
<p><a target="_blank" href="[%@resource famrel.svg%]">Družinska drevesa</a> so
podana s predikati <code>parent/2</code>, <code>male/1</code> in
<code>female/1</code>.</p>
'''

plan = [
    '''\
<p><img src="[%@resource Prolog_sister_01.svg%]" alt="Sestra je ženskega spola in ima skupnega starša z Y." /></p>''',
    '''\
<p>Če je <code>X</code> ženska in če imata <code>X</code> in <code>Y</code> skupnega starša,
potem je <code>X</code> sestra od <code>Y</code>.</p>''',
    '''\
<p><img src="[%@resource Prolog_sister_02.svg%]" alt="Sestra X je ženskega spola in ima vsaj enega skupnega starša z Y." /></p>''',
]

hint = {
    'x_y_must_be_different': [{'message': '''\
<p><img src="[%@resource Prolog_sister_04.svg%]" /></p>
<p>Si pomislil, da sta <code>X</code> in <code>Y</code> lahko ista oseba? Poskusi naslednjo poizvedbo:</p>
<pre>
?- sister(sally, Y).
</pre>''', 'linkText': 'Kako lahko preverim, da sta <code>X</code> in <code>Y</code> različna?'},
'''\
<p>S pomočjo operatorja <code>\==</code> lahko preverim, da sta <code>X</code> in <code>Y</code> med seboj različna.
Na primer: <code>X \== Y</code></p>
'''],

    'x_must_be_female': '''\
<p><img src="[%@resource Prolog_sister_03.svg%]" /></p>
<p>Sestra je navadno ženskega spola.</p>
''',

    'y_can_be_of_any_gender': '''\
<p><code>Y</code> je pravzaprav lahko poljubnega spola.</p>
''',

    'nm_instead_of_neq': '''\
<p>Uporabi raje operator \== namesto operatorja \=. Prvi preveri, da dva objekta nista enaka,
drugi pa ju poskusi unificirati (narediti enaka).</p>
''',

    'common_parent_needed': '''\
<p><img src="[%@resource Prolog_sister_05.svg%]" /></p>
<p>Dobro bi bilo, da imata <code>X</code> in <code>Y</code> vsaj enega skupnega starša.</p>
''',

    'neq_used_too_early': '''\
<p>Si morda uporabil operator <code>\==</code> prezgodaj?</p>
<p>Poskusi ga pomakniti bolj proti koncu. Razlog za probleme je verjetno,
da spremenljivki, ki ju primerjaš, še nimata določene vrednosti in sta zato različni.
Prolog ne preverja, če kasneje morda postaneta enaki, ampak samo kakšni sta v trenutku,
ko naleti na primerjavo.</p>
<p>Morda pa preprosto preverjaš napačni spremenljivki?</p>
''',

}