From 876801eeff57b10d87a25d2ffaab338dc915dbdd Mon Sep 17 00:00:00 2001 From: Aleksander Sadikov Date: Sat, 12 Mar 2016 00:49:44 +0100 Subject: Hints for conc/3 added. --- prolog/problems/lists/conc_3/sl.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'prolog/problems/lists/conc_3/sl.py') 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 @@ -64,6 +64,30 @@ Morda npr. v rekurziji zmanjšuješ prvi seznam, ustaviš pa se pri praznem drug Raje zmanjšuj prvi seznam in pusti drugega kot je.

Pa še drug razlog za ta vrstni red je: tako bomo vsi imeli enako, standardno, rešitev in bomo conc/3 uporabljali na enak način. To je zelo pomembno za kasneje.

+''', + + 'insertion_into_second_list': ''' +

Je tvoj rekurzivni klic oblike conc(T, [H|L2], ...)? Ne vstavljaj glave prvega seznama v +drugi seznam v rekurzivnem klicu. Pusti rekurziji, da sama poskrbi za združevanje repa prvega seznama T +z drugim seznamom L2, potem pa (ob vračanju rezultata) dodaj glavo prvega seznama +H na pravo mesto.

+''', + + 'two_heads': '''\ +

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.

+''', + + 'two_heads_markup': '''\ +

Res potrebuješ dve glavi?

+''', + + 'forcing_result_onto_recursion': ''' +

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.

+

Je tvoj rekurzivni klic oblike conc(T, L2 [H|...])? S tem vsiljuješ rekurziji +da mora vrniti tudi glavo, ki si jo prej že dal začasno stran. Glavo moraš na koncu na primerno mesto +vstaviti ti. Skratka, glavo H dodaj izven rekurzivnega klica.

''', 'final_hint': '''\ -- cgit v1.2.1