summaryrefslogtreecommitdiff
path: root/python/problems/functions/greatest/sl.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/problems/functions/greatest/sl.py')
-rw-r--r--python/problems/functions/greatest/sl.py107
1 files changed, 107 insertions, 0 deletions
diff --git a/python/problems/functions/greatest/sl.py b/python/problems/functions/greatest/sl.py
new file mode 100644
index 0000000..0321d23
--- /dev/null
+++ b/python/problems/functions/greatest/sl.py
@@ -0,0 +1,107 @@
+# coding=utf-8
+import server
+mod = server.problems.load_language('python', 'sl')
+
+
+id = 195
+name = 'Največji'
+slug = 'Največji'
+
+
+description = '''\
+<p>Napišite funkcijo <code>naj(xs)</code>, ki vrne največje število v seznamu <code>xs</code>.
+<pre>
+>>> naj([5, 1, -6, -7, 2])
+5
+</pre></p>
+'''
+
+function = ['''\
+<p>Napišite definicijo funckcije <code>naj(xs)</code></p>''',
+ '''\
+<p>Definicijo funkcije začnemo z <code>def</code>, temu sledi ime, potem oklepaji,
+v katerih naštejemo argumente funkcije, nato zaklepaj in na koncu dvopičje</p>''',
+ '''\
+<pre>
+def naj(xs):
+ # program, ki poišče največjega v xs
+</pre>''']
+
+main_plan = ['''\
+<p><b>Ideja</b>: po vrsti pogledamo vse elemente in sproti hranimo največjega.</p>''',
+ '''\
+<ol>
+<li>Začnemo s prvim elementom in si ga zapomnimo kot največjega.</li>
+<li>Potem pogledamo drugi element, če je večji od največjega, ta postane največji.</li>
+<li>Pogledamo tretji element, če je večji od največjega, postane največji. </li>
+<li>Pogledamo četrti element, ... </li>
+<li>...</li>
+<li>Pogledamo zadnji element, ...
+</ol>''',
+ '''\
+<p>Potrebovali bomo zanko!</p>
+<pre>
+najvecji = prvi element od xs
+for x in xs:
+ ce je x > najvecji:
+ najvecji postane x
+izpisi najvecjega
+</pre>''']
+
+return_clause = ['''\
+<p>Namesto, da izpišemo rezultat, ga vračamo s stavkom <code>return</code>.</p>''']
+
+plan = [['''\
+<p>Najprej poskusite napisati <b>program</b> (brez funkcije), ki v <code>xs</code> poišče največji element</p>''',
+ '''\
+<pre>
+xs = [5, 1, -6, -7, 2]
+# sledi program, ki izpiše največjega v xs
+</pre>'''],
+ main_plan,
+ ['''\
+<p>Na vrhu napišite funkcijo, ki vsebuje program, in testirajte:</p>''',
+ '''\
+<pre>
+# najprej definicija funkcije
+def naj...
+
+s1 = [5, 1, -6, -7, 2]
+naj_elt = naj(s1)
+print(naj_elt)
+
+s2 = [-5, -1, 6, 7, -2]
+naj_elt = naj(s2)
+print(naj_elt)
+</pre>'''],
+ function,
+ return_clause]
+
+for_loop = ['''\
+<p>Preglejte elemente z zanko</p>.
+''',
+ '''\
+<pre>
+for x in xs:
+ print (x)
+</pre>''']
+
+
+if_clause = ['''\
+<p>Preverite, če je trenutni element večji od največjega</p>''',
+ '''\
+<pre>
+if x > najvecji:
+ najvecji = x
+</pre>''']
+
+
+hint = {
+ 'no_def': function,
+
+ 'no_return': return_clause,
+
+ 'for_loop': for_loop,
+
+ 'if_clause': if_clause
+}