diff options
Diffstat (limited to 'prolog/problems/lists/conc_3/sl.py')
-rw-r--r-- | prolog/problems/lists/conc_3/sl.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/prolog/problems/lists/conc_3/sl.py b/prolog/problems/lists/conc_3/sl.py index 1fd0500..8519870 100644 --- a/prolog/problems/lists/conc_3/sl.py +++ b/prolog/problems/lists/conc_3/sl.py @@ -66,6 +66,30 @@ Raje zmanjšuj prvi seznam in pusti drugega kot je.</p> <code>conc/3</code> uporabljali na enak način. To je zelo pomembno za kasneje.</p> ''', + 'insertion_into_second_list': ''' +<p>Je tvoj rekurzivni klic oblike <code>conc(T, [H|L2], ...)</code>? Ne vstavljaj glave prvega seznama v +drugi seznam v rekurzivnem klicu. Pusti rekurziji, da sama poskrbi za združevanje repa prvega seznama <code>T</code> +z drugim seznamom <code>L2</code>, potem pa (ob vračanju rezultata) dodaj glavo prvega seznama +<code>H</code> na pravo mesto.</p> +''', + + 'two_heads': '''\ +<p>Res potrebuješ dve glavi? Poskušaš morda zmanjševati hkrati oba seznama? To ni dobra ideja, tako boš +res težko prišel do pravilne rešitve. Raje zmanjšuj samo prvi seznam in pusti drugega kot je.</p> +''', + + 'two_heads_markup': '''\ +<p>Res potrebuješ dve glavi?</p> +''', + + 'forcing_result_onto_recursion': ''' +<p>Ne vsiljuj rekurziji kaj naj vrne, prepusti se ji. To je tisti del, ko narediš predpostavko, +če je ta izpolnjena, potem bo tvoje pravilo delovalo za večji primer.</p> +<p>Je tvoj rekurzivni klic oblike <code>conc(T, L2 [H|...])</code>? S tem vsiljuješ rekurziji +da mora <emph>vrniti</emph> tudi glavo, ki si jo prej že dal začasno stran. Glavo moraš na koncu na primerno mesto +vstaviti ti. Skratka, glavo <code>H</code> dodaj izven rekurzivnega klica.</p> +''', + 'final_hint': '''\ <p>Predikat <code>conc/3</code> bomo večinoma uporabljali za vse drugo kot samo za konkatenacijo dveh seznamov. Med drugim je uporaben "v obratni smeri" za delitev seznama na dva dela, poskusi naslednja vprašanja:</p> |