diff options
author | Aleksander Sadikov <aleksander.sadikov@fri.uni-lj.si> | 2016-03-30 18:26:19 +0200 |
---|---|---|
committer | Aleksander Sadikov <aleksander.sadikov@fri.uni-lj.si> | 2016-03-30 18:26:19 +0200 |
commit | 15f86bdee80340c414c07b300fea4f513ae04588 (patch) | |
tree | 892e8704359a380105f85bc1df92e727ffae3cc9 /prolog/problems/sorting | |
parent | 6e5ac99f5503a2c45b7c546f88b527a92bba1034 (diff) |
Hints and plans for isort/2 added.
Diffstat (limited to 'prolog/problems/sorting')
-rw-r--r-- | prolog/problems/sorting/is_sorted_1/sl.py | 4 | ||||
-rw-r--r-- | prolog/problems/sorting/isort_2/sl.py | 21 | ||||
-rw-r--r-- | prolog/problems/sorting/quick_sort_2/sl.py | 2 |
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': '''\ |