summaryrefslogtreecommitdiff
path: root/prolog/problems
diff options
context:
space:
mode:
authorAleksander Sadikov <aleksander.sadikov@fri.uni-lj.si>2016-03-30 18:26:19 +0200
committerAleksander Sadikov <aleksander.sadikov@fri.uni-lj.si>2016-03-30 18:26:19 +0200
commit15f86bdee80340c414c07b300fea4f513ae04588 (patch)
tree892e8704359a380105f85bc1df92e727ffae3cc9 /prolog/problems
parent6e5ac99f5503a2c45b7c546f88b527a92bba1034 (diff)
Hints and plans for isort/2 added.
Diffstat (limited to 'prolog/problems')
-rw-r--r--prolog/problems/sorting/is_sorted_1/sl.py4
-rw-r--r--prolog/problems/sorting/isort_2/sl.py21
-rw-r--r--prolog/problems/sorting/quick_sort_2/sl.py2
3 files changed, 19 insertions, 8 deletions
diff --git a/prolog/problems/sorting/is_sorted_1/sl.py b/prolog/problems/sorting/is_sorted_1/sl.py
index 7362655..5db9a71 100644
--- a/prolog/problems/sorting/is_sorted_1/sl.py
+++ b/prolog/problems/sorting/is_sorted_1/sl.py
@@ -85,7 +85,7 @@ Ampak žal to ne gre! Od spodnjih dveh primerov eden deluje pravilno in eden ne,
''',
'min_used': '''\
-<p>Poskusi rešiti brez uporabe predikata <code>min/2</code>, s časovno zahtevnostjo O(n). Z uporabo
-<code>min/2</code> je le-ta tipično O(n*n).</p>
+<p>Poskusi rešiti nalogo brez uporabe predikata <code>min/2</code>. Tvoja rešitev naj ima časovno zahtevnost O(n).
+Z uporabo <code>min/2</code> je le-ta tipično O(n*n).</p>
''',
}
diff --git a/prolog/problems/sorting/isort_2/sl.py b/prolog/problems/sorting/isort_2/sl.py
index acd3276..0005951 100644
--- a/prolog/problems/sorting/isort_2/sl.py
+++ b/prolog/problems/sorting/isort_2/sl.py
@@ -10,6 +10,18 @@ description = '''\
L = [1,2,3,4,5].
</pre>'''
+plan = ['''\
+<p>Ob sprehodu po seznamu (pravzaprav ob vračanju) vsakič vstavi trenutni element na pravo mesto.</p>
+''', '''\
+<p>Ko greš po seznamu na vsakem koraku vzameš stran glavo (le-ta gre na sklad), rep pa gre v rekurzijo
+(problem/seznam je nekoliko krajši in je to možno). Rekurzija ti vrne urejen rep, vse kar moraš narediti ti je,
+da na pravo mesto vstaviš prej odvzeto glavo. Seveda za vstavljanje izkoristiš rešitev kakšne prejšnje naloge.</p>
+''', '''\
+<p>Če je seznam <code>L</code> sestavljen iz glave <code>H</code> in repa <code>T</code> in če predpostavimo,
+da rep <code>T</code> rekurzija pravilno uredi v <code>SortedTail</code> in če v urejen rep <code>SortedTail</code>
+na ustrezno mesto vstavimo glavo <code>H</code>, potem smo dobili urejen celoten seznam <code>L</code>.</p>
+''']
+
hint = {
'eq_instead_of_equ': '''\
<p>Operator <code>==</code> je strožji od operatorja <code>=</code> v smislu, da je za slednjega dovolj,
@@ -23,8 +35,7 @@ implicitno že kar v argumentih predikata (glavi stavka).</p>
''',
'base_case': '''\
-<p>Si pomislil na robni pogoj? Kaj je najbolj enostaven primer, ko je element v seznamu?
-Do katerega elementa najlažje prideš?</p>
+<p>Si pomislil na robni pogoj? Kateri seznam lahko urediš povsem brez dela?</p>
''',
'recursive_case': '''\
@@ -32,11 +43,11 @@ Do katerega elementa najlažje prideš?</p>
''',
'predicate_always_false': '''\
-<p>Vse kaže, da tvoj predikat vedno vrne <code>false</code>. Si mu dal pravilno ime, si se morda pri imenu zatipkal?</p>
+<p>Vse kaže, da tvoj predikat vedno vrne "false". Si mu dal pravilno ime, si se morda pri imenu zatipkal?</p>
<p>Če je ime pravilno, se morda splača preveriti tudi, če se nisi zatipkal kje drugje,
je morda kakšna pika namesto vejice ali obratno, morda kakšna spremenljivka z malo začetnico?</p>
<p>Možno je seveda tudi, da so tvoji pogoji prestrogi ali celo nemogoči (kot bi bila npr. zahteva,
-da je <code>X</code> hkrati starš in sestra od <code>Y</code> ali kaj podobno zlobnega).</p>
+da je <code>X</code> <em>hkrati</em> večji in manjši od <code>Y</code> ali kaj podobno logično sumljivega).</p>
''',
'timeout': '''\
@@ -45,6 +56,6 @@ da je <code>X</code> hkrati starš in sestra od <code>Y</code> ali kaj podobno z
''',
'min_used': '''\
-<p>min_used</p>
+<p>Poskusi rešiti nalogo brez uporabe predikata <code>min/2</code>.</p>
''',
}
diff --git a/prolog/problems/sorting/quick_sort_2/sl.py b/prolog/problems/sorting/quick_sort_2/sl.py
index ab3e87e..bb2dd82 100644
--- a/prolog/problems/sorting/quick_sort_2/sl.py
+++ b/prolog/problems/sorting/quick_sort_2/sl.py
@@ -37,7 +37,7 @@ implicitno že kar v argumentih predikata (glavi stavka).</p>
''',
'base_case': '''\
-<p>Si pomislil na robni pogoj? Kateri seznam lahko uredim povsem brez dela?</p>
+<p>Si pomislil na robni pogoj? Kateri seznam lahko urediš povsem brez dela?</p>
''',
'recursive_case': '''\