diff options
author | Walther Neuper <wneuper@localhost.(none)> | 2010-05-14 16:38:06 (GMT) |
---|---|---|
committer | Walther Neuper <wneuper@localhost.(none)> | 2010-05-14 16:38:06 (GMT) |
commit | 5056b8766a92e54d5c812ea325d56315d238d065 (patch) | |
tree | 07579738f099655a879c70ee8a82aa0d959f2e95 | |
parent | 196c93ade2a625b0008f4db476d38c409fff02f3 (diff) |
exstore: PraxisVS partially
-rw-r--r-- | ReckonPrimer.activity/data/Collection.data | 710 | ||||
-rw-r--r-- | ReckonPrimer.activity/exstore.py | 202 |
2 files changed, 657 insertions, 255 deletions
diff --git a/ReckonPrimer.activity/data/Collection.data b/ReckonPrimer.activity/data/Collection.data index 29b71b7..4d296f9 100644 --- a/ReckonPrimer.activity/data/Collection.data +++ b/ReckonPrimer.activity/data/Collection.data @@ -11,223 +11,653 @@ p4 (dp5 g2 (lp6 -sS'_pic' +(icollection +Collection p7 +(dp8 +g2 +(lp9 +(icollection +Collection +p10 +(dp11 +g2 +(lp12 +(itask +Task +p13 +(dp14 +S'_eval' +p15 +(lp16 +sS'_sett' +p17 +(dp18 +S'cut-max' +p19 +I01 +sS':' +p20 +I00 +sS'icon' +p21 +NsS'title' +p22 +S'2-er Reihe' +p23 +sS'shuffle_all' +p24 +I01 +sS'MAX' +p25 +I50 +sS'*commute' +p26 +I00 +sS'*' +p27 +I01 +sS'descript' +p28 +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.' +p29 +sS'factors' +p30 +(lp31 +I2 +asS'topic' +p32 +S'times_div' +p33 +sS'MIN' +p34 +I10 +sS'in' +p35 +I01 +sS'vadd' +p36 +I0 +sS'shuffle_inner' +p37 +I01 +sS'remainder' +p38 +I00 +sS'vmult' +p39 +I1 +sS'calclines' +p40 +I1 +ssba(itask +Task +p41 +(dp42 +g15 +(lp43 +sg17 +(dp44 +g19 +I01 +sg20 +I00 +sg21 +Nsg22 +S'3-er Reihe' +p45 +sg24 +I01 +sg25 +I50 +sg26 +I00 +sg27 +I01 +sg28 +g29 +sg30 +(lp46 +I3 +asg32 +g33 +sg34 +I10 +sg35 +I01 +sg36 +I0 +sg37 +I01 +sg38 +I00 +sg39 +I1 +sg40 +I1 +ssba(itask +Task +p47 +(dp48 +g15 +(lp49 +sg17 +(dp50 +g19 +I01 +sg20 +I00 +sg21 +Nsg22 +S'4-er Reihe' +p51 +sg24 +I01 +sg25 +I50 +sg26 +I00 +sg27 +I01 +sg28 +g29 +sg30 +(lp52 +I4 +asg32 +g33 +sg34 +I10 +sg35 +I01 +sg36 +I0 +sg37 +I01 +sg38 +I00 +sg39 +I1 +sg40 +I1 +ssba(itask +Task +p53 +(dp54 +g15 +(lp55 +sg17 +(dp56 +g19 +I01 +sg20 +I00 +sg21 +Nsg22 +S'5-er Reihe' +p57 +sg24 +I01 +sg25 +I50 +sg26 +I00 +sg27 +I01 +sg28 +g29 +sg30 +(lp58 +I5 +asg32 +g33 +sg34 +I10 +sg35 +I01 +sg36 +I0 +sg37 +I01 +sg38 +I00 +sg39 +I1 +sg40 +I1 +ssba(itask +Task +p59 +(dp60 +g15 +(lp61 +sg17 +(dp62 +g19 +I01 +sg20 +I00 +sg21 +Nsg22 +S'6-er Reihe' +p63 +sg24 +I01 +sg25 +I50 +sg26 +I00 +sg27 +I01 +sg28 +g29 +sg30 +(lp64 +I6 +asg32 +g33 +sg34 +I10 +sg35 +I01 +sg36 +I0 +sg37 +I01 +sg38 +I00 +sg39 +I1 +sg40 +I1 +ssba(itask +Task +p65 +(dp66 +g15 +(lp67 +sg17 +(dp68 +g19 +I01 +sg20 +I00 +sg21 +Nsg22 +S'7-er Reihe' +p69 +sg24 +I01 +sg25 +I50 +sg26 +I00 +sg27 +I01 +sg28 +g29 +sg30 +(lp70 +I7 +asg32 +g33 +sg34 +I10 +sg35 +I01 +sg36 +I0 +sg37 +I01 +sg38 +I00 +sg39 +I1 +sg40 +I1 +ssba(itask +Task +p71 +(dp72 +g15 +(lp73 +sg17 +(dp74 +g19 +I01 +sg20 +I00 +sg21 +Nsg22 +S'8-er Reihe' +p75 +sg24 +I01 +sg25 +I50 +sg26 +I00 +sg27 +I01 +sg28 +g29 +sg30 +(lp76 +I8 +asg32 +g33 +sg34 +I10 +sg35 +I01 +sg36 +I0 +sg37 +I01 +sg38 +I00 +sg39 +I1 +sg40 +I1 +ssba(itask +Task +p77 +(dp78 +g15 +(lp79 +sg17 +(dp80 +g19 +I01 +sg20 +I00 +sg21 +Nsg22 +S'9-er Reihe' +p81 +sg24 +I01 +sg25 +I50 +sg26 +I00 +sg27 +I01 +sg28 +g29 +sg30 +(lp82 +I9 +asg32 +g33 +sg34 +I10 +sg35 +I01 +sg36 +I0 +sg37 +I01 +sg38 +I00 +sg39 +I1 +sg40 +I1 +ssbasS'_pic' +p83 NsS'_title' -p8 -S'Praxis Volksschule' -p9 +p84 +S"Einzelne Reihen . und 'in'" +p85 sS'_description' -p10 -S'Rechenuebungen fuer die 1. und 2.Klasse, festgelegt 16.Dez.09' -p11 +p86 +S' ' +p87 +sba(icollection +Collection +p88 +(dp89 +g2 +(lp90 +sg83 +Nsg84 +S'Mehrere Reihen .' +p91 +sg86 +S'Wir ueben zusammengehoerende Reihen.' +p92 +sba(icollection +Collection +p93 +(dp94 +g2 +(lp95 +sg83 +Nsg84 +S'Alle Reihen gemischt' +p96 +sg86 +g87 +sbasg83 +Nsg84 +S"Uebungen . und 'in' " +p97 +sg86 +g87 +sba(icollection +Collection +p98 +(dp99 +g2 +(lp100 +sg83 +Nsg84 +S'Uebungen :' +p101 +sg86 +g87 +sba(icollection +Collection +p102 +(dp103 +g2 +(lp104 +sg83 +Nsg84 +S'Uebungen + und - ' +p105 +sg86 +g87 +sbasg83 +Nsg84 +S'Praxis Volksschule' +p106 +sg86 +S'Rechenuebungen fuer die 1. und 2.Klasse, festgelegt am 16.Dez.09 mit Nina Jaklitsch und Arndt Stoeckl .' +p107 sba(icollection Collection -p12 -(dp13 +p108 +(dp109 g2 -(lp14 -sg7 -Nsg8 +(lp110 +sg83 +Nsg84 S'Schoenberger' -p15 -sg10 +p111 +sg86 S'Most efficient introduction to the four basic arithmetic operations as taught by Igo Schoenberger in the last century in Upper Austria.' -p16 +p112 sba(icollection Collection -p17 -(dp18 +p113 +(dp114 g2 -(lp19 +(lp115 (itask Task -p20 -(dp21 -S'_eval' -p22 -(lp23 -sS'_sett' -p24 -(dp25 +p116 +(dp117 +g15 +(lp118 +sg17 +(dp119 S'min' -p26 +p120 I0 sS'=input' -p27 -(lp28 +p121 +(lp122 I1 aI3 aI5 -asS'cut-max' -p29 +asg19 I01 sS'_+_=_' -p30 +p123 I01 -sS'title' -p31 -S'template: + - within 10' -p32 -sS'MAX' -p33 +sg22 +S'Template: + - within 10' +p124 +sg25 I100 sS'+' -p34 +p125 I01 -sS'MIN' -p35 +sg34 I20 -sS'descript' -p36 +sg28 S'settings: range of result, input at 3 positions, swap around =' -p37 +p126 sS'input=' -p38 -(lp39 +p127 +(lp128 I1 aI3 aI5 -asS'topic' -p40 +asg32 S'addsub_simp' -p41 -sS'calclines' -p42 +p129 +sg40 I1 sS'-' -p43 +p130 I01 sS'max' -p44 +p131 I1 sS'_=_+_' -p45 +p132 I00 sS'shuffle' -p46 -I01 -sS'icon' -p47 +p133 +I00 +sg21 Nssba(itask Task -p48 -(dp49 -g22 -(lp50 -sg24 -(dp51 -g26 +p134 +(dp135 +g15 +(lp136 +sg17 +(dp137 +g120 I2 -sg29 +sg19 I01 sS'newline' -p52 +p138 I01 -sg31 -S'template: passing the 10 barrier with + -' -p53 -sS'shuffle_all' -p54 +sg22 +S'Template: + - passing the 10 barrier' +p139 +sg24 I00 -sg33 +sg25 I150 -sg34 +sg125 I01 -sg35 +sg34 I10 -sg36 +sg28 S'settings: range of 1st operand, input left and right from =, input intermediate result, separate shuffling of operands.' -p55 -sg40 +p140 +sg32 S'passten' -p56 -sg42 +p141 +sg40 I1 -sg43 +sg130 I00 -sg44 +sg131 I2 sS'input' -p57 -(lp58 +p142 +(lp143 I3 -asS'shuffle_inner' -p59 +asg37 I00 -sg47 +sg21 Nssba(itask Task -p60 -(dp61 -g22 -(lp62 -sg24 -(dp63 -g26 -I2 -sg44 +p144 +(dp145 +g15 +(lp146 +sg17 +(dp147 +g30 +(lp148 I2 -sS'*' -p64 +aI4 +asg37 I00 -sg31 -S'template: * ; in' -p65 -sg54 +sg27 +I00 +sg22 +S'Template: * : "in" series' +p149 +sg24 I00 -sg33 +sg25 I50 -sS'*commute' -p66 +sg26 I00 -sg35 +sg34 I10 +sg28 +g29 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' -p68 I0 +sg32 +g33 sg40 -S'times_div' -p69 -sS'factors' -p70 -(lp71 -I2 -aI4 -asg59 -I00 -sg42 I1 -sS'in' -p72 +sg35 I00 -sg29 +sg19 I01 -sS':' -p73 +sg20 I01 -sS'remainder' -p74 +sg38 I00 -sS'vmult' -p75 +sg39 I1 -sg47 -Nssbasg7 -Nsg8 +sg21 +Nssbasg83 +Nsg84 S'Templates' -p76 -sg10 +p150 +sg86 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 +p151 +sbasg83 +Nsg84 S'root = invisible node' -p78 -sg10 +p152 +sg86 S'required by tree structure' -p79 +p153 sb.
\ No newline at end of file diff --git a/ReckonPrimer.activity/exstore.py b/ReckonPrimer.activity/exstore.py index 53d64ce..ad59c69 100644 --- a/ReckonPrimer.activity/exstore.py +++ b/ReckonPrimer.activity/exstore.py @@ -31,114 +31,65 @@ class ExStore: self._display = display self._coach = coach self._active_exerc = None - #self._sett = Settings() - #Provisorium für die "3-Button-Version" vvvvvvvvvvvvvvvvvvvvvvvvv - #self._data = [(self._sett.get_setting('addsub_simp'), []), - # (self._sett.get_setting('passten'), []), - # (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 -# }, []) -# _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]) +####### _c1 ################################################################## +####### _c1c1c1t ############################################################# + _sett = {'topic' : 'times_div', + 'title' : '99-er Reihe', + '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, + 'calclines' : 1, + 'MAX' : 50, + + 'MIN' : 10, + '*' : True, + '*commute' : False, + ':' : False, + 'in' : False, + 'remainder' : False, + 'vadd' : 0, + 'vmult' : 1, + 'factors' : [99], + 'shuffle_all' : True, + 'shuffle_inner': True, + 'cut-max' : True + } + _sett['factors'] = [2]; _sett['title'] = '2-er Reihe' + _c1c1c1t2 = Task(copy.deepcopy(_sett), []) + _sett['factors'] = [3]; _sett['title'] = '3-er Reihe' + _c1c1c1t3 = Task(copy.deepcopy(_sett), []) + _sett['factors'] = [4]; _sett['title'] = '4-er Reihe' + _c1c1c1t4 = Task(copy.deepcopy(_sett), []) + _sett['factors'] = [5]; _sett['title'] = '5-er Reihe' + _c1c1c1t5 = Task(copy.deepcopy(_sett), []) + _sett['factors'] = [6]; _sett['title'] = '6-er Reihe' + _c1c1c1t6 = Task(copy.deepcopy(_sett), []) + _sett['factors'] = [7]; _sett['title'] = '7-er Reihe' + _c1c1c1t7 = Task(copy.deepcopy(_sett), []) + _sett['factors'] = [8]; _sett['title'] = '8-er Reihe' + _c1c1c1t8 = Task(copy.deepcopy(_sett), []) + _sett['factors'] = [9]; _sett['title'] = '9-er Reihe' + _c1c1c1t9 = Task(copy.deepcopy(_sett), []) +####### _c1c1c2t ############################################################# + _sett['factors'] = [2,4]; _sett['title'] = '2,4-er Reihe' + _c1c1c2t1 = Task(copy.deepcopy(_sett), []) + _sett['factors'] = [2,4,8]; _sett['title'] = '2,4,8-er Reihe' + _c1c1c2t2 = Task(copy.deepcopy(_sett), []) + #_sett['factors'] = [5,10]; _sett['title'] = '-er Reihe' + #_c1c1c2t2 = Task(copy.deepcopy(_sett), []) + _sett['factors'] = [3,6]; _sett['title'] = '3,6-er Reihe' + _c1c1c2t3 = Task(copy.deepcopy(_sett), []) + _sett['factors'] = [3,6,9]; _sett['title'] = '3,6,9-er Reihe' + _c1c1c2t4 = Task(copy.deepcopy(_sett), []) +####### _c1c1c3t ############################################################# + + +####### _c2 ################################################################## +####### _c3 ################################################################## _c3t1 = Task({'topic' : 'addsub_simp', - 'title' : 'template: + - within 10', + '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. @@ -156,11 +107,11 @@ class ExStore: # 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 + 'shuffle' : False, # shuffle _all_ the calcs 'cut-max' : True # cut set of all calcs down to MAX }, []) _c3t2 = Task({'topic' : 'passten', - 'title' : 'template: passing the 10 barrier with + -', + 'title' : 'Template: + - passing the 10 barrier', '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. @@ -180,7 +131,7 @@ class ExStore: 'cut-max' : True # cut set of all calcs down to MAX }, []) _c3t3 = Task({'topic' : 'times_div', #for programmers only - 'title' : 'template: * ; in', + 'title' : 'Template: * : "in" series', '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. @@ -194,10 +145,6 @@ class ExStore: '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 @@ -206,16 +153,41 @@ class ExStore: 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", + [Collection("Praxis Volksschule", #_c1 + "Rechenuebungen fuer die 1. und 2.Klasse, festgelegt am 16.Dez.09 mit Nina Jaklitsch und Arndt Stoeckl .", None, - []), + [Collection("Uebungen . und 'in' ", #_c1c1 + " ", None, + [Collection("Einzelne Reihen . und 'in'", #_c1c1c1 + " ", None, + [_c1c1c1t2, _c1c1c1t3, _c1c1c1t4, _c1c1c1t5, + _c1c1c1t6, _c1c1c1t7, _c1c1c1t8, _c1c1c1t9 + ]), + Collection("Mehrere Reihen .", + "Wir ueben zusammengehoerende Reihen.", None, + [ + ]), + Collection("Alle Reihen gemischt", + " ", None, + [ + ]) + ]), + Collection("Uebungen :", #_c1c2 + " ", None, + [ + ]), + Collection("Uebungen + und - ", #_c1c3 + " ", 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. \ |