From 217172b1f73f487f785a742709cd2df264bc9c83 Mon Sep 17 00:00:00 2001 From: Aleksander Sadikov Date: Mon, 14 Mar 2016 14:41:23 +0100 Subject: Plans for divide/3 added. --- prolog/problems/lists/divide_3/common.py | 4 ++-- prolog/problems/lists/divide_3/sl.py | 11 +++++++---- 2 files changed, 9 insertions(+), 6 deletions(-) (limited to 'prolog/problems/lists') diff --git a/prolog/problems/lists/divide_3/common.py b/prolog/problems/lists/divide_3/common.py index 2d20f12..672f20b 100644 --- a/prolog/problems/lists/divide_3/common.py +++ b/prolog/problems/lists/divide_3/common.py @@ -8,8 +8,8 @@ from server.hints import Hint, HintPopup import server.problems id = 115 -number = 22 -visible = False +number = 7 +visible = True facts = None solution = '''\ diff --git a/prolog/problems/lists/divide_3/sl.py b/prolog/problems/lists/divide_3/sl.py index 005d757..e9ef210 100644 --- a/prolog/problems/lists/divide_3/sl.py +++ b/prolog/problems/lists/divide_3/sl.py @@ -14,13 +14,16 @@ description = '''\ plan = ['''\

+

Saj veš kako je šlo v osnovni šoli: prvi, drugi, prvi.../p> ''', '''\ -

Do prvega elementa v seznamu je enostavno priti, do zadnjega se je treba rekurzivno prebiti.

+

Znaš vzeti dva elementa z začetka seznama? Vzorec je [H1,H2|T].

''', '''\ -

X

+

Vzameš dva elementa z začetka, preostanek rekurzivno razdeliš in to, kar vrne rekurzija, primerno +dopolniš s prej odvzetima elementoma. S tem, ko si vzel dva elementa z začetka, si problem zmanjšal.

''', '''\ -

-Ker je nov seznam manjši, sem tudi problem zmanjšal.

+

Če predpostavim, da rekurzija razdeli rep T na podseznama L1 in L2 +ter ob vračanju v L1 na začetek dodam H1 in v L2 na začetek +dodam H2, potem sem razdelil začetni seznam, ki je oblike [H1,H2|T].

'''] hint = { -- cgit v1.2.1