From 1eae572b3854231a5af88c4fe2ecfc0fd258ab6e Mon Sep 17 00:00:00 2001
From: Aleksander Sadikov
Si pomislil na robni pogoj? Kaj je najbolj enostaven primer, ko je element v seznamu? -Do katerega elementa najlažje prideš?
+Si pomislil na robni pogoj? Kateri seznam predstavlja najkrajši možen palindrom?
''', 'predicate_always_false': '''\ @@ -44,7 +43,7 @@ Do katerega elementa najlažje prideš?Č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?
Možno je seveda tudi, da so tvoji pogoji prestrogi ali celo nemogoči (kot bi bila npr. zahteva,
-da je X
hkrati starš in sestra od Y
ali kaj podobno zlobnega).
N
enako kot N + 1
ali kaj podobno logično zlobnega).
''',
'timeout': '''\
@@ -53,22 +52,33 @@ da je X
hkrati starš in sestra od Y
ali kaj podobno z
''',
'[X,X]_instead_of_[]_base_case': '''\
-[X,X]_instead_of_[]_base_case')
+Vsekakor je [X,X] povsem dober robni pogoj, a ne pokrije posebnega primera, ko je vhod kar prazen seznam. To je +seveda stvar definicije, a da bomo imeli vsi enake rešitve, prosim, popravi.
''', 'one_base_case_missing': '''\ -one_base_case_missing
+Jemlješ po dva elementa stran ob vsakem prehodu rekurzije? Kako se to zaključi? Liho, sodo? ;)
+Poskusi naslednja dva primera, eden bo lepo deloval, drugi ne. V čem je razlika?
+?- palindrome([a,b,b,a]).
?- palindrome([l,e,v,e,l]).
arbitrary_base_case
+Pazi _
ni enako kot [_]
. Prvo predstavlja poljubno spremenljivko, drugo seznam
+z enim poljubnim elementom.
last_used
+Predikat last/2
je tukaj štorast, ker pusti zadnji element v seznamu.
final_hint
+ 'final_hint_1': '''\ +Zanimivost: veš, da bi to nalogo lahko rešil tudi s samo enim klicem? Kaj se zgodi, če palindrom... khm, +obrneš? ;)
+''', + + 'final_hint_2': '''\ +Rešitev lahko še dodatno skrajšaš. Kako se lahko znebiš operatorja =
(==
)
+oziroma ga narediš implicitnega?