~azzar1/unity/add-show-desktop-key

« back to all changes in this revision

Viewing changes to exercises/sample/fib.xml

Dispatch now generates an index for each plugin type, allowing plugins to
be written which are aware of other plugins, and other plugin types.

All view plugins now subclass from ivle.webapp.base.plugins.ViewPlugin,
as opposed to subclassing BasePlugin directly. This will allow us to
easily re-write console as an OverlayPlugin, and allow future new
plugins types to be created.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<exercise name = "Fibonacci numbers">
 
2
    <desc>Write a function <code>fib(n)</code> which returns the nth fibonacci
 
3
        number.</desc>
 
4
    <partial>
 
5
<![CDATA[
 
6
def fib(n):
 
7
  # Write your function here.
 
8
]]>
 
9
    </partial>
 
10
    <solution>
 
11
<![CDATA[
 
12
def fib(n):
 
13
  import numpy
 
14
  return int((numpy.matrix([[0, 1], [1, 1]], dtype='object')**(n-1))[1,1])
 
15
]]>
 
16
    </solution>
 
17
    <case name="Low n" function="fib">
 
18
        <arg value="10" />
 
19
        <function desc="Match">int</function>
 
20
    </case>
 
21
    <case name="First number" function="fib">
 
22
        <arg value="1" />
 
23
        <function desc="Match">int</function>
 
24
    </case>
 
25
    <case name="Zeroth number" function="fib">
 
26
         <file name="patch.py">
 
27
<![CDATA[
 
28
fib_zero = 0 
 
29
]]>
 
30
        </file>
 
31
        <arg value="0" />
 
32
        <function desc="Match">int</function>
 
33
    </case>
 
34
    <case name="High number" function="fib">
 
35
        <arg value="30" />
 
36
        <function desc="Match">int</function>
 
37
    </case>
 
38
    <case name="Very high number" function="fib">
 
39
        <arg value="1000" />
 
40
        <function desc="Match">int</function>
 
41
    </case>
 
42
</exercise>
 
43