From 5dc202da93d1e9e7095faf6d07066f99c085fbdc Mon Sep 17 00:00:00 2001 From: Aleksander Sadikov Date: Mon, 21 Mar 2016 03:50:02 +0100 Subject: Plan for sublist/2 added. --- prolog/problems/lists_advanced/sublist_2/sl.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'prolog/problems/lists_advanced') diff --git a/prolog/problems/lists_advanced/sublist_2/sl.py b/prolog/problems/lists_advanced/sublist_2/sl.py index f7369c4..50a6878 100644 --- a/prolog/problems/lists_advanced/sublist_2/sl.py +++ b/prolog/problems/lists_advanced/sublist_2/sl.py @@ -1,3 +1,5 @@ +# coding=utf-8 + name = 'sublist/2' slug = 'Generiraj vse podsezname danega seznama' @@ -14,6 +16,19 @@ description = '''\ X = [3]. ''' +plan = ['''\ +

Najprej se spomnimo, da naloga zahteva podsezname, ne podmnožice. Razlika je v tem, da so v podseznamu +elementi originalnega seznama, ki pa se "držijo skupaj", torej niso kar poljubni elementi iz originalnega seznama. +Morda poiščeš nek vzorec? In s katerim predikatom iščeš vzorce? To gotovo že veš. ;)

+''', '''\ +

Seveda, vzorce lahko poiščeš s predikatom conc/3. Morda celo rekurzija tokrat ni potrebna? Je to +mogoče v Prologu? :)

+''', '''\ +

No, kakšen bi bil lahko vzorec? Hja, en kos originalnega seznama! Predstavljaj si, da je originalni seznam +cev, ki jo hočeš skrajšati (čisto kot v oni češki risanki "A je to!"). Malo jo boš skrajšal z leve, malo z desne in... +in tisto kar ostane je podseznam! Originalnemu seznamu malo odsekaš spredaj in malo zadaj.

+'''] + hint = { 'eq_instead_of_equ': '''\

Operator == je strožji od operatorja = v smislu, da je za slednjega dovolj, -- cgit v1.2.1