ERD UMLStandard Taschenrechner 1 Design Model UMLStandard designModel Z0W0dS1SbkO6z0A4vul1SQAA 1 Main True FXqeJ9jZBkyEs4HJ6ODJ8gAA SmUPjc3mb0K2Jo3/sL83ZgAA 1 Mealy Automaton FXqeJ9jZBkyEs4HJ6ODJ8gAA TOP GPQxSHZ6gk6TlnM6wQSu4QAA 4 digit LBtryhxMV0+LMpKR1G9zHQAA 2 nlUh6WISWEarUcxz2YLzRwAA kC5+bHQ4nkaPd+CT+kPa4wAA 3 wOHEVRbAq0K+DCAolTPC5QAA 7AQjtnbS20ado2bofD1dvQAA kBj8N54JHE+aJrsUSAqDTwAA 3 ZD+N8ZM5A0q0lSrnLHPxpQAA EmZyPYGphkevM3D8l6cbJQAA kBj8N54JHE+aJrsUSAqDTwAA comma LBtryhxMV0+LMpKR1G9zHQAA 2 SMD83DizdUqDMSUcG0EMogAA FvyNQj3sbkONhjagKjOa9wAA 3 JAMv1obQPUu6xaR60gBi3QAA S6HhXKiaeUODtaoD6kS2oAAA xwj+XS/3m0qq43fu8PlH5AAA 4 wOHEVRbAq0K+DCAolTPC5QAA S6HhXKiaeUODtaoD6kS2oAAA xwj+XS/3m0qq43fu8PlH5AAA DAIzTwlqq0udwTLSVhizrQAA operator LBtryhxMV0+LMpKR1G9zHQAA 2 KdXBzRFIQEyQQ636kf8ixAAA u0wT3zfpSUKQxZqnum//XwAA 3 ZD+N8ZM5A0q0lSrnLHPxpQAA DAIzTwlqq0udwTLSVhizrQAA iqZY9PEeNEK9GqZEK/w4hwAA 3 JAMv1obQPUu6xaR60gBi3QAA 7AQjtnbS20ado2bofD1dvQAA iqZY9PEeNEK9GqZEK/w4hwAA Initial1 pkInitial LBtryhxMV0+LMpKR1G9zHQAA 1 rJUtQ3zFbEStiXabNVLfpQAA 1 EmZyPYGphkevM3D8l6cbJQAA 1 Taschenrechner: Mealy Automaton GPQxSHZ6gk6TlnM6wQSu4QAA wdPUwzgelEq/8LxJkUENJQAA 19 clMaroon $00B9FFFF 97 93 153 40 nvAC3d0j4EWsYkxi45DULQAA digit False False nvAC3d0j4EWsYkxi45DULQAA clMaroon $00B9FFFF 551 93 147 40 bvghOiVcwkioe2NstWrhqQAA comma False False bvghOiVcwkioe2NstWrhqQAA clMaroon $00B9FFFF 320 257 132 40 Ofl0Yuv1mU+xu+iATRmfxAAA operator False False Ofl0Yuv1mU+xu+iATRmfxAAA clMaroon $00B9FFFF lsRectilinear 249,102;551,102 wOHEVRbAq0K+DCAolTPC5QAA SMD83DizdUqDMSUcG0EMogAA nlUh6WISWEarUcxz2YLzRwAA 0,255182337523484 47,5394572960189 addComma : / o_add_comma wOHEVRbAq0K+DCAolTPC5QAA False 1,5707963267949 30 wOHEVRbAq0K+DCAolTPC5QAA False -1,5707963267949 15 wOHEVRbAq0K+DCAolTPC5QAA clMaroon $00B9FFFF lsRectilinear 136,132;136,292;320,292 7AQjtnbS20ado2bofD1dvQAA KdXBzRFIQEyQQ636kf8ixAAA nlUh6WISWEarUcxz2YLzRwAA -0,17114858469693 82,2009732302483 actionOperator : / o_compute_and_save_operator 7AQjtnbS20ado2bofD1dvQAA False 1,5707963267949 30 7AQjtnbS20ado2bofD1dvQAA False -1,5707963267949 15 7AQjtnbS20ado2bofD1dvQAA clMaroon $00B9FFFF lsRectilinear 451,264;584,264;584,132 DAIzTwlqq0udwTLSVhizrQAA SMD83DizdUqDMSUcG0EMogAA KdXBzRFIQEyQQ636kf8ixAAA -4,50699282025021 49,030602688525 addComma : / o_add_comma DAIzTwlqq0udwTLSVhizrQAA False 1,5707963267949 30 DAIzTwlqq0udwTLSVhizrQAA False -1,5707963267949 15 DAIzTwlqq0udwTLSVhizrQAA clMaroon $00B9FFFF lsRectilinear 660,132;660,292;451,292 JAMv1obQPUu6xaR60gBi3QAA KdXBzRFIQEyQQ636kf8ixAAA SMD83DizdUqDMSUcG0EMogAA 0,11425433724526 122,80065146407 actionOperator : / o_compute_and_save_operator JAMv1obQPUu6xaR60gBi3QAA False 1,5707963267949 30 JAMv1obQPUu6xaR60gBi3QAA False -1,5707963267949 15 JAMv1obQPUu6xaR60gBi3QAA clMaroon $00B9FFFF lsRectilinear 320,264;176,264;176,132 ZD+N8ZM5A0q0lSrnLHPxpQAA nlUh6WISWEarUcxz2YLzRwAA KdXBzRFIQEyQQ636kf8ixAAA -1,73299505552453 55,7314991723711 actionDigit : / o_first_digit ZD+N8ZM5A0q0lSrnLHPxpQAA False 1,5707963267949 30 ZD+N8ZM5A0q0lSrnLHPxpQAA False -1,5707963267949 15 ZD+N8ZM5A0q0lSrnLHPxpQAA clMaroon $00B9FFFF 38 104 20 20 k4pu28fb8kORppcD3PZjOAAA clMaroon $00B9FFFF lsRectilinear 57,114;97,114 EmZyPYGphkevM3D8l6cbJQAA nlUh6WISWEarUcxz2YLzRwAA rJUtQ3zFbEStiXabNVLfpQAA False 1,5707963267949 15 EmZyPYGphkevM3D8l6cbJQAA False 1,5707963267949 30 EmZyPYGphkevM3D8l6cbJQAA False -1,5707963267949 15 EmZyPYGphkevM3D8l6cbJQAA clMaroon $00B9FFFF lsRectilinear 128,93;128,52;200,52;200,93 kBj8N54JHE+aJrsUSAqDTwAA nlUh6WISWEarUcxz2YLzRwAA nlUh6WISWEarUcxz2YLzRwAA 0,904826647775561 17,8044938147649 actionDigit : / o_add_digit kBj8N54JHE+aJrsUSAqDTwAA False 1,5707963267949 30 kBj8N54JHE+aJrsUSAqDTwAA False -1,5707963267949 15 kBj8N54JHE+aJrsUSAqDTwAA clMaroon $00B9FFFF lsRectilinear 632,93;632,44;680,44;680,93 S6HhXKiaeUODtaoD6kS2oAAA SMD83DizdUqDMSUcG0EMogAA SMD83DizdUqDMSUcG0EMogAA -3,30296712886116 87,1320836431679 addComma : / o_error_more_than_one_comma S6HhXKiaeUODtaoD6kS2oAAA False 1,5707963267949 30 S6HhXKiaeUODtaoD6kS2oAAA False -1,5707963267949 15 S6HhXKiaeUODtaoD6kS2oAAA clMaroon $00B9FFFF lsRectilinear 561,93;561,72;615,72;615,93 xwj+XS/3m0qq43fu8PlH5AAA SMD83DizdUqDMSUcG0EMogAA SMD83DizdUqDMSUcG0EMogAA -3,44321110930092 47,1274866717927 actionDigit : / o_add_decmial xwj+XS/3m0qq43fu8PlH5AAA False 1,5707963267949 30 xwj+XS/3m0qq43fu8PlH5AAA False -1,5707963267949 15 xwj+XS/3m0qq43fu8PlH5AAA clMaroon $00B9FFFF lsRectilinear 345,296;345,332;425,332;425,296 True iqZY9PEeNEK9GqZEK/w4hwAA KdXBzRFIQEyQQ636kf8ixAAA KdXBzRFIQEyQQ636kf8ixAAA -1,1999045554086 19,313207915828 actionOperator : / o_error_more_than_one_operator iqZY9PEeNEK9GqZEK/w4hwAA False 1,5707963267949 30 iqZY9PEeNEK9GqZEK/w4hwAA False -1,5707963267949 15 iqZY9PEeNEK9GqZEK/w4hwAA clMaroon $00D7D7D7 clRed 716 12 399 203 private var v_value: Number; private var v_value_old: Number; private var v_digit: int = 0; private var v_operator: String = "="; private var v_operator_old: String; private var v_decimal_factor: Number; // für Nachkommaberechnung public function get value(): Number { return v_value; } private function set value(p_value: Number): void { v_value = p_value; dispatchEvent(new Event(Event.CHANGE)); } clMaroon $00B9FFFF clBlue 309 384 298 368 private function o_handle_add_first_digit() { value = v_digit; } private function o_add_digit() { value = v_value*10 + v_digit; } private function o_handle_add_decimal() { v_decimal_factor /= 10; value += v_digit*v_decmial_factor; } private function o_handle_add_comma() { v_decimal_factor = 1; } // Ignoriere fehlerhafte Eingaben public function o_error_more_than_one_comma(): void {} public functiono_error_more_than_one_operator(): void {} clMaroon $00B9FFFF clBlue 632 384 220 353 private function o_compute_and_save_operator(): void { switch (v_operator_old) { case "+": v_value_old = v_value_old + v_value; break; case "-": v_value_old = v_value_old - v_value; break; case "*": v_value_old = v_value_old * v_value; break; case "/": v_value_old = v_value_old / v_value; break; case "=": v_value_old = v_value; break; } value = v_value_old; // Wert anzeigen } clMaroon $00D7D7D7 clMaroon 16 384 268 443 public function actionDigit(p_digit: int): void { v_digit = p_digit; v_state_machine.doAction("actionDigit"); } public function addComma(): void { v_state_machine.doAction("addComma"); } public function actionOperator(p_operator: String): void { v_operator_old = v_operator; v_operator = p_operator; v_state_machine.doAction("actionOperator"); } public function actionClear() { v_state_machine.reset(): v_digit = 0: v_operator = "="; v_value_old = 0; value = 0; } clMaroon $00B9FFFF clTeal 1 716 232 470 128 private var v_state_machine: WKI_StateMachine; public funcion ModelTaschenrechner() { v_statemachine = ...; v_state_machine.addEventListener("o_first_digit", o_first_digit); ... } 10 addComma GPQxSHZ6gk6TlnM6wQSu4QAA nvAC3d0j4EWsYkxi45DULQAA bvghOiVcwkioe2NstWrhqQAA 4 7nUled+5SUmCnyBIKNONdwAA ffTxiU6k+kavPunLlHXq7wAA GVDGEDRkckW99AV7WBAFbQAA yDhhhaB4t0CC3eo3V5S4TwAA 1 o_add_comma wOHEVRbAq0K+DCAolTPC5QAA actionOperator GPQxSHZ6gk6TlnM6wQSu4QAA nvAC3d0j4EWsYkxi45DULQAA Ofl0Yuv1mU+xu+iATRmfxAAA 4 DxVkqUZiUU6QDwVfjeTrVgAA V8iuksHduEu8B7zRAlNBJgAA b6HveWy8Q0msUsNzODQADwAA dzdlJ4hPfk+tPpXKGhJ3fAAA 1 o_compute_and_save_operator 7AQjtnbS20ado2bofD1dvQAA addComma GPQxSHZ6gk6TlnM6wQSu4QAA Ofl0Yuv1mU+xu+iATRmfxAAA bvghOiVcwkioe2NstWrhqQAA 4 ii7q1Jv9uEGFCVp57weDXQAA 5Xm2JUnz2EW+eIc5YbdatAAA UeZ2SR60KkK9lu+v3M4LhwAA w/FIXkXVn0m0q15XRK0nTwAA 1 o_add_comma DAIzTwlqq0udwTLSVhizrQAA actionOperator GPQxSHZ6gk6TlnM6wQSu4QAA bvghOiVcwkioe2NstWrhqQAA Ofl0Yuv1mU+xu+iATRmfxAAA 4 nwrfpEGobE6oOXVRGJ8fSwAA 6RU4IKcUlEyISetLIK9YegAA yHZJMljefUSXlQ5ewuENnAAA aJ+ZEs9LKEKaImhVEw1Z8wAA 1 o_compute_and_save_operator JAMv1obQPUu6xaR60gBi3QAA actionDigit GPQxSHZ6gk6TlnM6wQSu4QAA Ofl0Yuv1mU+xu+iATRmfxAAA nvAC3d0j4EWsYkxi45DULQAA 4 bG5g4x7aLk6zZd+AMiV+aAAA nlx7INXrrkinPrW9B5cmewAA 6W8sJqTXS0eBA9MLsOb8AAAA JlW/axgkiUqDf5SPQK3y0gAA 1 o_first_digit ZD+N8ZM5A0q0lSrnLHPxpQAA GPQxSHZ6gk6TlnM6wQSu4QAA k4pu28fb8kORppcD3PZjOAAA nvAC3d0j4EWsYkxi45DULQAA 4 K/gy2DHaTkOr5ZHdCYMwQQAA /fvDOu9x3kSIEQ1jGHaKGAAA cm7wrkaIf0WXDW8Hqy4negAA eTbkEKX2GUuiRETrp7dvBQAA actionDigit GPQxSHZ6gk6TlnM6wQSu4QAA nvAC3d0j4EWsYkxi45DULQAA nvAC3d0j4EWsYkxi45DULQAA 4 PSEEA9hkq0uUCd9NhGlM9QAA Xdc0qCmlx0mHmAUfWfGwPAAA QjCt1yHip0C3N/04rKrdhwAA bNkpx9f3wEeUshe0yzI8DwAA 1 o_add_digit kBj8N54JHE+aJrsUSAqDTwAA addComma GPQxSHZ6gk6TlnM6wQSu4QAA bvghOiVcwkioe2NstWrhqQAA bvghOiVcwkioe2NstWrhqQAA 4 FHbPeyzlUU2U/O9j0lzahQAA s+8/a7famkymLXhCZ2MiswAA AKFdKeIgjkeAPRrI3kN//QAA uETJ3aCdmU2bmHJxw/M+3gAA 1 o_error_more_than_one_comma S6HhXKiaeUODtaoD6kS2oAAA actionDigit GPQxSHZ6gk6TlnM6wQSu4QAA bvghOiVcwkioe2NstWrhqQAA bvghOiVcwkioe2NstWrhqQAA 4 3mRIJ9DyB0WKQ2BTQV+VGQAA EqhjtK11M0uEOhnXce920QAA fICvXYoDmEWySePDHVYVgwAA J75+RIdKBkStFlDakXPM/QAA 1 o_add_decmial xwj+XS/3m0qq43fu8PlH5AAA actionOperator GPQxSHZ6gk6TlnM6wQSu4QAA Ofl0Yuv1mU+xu+iATRmfxAAA Ofl0Yuv1mU+xu+iATRmfxAAA 4 cEbc+G9ynUmcQLLVXobO7QAA SEFbYOtg8EiBPIq/NAKb9QAA Wmjy1A/lzUOipkND8wJNYwAA UxgvltTd4UCOtKwRK/bYkQAA 1 o_error_more_than_one_operator iqZY9PEeNEK9GqZEK/w4hwAA