From 196c93ade2a625b0008f4db476d38c409fff02f3 Mon Sep 17 00:00:00 2001 From: Walther Neuper Date: Fri, 14 May 2010 15:36:31 +0000 Subject: exstore: templates partially --- 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 -- cgit v0.9.1