Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWalther Neuper <wneuper@localhost.(none)>2010-05-14 15:36:31 (GMT)
committer Walther Neuper <wneuper@localhost.(none)>2010-05-14 15:36:31 (GMT)
commit196c93ade2a625b0008f4db476d38c409fff02f3 (patch)
treec04025fff705e1b401086aa59b80423d5ff5c640
parent01367154aa2b927e4e2536e39589c9b65253a3c4 (diff)
exstore: templates partially
-rw-r--r--ReckonPrimer.activity/data/Collection.data255
-rw-r--r--ReckonPrimer.activity/exstore.py271
2 files changed, 302 insertions, 224 deletions
diff --git a/ReckonPrimer.activity/data/Collection.data b/ReckonPrimer.activity/data/Collection.data
index d2291bf..29b71b7 100644
--- a/ReckonPrimer.activity/data/Collection.data
+++ b/ReckonPrimer.activity/data/Collection.data
@@ -11,234 +11,223 @@ p4
(dp5
g2
(lp6
-(icollection
-Collection
-p7
-(dp8
-g2
-(lp9
sS'_pic'
-p10
+p7
NsS'_title'
-p11
-S'Add Sub: + & -'
-p12
+p8
+S'Praxis Volksschule'
+p9
sS'_description'
-p13
-S"hier sind alle 1x1-Reihen mit 'in'"
-p14
+p10
+S'Rechenuebungen fuer die 1. und 2.Klasse, festgelegt 16.Dez.09'
+p11
sba(icollection
Collection
+p12
+(dp13
+g2
+(lp14
+sg7
+Nsg8
+S'Schoenberger'
p15
-(dp16
+sg10
+S'Most efficient introduction to the four basic arithmetic operations as taught by Igo Schoenberger in the last century in Upper Austria.'
+p16
+sba(icollection
+Collection
+p17
+(dp18
g2
-(lp17
+(lp19
(itask
Task
-p18
-(dp19
-S'_eval'
p20
-(lp21
-sS'_sett'
+(dp21
+S'_eval'
p22
-(dp23
-S'min'
+(lp23
+sS'_sett'
p24
+(dp25
+S'min'
+p26
I0
sS'=input'
-p25
-(lp26
+p27
+(lp28
I1
aI3
aI5
asS'cut-max'
-p27
+p29
I01
sS'_+_=_'
-p28
+p30
I01
sS'title'
-p29
-S'template exaddsimp'
-p30
-sS'MAX'
p31
-I30
-sS'+'
+S'template: + - within 10'
p32
+sS'MAX'
+p33
+I100
+sS'+'
+p34
I01
sS'MIN'
-p33
+p35
I20
sS'descript'
-p34
-S'addition and subtraction without carry, i.e. without passing the 10 barrier. '
-p35
-sS'input='
p36
-(lp37
+S'settings: range of result, input at 3 positions, swap around ='
+p37
+sS'input='
+p38
+(lp39
I1
aI3
aI5
asS'topic'
-p38
+p40
S'addsub_simp'
-p39
+p41
sS'calclines'
-p40
+p42
I1
sS'-'
-p41
+p43
I01
sS'max'
-p42
+p44
I1
sS'_=_+_'
-p43
+p45
I00
sS'shuffle'
-p44
+p46
I01
sS'icon'
-p45
+p47
Nssba(itask
Task
-p46
-(dp47
-g20
-(lp48
-sg22
+p48
(dp49
-g24
+g22
+(lp50
+sg24
+(dp51
+g26
I2
-sg27
+sg29
I01
sS'newline'
-p50
+p52
I01
-sg29
-S'template expassten'
-p51
+sg31
+S'template: passing the 10 barrier with + -'
+p53
sS'shuffle_all'
-p52
+p54
I00
-sg31
+sg33
I150
-sg32
+sg34
I01
-sg33
+sg35
I10
-sg34
-S'addition and subtraction with carry, i.e. with passing the 10 barrier. '
-p53
-sg38
-S'passten'
-p54
+sg36
+S'settings: range of 1st operand, input left and right from =, input intermediate result, separate shuffling of operands.'
+p55
sg40
+S'passten'
+p56
+sg42
I1
-sg41
+sg43
I00
-sg42
+sg44
I2
sS'input'
-p55
-(lp56
+p57
+(lp58
I3
asS'shuffle_inner'
-p57
+p59
I00
-sg45
+sg47
Nssba(itask
Task
-p58
-(dp59
-g20
-(lp60
-sg22
+p60
(dp61
-g24
+g22
+(lp62
+sg24
+(dp63
+g26
I2
-sg42
+sg44
I2
sS'*'
-p62
-I00
-sg29
-S'template extimesdiv'
-p63
-sg52
+p64
I00
sg31
+S'template: * ; in'
+p65
+sg54
+I00
+sg33
I50
sS'*commute'
-p64
+p66
I00
-sg33
+sg35
I10
-sg34
-S'multiplication, division and "in" from 2 to 19 and 20 to 190. '
-p65
+sg36
+S'settings: series (2,4,8 is possible!) of *, "in" and : with remainder, series 11..19 (left bar), series 10..90 (right long bar), separate shuffling or operands.'
+p67
sS'vadd'
-p66
+p68
I0
-sg38
+sg40
S'times_div'
-p67
+p69
sS'factors'
-p68
-(lp69
+p70
+(lp71
I2
aI4
-asg57
+asg59
I00
-sg40
+sg42
I1
sS'in'
-p70
+p72
I00
-sg27
+sg29
I01
sS':'
-p71
+p73
I01
sS'remainder'
-p72
+p74
I00
sS'vmult'
-p73
-I1
-sg45
-Nssbasg10
-Nsg11
-S'Times Division: x & in'
-p74
-sg13
-g14
-sba(icollection
-Collection
p75
-(dp76
-g2
-(lp77
+I1
+sg47
+Nssbasg7
+Nsg8
+S'Templates'
+p76
sg10
-Nsg11
-S'Pass Ten: ->10'
+S'These are the (classes of) exercises all others are derived from. Thus, please, do not deletem them. For testing exercises disabling of @ is recommended.'
+p77
+sbasg7
+Nsg8
+S'root = invisible node'
p78
-sg13
-g14
-sbasg10
-Nsg11
-S'Templates'
+sg10
+S'required by tree structure'
p79
-sg13
-S'Hier finden Sie alle verf\xc3\xbcgbaren Templates'
-p80
-sbasg10
-Nsg11
-S'root = invisible node'
-p81
-sg13
-S'aber ben\xc3\xb6tigt zum richtigen speichern/lesen'
-p82
sb. \ No newline at end of file
diff --git a/ReckonPrimer.activity/exstore.py b/ReckonPrimer.activity/exstore.py
index a12a77c..53d64ce 100644
--- a/ReckonPrimer.activity/exstore.py
+++ b/ReckonPrimer.activity/exstore.py
@@ -38,101 +38,190 @@ class ExStore:
# (self._sett.get_setting('times_div'), [])]
#Provisorium für die "3-Button-Version" ^^^^^^^^^^^^^^^^^^^^^^^^^
#Provisorium für impl. "treeView-Kollektion" vvvvvvvvvvvvvvvvvvvv
- _ex010 = Task({'topic' : 'addsub_simp',
- 'title' : 'template exaddsimp',
- 'descript': 'addition and subtraction without carry, \
- i.e. without passing the 10 barrier. ',
- 'icon' : None, # for quick reference of the exercise
- 'calclines': 1, # no. of lines for calc to be input.
- 'MAX' : 30, # maximum of calcs generated.
- # Generate fills up by varying input.
- 'MIN' : 20, # minimum of calcs generated UNUSED
- 'min' : 0, # minimum in size of a number in a calc
- 'max' : 1, # maximum in size of a number in a calc
- # 0 <= min <= max <= 10
- '+' : True, # make all additions min..max
- '-' : True, # make all subtactions min..max
- '_+_=_' : True, # = is _right_ from operator, e.g. 1+2=3
- 'input=' : [1,3,5],# list of positions in calc: 1 | 3 | 5
- # where input is possible;
- # actual positions chosen by Generate.
- '_=_+_' : False, # = is _left_ from operator, e.g. 3=1+2
- '=input' : [1,3,5],# analogous to '_+_=_'
- 'shuffle': True, # shuffle _all_ the calcs
- 'cut-max': True # cut set of all calcs down to MAX
+# _ex010 = Task({'topic' : 'addsub_simp',
+# 'title' : 'template exaddsimp',
+# 'descript': 'addition and subtraction without carry, \
+# i.e. without passing the 10 barrier. ',
+# 'icon' : None, # for quick reference of the exercise
+# 'calclines': 1, # no. of lines for calc to be input.
+# 'MAX' : 30, # maximum of calcs generated.
+# # Generate fills up by varying input.
+# 'MIN' : 20, # minimum of calcs generated UNUSED
+# 'min' : 0, # minimum in size of a number in a calc
+# 'max' : 1, # maximum in size of a number in a calc
+# # 0 <= min <= max <= 10
+# '+' : True, # make all additions min..max
+# '-' : True, # make all subtactions min..max
+# '_+_=_' : True, # = is _right_ from operator, e.g. 1+2=3
+# 'input=' : [1,3,5],# list of positions in calc: 1 | 3 | 5
+# # where input is possible;
+# # actual positions chosen by Generate.
+# '_=_+_' : False, # = is _left_ from operator, e.g. 3=1+2
+# '=input' : [1,3,5],# analogous to '_+_=_'
+# 'shuffle': True, # shuffle _all_ the calcs
+# 'cut-max': True # cut set of all calcs down to MAX
+# }, [])
+# _ex011 = Task({'topic' : 'passten',
+# 'title' : 'template expassten',
+# 'descript': 'addition and subtraction with carry, \
+# i.e. with passing the 10 barrier. ',
+# 'icon' : None, # for quick reference of the exercise
+# 'calclines' : 1, # or 2 iff 'newline' : True.
+# 'MAX' : 150, # maximum of calcs generated;
+# # TODO: Generate fills up by varying input.
+# 'MIN' : 10, # minimum of calcs generated 090416WN:UNUSED
+# '+' :True, # + crossing the ten barrier!!
+# '-' :False, # - goes below the ten barrier!!!
+# # (i.e. iteration on left arg. is "outer" loop)
+# 'min' : 2, # +: minimum in size of number in left argument
+# #'min' : 5, # +: minimum in size of number in left argument
+# # -: minimum in size of result
+# 'max' : 2, # +: maximum in size of number in left argument
+# # -: maximum in size of result
+# #'max' : 9, # +: maximum in size of number in left argument
+# 'input' :[3], # list of positions in calc 3 | 5
+# # where input is possible;
+# # actual positions chosen by Generate.
+# 'newline' : True, # display 2nd line for intermediate results
+# 'shuffle_all' : False, # shuffle all calcs
+# 'shuffle_inner': False, # shuffle only 1st (inner) iteration
+# 'cut-max' : True # cut set of all calcs down to MAX
+# }, [])
+# _ex012 = Task({'topic' : 'times_div', #for programmers only
+# 'title' : 'template extimesdiv',
+# 'descript': 'multiplication, division and "in" \
+# from 2 to 19 and 20 to 190. ',
+# 'icon' : None, # for quick reference of the exercise
+# 'calclines' : 1, # no. of lines for calc to be input.
+# 'MAX' : 50, # maximum of calcs generated;
+# # TODO: Generate fills up by varying input.
+# 'MIN' : 10, # minimum of calcs generated 090416WN:UNUSED
+# '*' : False, # eg. 7 . 2 =_
+# '*commute' : False, # commute the operands 2 . 7 = _
+# ':' : True, # 14 : 2 = _
+# 'in' : False, # 2 in 14 = _
+# 'remainder' : False, # : | in ... with remainder
+# 'vadd' : 0, # 0 or 10, for 1.11 ... 1.19
+# 'vmult' : 1, # 1 or 10, for 1.10 ... 1.90
+# 'min' : 2, # +: minimum number in right *operand
+# # -: minimum result
+# 'max' : 2, # +: maximum number in right *operand
+# # -: maximum result
+# 'factors' : [2,4], # Liste mit ausgewählten zahlen zur berechnung
+# 'shuffle_all' : False, # shuffle all calcs
+# 'shuffle_inner': False, # shuffle only 1st (inner) iteration
+# 'cut-max' : True # cut set of all calcs down to MAX
+# }, [])
+#
+# _coll00 = Collection("Add Sub: + & -",
+# "hier sind alle 1x1-Reihen mit 'in'",
+# None, [])
+#
+# _coll01 = Collection("Times Division: x & in",
+# "hier sind alle 1x1-Reihen mit 'in'",
+# None, [_ex010, _ex011, _ex012])
+#
+# _coll02 = Collection("Pass Ten: ->10",
+# "hier sind alle 1x1-Reihen mit 'in'",
+# None, [])
+#
+# _coll0 = Collection("Templates",
+# "Hier finden Sie alle verfügbaren Templates",
+# None, [_coll00, _coll01, _coll02])
+#
+# #constructor of collections root
+# self._root = \
+#Collection("root = invisible node",
+# "aber benötigt zum richtigen speichern/lesen",
+# None, [
+# _coll0, _coll0])
+
+
+ _c3t1 = Task({'topic' : 'addsub_simp',
+ 'title' : 'template: + - within 10',
+ 'descript' : 'settings: range of result, input at 3 positions, swap around =',
+ 'icon' : None, # for quick reference of the exercise
+ 'calclines': 1, # no. of lines for calc to be input.
+ 'MAX' : 100, # maximum of calcs generated.
+ # Generate fills up by varying input.
+ 'MIN' : 20, # minimum of calcs generated UNUSED
+ 'min' : 0, # minimum in size of a number in a calc
+ 'max' : 1, # maximum in size of a number in a calc
+ # 0 <= min <= max <= 10
+ '+' : True, # make all additions min..max
+ '-' : True, # make all subtactions min..max
+ '_+_=_' : True, # = is _right_ from operator, e.g. 1+2=3
+ 'input=' : [1,3,5],# list of positions in calc: 1 | 3 | 5
+ # where input is possible;
+ # actual positions chosen by Generate.
+ '_=_+_' : False, # = is _left_ from operator, e.g. 3=1+2
+ '=input' : [1,3,5],# analogous to '_+_=_'
+ 'shuffle' : True, # shuffle _all_ the calcs
+ 'cut-max' : True # cut set of all calcs down to MAX
}, [])
- _ex011 = Task({'topic' : 'passten',
- 'title' : 'template expassten',
- 'descript': 'addition and subtraction with carry, \
- i.e. with passing the 10 barrier. ',
- 'icon' : None, # for quick reference of the exercise
- 'calclines' : 1, # or 2 iff 'newline' : True.
- 'MAX' : 150, # maximum of calcs generated;
- # TODO: Generate fills up by varying input.
- 'MIN' : 10, # minimum of calcs generated 090416WN:UNUSED
- '+' :True, # + crossing the ten barrier!!
- '-' :False, # - goes below the ten barrier!!!
- # (i.e. iteration on left arg. is "outer" loop)
- 'min' : 2, # +: minimum in size of number in left argument
- #'min' : 5, # +: minimum in size of number in left argument
- # -: minimum in size of result
- 'max' : 2, # +: maximum in size of number in left argument
- # -: maximum in size of result
- #'max' : 9, # +: maximum in size of number in left argument
- 'input' :[3], # list of positions in calc 3 | 5
- # where input is possible;
- # actual positions chosen by Generate.
- 'newline' : True, # display 2nd line for intermediate results
- 'shuffle_all' : False, # shuffle all calcs
- 'shuffle_inner': False, # shuffle only 1st (inner) iteration
- 'cut-max' : True # cut set of all calcs down to MAX
+ _c3t2 = Task({'topic' : 'passten',
+ 'title' : 'template: passing the 10 barrier with + -',
+ 'descript' : 'settings: range of 1st operand, input left and right from =, input intermediate result, separate shuffling of operands.',
+ 'icon' : None, # for quick reference of the exercise
+ 'calclines' : 1, # or 2 iff 'newline' : True.
+ 'MAX' : 150, # maximum of calcs generated;
+ # TODO: Generate fills up by varying input.
+ 'MIN' : 10, # minimum of calcs generated 090416WN:UNUSED
+ '+' :True, # + crossing the ten barrier!!
+ '-' :False, # - goes below the ten barrier!!!
+ #(i.e. iteration on left arg. is "outer" loop)
+ 'min' : 2, # +: minimum in size of number in left argument
+ 'max' : 2, # +: maximum in size of number in left argument
+ 'input' :[3], # list of positions in calc 3 | 5
+ # where input is possible.
+ 'newline' : True, # display 2nd line for intermediate results
+ 'shuffle_all' : False,# shuffle all calcs
+ 'shuffle_inner': False,# shuffle only 1st (inner) iteration
+ 'cut-max' : True # cut set of all calcs down to MAX
}, [])
- _ex012 = Task({'topic' : 'times_div', #for programmers only
- 'title' : 'template extimesdiv',
- 'descript': 'multiplication, division and "in" \
- from 2 to 19 and 20 to 190. ',
- 'icon' : None, # for quick reference of the exercise
- 'calclines' : 1, # no. of lines for calc to be input.
- 'MAX' : 50, # maximum of calcs generated;
- # TODO: Generate fills up by varying input.
- 'MIN' : 10, # minimum of calcs generated 090416WN:UNUSED
- '*' : False, # eg. 7 . 2 =_
- '*commute' : False, # commute the operands 2 . 7 = _
- ':' : True, # 14 : 2 = _
- 'in' : False, # 2 in 14 = _
- 'remainder' : False, # : | in ... with remainder
- 'vadd' : 0, # 0 or 10, for 1.11 ... 1.19
- 'vmult' : 1, # 1 or 10, for 1.10 ... 1.90
- 'min' : 2, # +: minimum number in right *operand
- # -: minimum result
- 'max' : 2, # +: maximum number in right *operand
- # -: maximum result
- 'factors' : [2,4], # Liste mit ausgewählten zahlen zur berechnung
- 'shuffle_all' : False, # shuffle all calcs
- 'shuffle_inner': False, # shuffle only 1st (inner) iteration
- 'cut-max' : True # cut set of all calcs down to MAX
+ _c3t3 = Task({'topic' : 'times_div', #for programmers only
+ 'title' : 'template: * ; in',
+ 'descript' : 'settings: series (2,4,8 is possible!) of *, "in" and : with remainder, series 11..19 (left bar),series 10..90 (right long bar), separate shuffling or operands.',
+ 'icon' : None, # for quick reference of the exercise
+ 'calclines' : 1, # no. of lines for calc to be input.
+ 'MAX' : 50, # maximum of calcs generated;
+ # TODO: Generate fills up by varying input.
+ 'MIN' : 10, # minimum of calcs generated 090416WN:UNUSED
+ '*' : False, # eg. 7 . 2 =_
+ '*commute' : False, # commute the operands 2 . 7 = _
+ ':' : True, # 14 : 2 = _
+ 'in' : False, # 2 in 14 = _
+ 'remainder' : False, # : | in ... with remainder
+ 'vadd' : 0, # 0 or 10, for 1.11 ... 1.19
+ 'vmult' : 1, # 1 or 10, for 1.10 ... 1.90
+ 'min' : 2, # +: minimum number in right *operand
+ # -: minimum result
+ 'max' : 2, # +: maximum number in right *operand
+ # -: maximum result
+ 'factors' : [2,4], # Liste mit ausgewählten zahlen zur berechnung
+ 'shuffle_all' : False, # shuffle all calcs
+ 'shuffle_inner': False, # shuffle only 1st (inner) iteration
+ 'cut-max' : True # cut set of all calcs down to MAX
}, [])
- _coll00 = Collection("Add Sub: + & -",
- "hier sind alle 1x1-Reihen mit 'in'",
- None, [])
-
- _coll01 = Collection("Times Division: x & in",
- "hier sind alle 1x1-Reihen mit 'in'",
- None, [_ex010, _ex011, _ex012])
-
- _coll02 = Collection("Pass Ten: ->10",
- "hier sind alle 1x1-Reihen mit 'in'",
- None, [])
-
- _coll0 = Collection("Templates",
- "Hier finden Sie alle verfügbaren Templates",
- None, [_coll00, _coll01, _coll02])
-
- #constructor of collections root
- self._root = Collection("root = invisible node",
- "aber benötigt zum richtigen speichern/lesen",
- None, [_coll0])
+ self._root = \
+Collection("root = invisible node","required by tree structure", None,
+ [Collection("Praxis Volksschule", #_c1
+ "Rechenuebungen fuer die 1. und 2.Klasse, festgelegt 16.Dez.09",
+ None,
+ []),
+ Collection("Schoenberger", #_c2
+ "Most efficient introduction to the four basic arithmetic \
+ operations as taught by Igo Schoenberger in the last century \
+ in Upper Austria.",
+ None,
+ []),
+ Collection("Templates", #_c3
+ "These are the (classes of) exercises all others are derived \
+ from. Thus, please, do not deletem them. \
+ For testing exercises disabling of @ is recommended.", None,
+ [_c3t1, _c3t2, _c3t3])
+ ])
# comment to save changes (order of the items) till the next start