TESTOWANIE KALKULATORA

Proszę wziąć pod uwagę różne sytuacje - sekwencja przycisków:

                        operator  cyfra  znak =  Clear

operator     a        b       c      d

cyfra        e        f       g      d

znak =       h        i       j      d

Clear        d        d       d      d       


Przykładowo:

a)  operator - operator:   nowy operator nadpisuje stary - nie wpływa to na zmianę wartości argumentów;

b)  operator - cyfra:   nowa cyfra będzie wstawiana jako składowa wartość drugiego argumentu operatora;

c)  operator - znak =  wyliczamy wartość wyrażenia jako:

[wartość pierwszego argumentu]  <operator>  [wartość pierwszego argumentu]

d)  czyścimy wszystkie wartości operatorów - przywracamy stan z początku pracy kalkulatora;

e)  ustawiamy argument pierwszy, zapisujemy operator;

f)  kontynuujemy pobieranie wartości dla tego samego argumentu - kolejne cyfry tej samej liczby;

g)  jeśli był zapisany operator to wykonujemy działanie i zapisujemy wynik;

h)  dotychczasowy wynik staje się  pierwszym argumentem, zapsujemy operator.

i)  czyścimy wcześniejsze ustawienia, zaczynamy od początku obliczenia, cyfra rozpoczyna pobieranie składowych liczby pierwszego argumentu.

j)  potwarzamy ostatnie działanie jeśli ono było, jeśli nie, to bez zmian.



TEST:

1.  Co powinno się dziać dla:     12=+3=+4=-5+7==

Poniżej omówiono co się dzieje w przypadku naciskania kolejnych przycisków:

1 →  Naciśnięto "1"  →  dotychczasowe operatory, oraz argumenty są zerowane a my gromadzimy pierwszą wartość z przeznaczeniem dla pierwszego argumentu.  Sytuacja typu: "liczba po znaku równa się".  Wyświetlamy:  1

2 →  Naciśnięto "2"  →  "liczba po liczbie"   Wyświetlamy:  12

= →  Naciśnięto "="  →  "znak równa się po liczbie" - Jeśli był wprowadzony operator to wyliczny jest wynik działania. W tym  przypadku  nie było operatora, zatem wartość to 12.  Wyświetlamy:  12

+ →  Naciśnięto "+"  →  "operator po znaku równa się"  Ustawiamy 12 jako wartość pierwszego argumentu, zapisujemy operator.  Wyświetlamy:  12

3 →  Naciśnięto "3"    "liczba po operatorze"  Gromadzimy wartość z przeznaczeniem dla drugiego argumentu. Wyświetlamy:  3

= →  Naciśnięto "="  →  "znak równa się po liczbie" - Operator był wprowadzony - wyliczamy wynik działania: "12+3".  Wyświetlamy:  15

+   Naciśnięto "+"  →  "operator po znaku równa się"  Ustawiamy 15 jako wartość pierwszego argumentu, zapisujemy operator.  Wyświetlamy:  15

4 →  Naciśnięto "4"  →  "liczba po operatorze"  Gromadzimy wartość z przeznaczeniem dla drugiego argumentu. Wyświetlamy:  4

= →  Naciśnięto "="  →  "znak równa się po liczbie" - Operator był wprowadzony - wyliczamy wynik działania: "15+4".  Wyświetlamy:  19

- →  Naciśnięto "-"  →  "operator po znaku równa się"  Ustawiamy 19 jako wartość pierwszego argumentu, zapisujemy operator.  Wyświetlamy:  19

5 →  Naciśnięto "5"  →  "liczba po operatorze"  Gromadzimy wartość z przeznaczeniem dla drugiego argumentu. Wyświetlamy:  5

+ →  Naciśnięto "+"  →  "operator po liczbie" - Operator był wprowadzony - wyliczamy wynik działania: "19-5".  Ustawiamy 14 jako wartość pierwszego argumentu, zapisujemy operator. Wyświetlamy:  14

7 →  Naciśnięto "7"  →  "liczba po operatorze"  Gromadzimy wartość z przeznaczeniem dla drugiego argumentu. Wyświetlamy:  7

= →  Naciśnięto "="  →  "znak równa się po liczbie" - Operator był wprowadzony - wyliczamy wynik działania: "14+7".  Wyświetlamy:  21

= →  Naciśnięto "="  →  "znak równa się po znaku równa się"   Jeśli istniało działanie (operator i wartość drugiego argumentu), to powtarzamy je.  W tym przypadku powtarzamy zwiększenie wartości o 7  (+7).   Wyświetlamy:  28




2.  Co powinno się dziać dla:     12+3+4-5=+7==

Poniżej krótki opis:

1 →  Naciśnięto "1"  →  dotychczasowe operatory, oraz argumenty są zerowane a my gromadzimy pierwszą wartość z przeznaczeniem dla pierwszego argumentu.  Sytuacja typu: "liczba po znaku równa się".  Wyświetlamy:  1

2 →  Naciśnięto "2"  →  "liczba po liczbie"   Wyświetlamy:  12

+ →  Naciśnięto "+"  →   "operator po liczbie" - Operator nie był wprowadzony.   Ustawiamy 12 jako wartość pierwszego argumentu, zapisujemy operator.  Wyświetlamy:  12

3 →  Naciśnięto "3"    "liczba po operatorze"  Gromadzimy wartość z przeznaczeniem dla drugiego argumentu. Wyświetlamy:  3

+   Naciśnięto "+"  →  "operator po liczbie" - Operator był wprowadzony - wyliczamy wynik działania: "12+3".  Wyświetlamy:  15

4 →  Naciśnięto "4"  →  "liczba po operatorze"  Gromadzimy wartość z przeznaczeniem dla drugiego argumentu. Wyświetlamy:  4

- →  Naciśnięto "-"  →  "operator po liczbie" - Operator był wprowadzony - wyliczamy wynik działania: "15+4".   Wyświetlamy:  19

5 →  Naciśnięto "5"  →  "liczba po operatorze"  Gromadzimy wartość z przeznaczeniem dla drugiego argumentu. Wyświetlamy:  5

= →  Naciśnięto "="  →  "znak równa się po liczbie" - Operator był wprowadzony - wyliczamy wynik działania: "19-5".  Wyświetlamy:  14

+ →  Naciśnięto "+"  →  "operator po znaku równa się"  Ustawiamy 14 jako wartość pierwszego argumentu, zapisujemy operator.  Wyświetlamy:  14

7 →  Naciśnięto "7"  →  "liczba po operatorze"  Gromadzimy wartość z przeznaczeniem dla drugiego argumentu. Wyświetlamy:  7

= →  Naciśnięto "="  →  "znak równa się po liczbie" - Operator był wprowadzony - wyliczamy wynik działania: "14+7".  Wyświetlamy:  21

= →  Naciśnięto "="  →  "znak równa się po znaku równa się"   Jeśli istniało działanie (operator i wartość drugiego argumentu), to powtarzamy je.  W tym przypadku powtarzamy zwiększenie wartości o 7  (+7).   Wyświetlamy:  28




3.  Co powinno się dziać dla:     --2+3==

Poniżej krótki opis:

- →  Naciśnięto "-"  →   pierwszym argumentem staje się zero, zapisujemy wprowadzony operator.  Sytuacja typu: "operator po znaku równa się".  Wyświetlamy:  0

- →  Naciśnięto "-"  →  "operator po operatorze"  - Ustawiamy nowy operator.   Wyświetlamy:  0

2 →  Naciśnięto "2"    "liczba po operatorze"  Gromadzimy wartość z przeznaczeniem dla drugiego argumentu. Wyświetlamy:  2

+ →  Naciśnięto "+"  →  "operator po liczbie" - Operator był wprowadzony - wyliczamy wynik działania: "0-2".  Ustawiamy -2 jako wartość pierwszego argumentu, zapisujemy operator. Wyświetlamy:  -2

3 →  Naciśnięto "3"    "liczba po operatorze"  Gromadzimy wartość z przeznaczeniem dla drugiego argumentu. Wyświetlamy:  3

= →  Naciśnięto "="  →  "znak równa się po liczbie" - Operator był wprowadzony - wyliczamy wynik działania: "-2+3".  Wyświetlamy:  1

= →  Naciśnięto "="  →  "znak równa się po znaku równa się"   Jeśli istniało działanie (operator i wartość drugiego argumentu), to powtarzamy je.  W tym przypadku powtarzamy zwiększenie wartości o 3  (+3).   Wyświetlamy:  4




4.  Co powinno się dziać dla:     --2*==

Poniżej krótki opis:

- →  Naciśnięto "-"  →   pierwszym argumentem staje się zero, zapisujemy wprowadzony operator.  Sytuacja typu: "operator po znaku równa się".  Wyświetlamy:  0

- →  Naciśnięto "-"  →  "operator po operatorze"  - Ustawiamy nowy operator.   Wyświetlamy:  0

2 →  Naciśnięto "2"    "liczba po operatorze"  Gromadzimy wartość z przeznaczeniem dla drugiego argumentu. Wyświetlamy:  2

* →  Naciśnięto "*"  →  "operator po liczbie" - Operator był wprowadzony - wyliczamy wynik działania: "0-2".  Ustawiamy -2 jako wartość pierwszego argumentu, zapisujemy operator. Wyświetlamy:  -2

= →  Naciśnięto "="  →  "znak równa się po operatorze" - wyliczamy wynik działania: "-2  *  -2".  Wyświetlamy:  4

= →  Naciśnięto "="  →  "znak równa się po znaku równa się"   Jeśli istniało działanie (operator i wartość drugiego argumentu), to powtarzamy je.  W tym przypadku powtarzamy przemnorżenie przez -2 (* -2).   Wyświetlamy:  -8




5.  Uwaga:

Poniższe działania dają ten sam wynik:

12+3=+4=

12+3+4=

12=++3=+4=




6.  Co powinno się dziać dla:     --2==3==4-====+*=/10*2==-==+=/3==CC+2==C==

Poniżej krótki opis:

- →  Naciśnięto "-"  →   pierwszym argumentem staje się zero, zapisujemy wprowadzony operator.  Sytuacja typu: "operator po znaku równa się".  Wyświetlamy:  0

- →  Naciśnięto "-"  →  "operator po operatorze"  - Ustawiamy nowy operator.   Wyświetlamy:  0

2 →  Naciśnięto "2"    "liczba po operatorze"  Gromadzimy wartość z przeznaczeniem dla drugiego argumentu. Wyświetlamy:  2

= →  Naciśnięto "="  →  "znak równa się po liczbie" - Operator był wprowadzony - wyliczamy wynik działania: "0-2".  Wyświetlamy:  -2

= →  Naciśnięto "="  →  "znak równa się po znaku równa się"   Jeśli istniało działanie (operator i wartość drugiego argumentu), to powtarzamy je.  W tym przypadku powtarzamy zmniejszenie wartości o 2  (-2).   Wyświetlamy:  -4

3 →  Naciśnięto "3"  →  "liczba po znaku równa się"  Dotychczasowe operatory, oraz argumenty są zerowane a my gromadzimy pierwszą wartość z przeznaczeniem dla pierwszego argumentu.  Wyświetlamy:  3

= →  Naciśnięto "="  →  "znak równa się po liczbie" - Jeśli był wprowadzony operator to wyliczny jest wynik działania. W tym  przypadku  nie było operatora, zatem wartość to 3.  Wyświetlamy:  3

= →  Naciśnięto "="  →  "znak równa się po znaku równa się"   Jeśli istniało działanie (operator i wartość drugiego argumentu), to powtarzamy je.  W tym przypadku niczego nie powtarzamy.  Wyświetlamy:  3

4 →  Naciśnięto "4"  →  "liczba po znaku równa się"  Dotychczasowe operatory, oraz argumenty są zerowane a my gromadzimy pierwszą wartość z przeznaczeniem dla pierwszego argumentu.  Wyświetlamy:  4

- →  Naciśnięto "-"  →   "operator po liczbie" - Operator nie był wprowadzony.   Ustawiamy 4 jako wartość pierwszego argumentu, zapisujemy operator.  Wyświetlamy:  4

= →  Naciśnięto "="  →  "znak równa się po operatorze" - wyliczamy wynik działania: "4-4".  Wyświetlamy:  0

= →  Naciśnięto "="  →  "znak równa się po znaku równa się"   Jeśli istniało działanie (operator i wartość drugiego argumentu), to powtarzamy je.  W tym przypadku powtarzamy zmniejszenie wartości o 4  (-4).   Wyświetlamy:  -4

= →  Naciśnięto "="  →  "znak równa się po znaku równa się"   Jeśli istniało działanie (operator i wartość drugiego argumentu), to powtarzamy je.  W tym przypadku powtarzamy zmniejszenie wartości o 4  (-4).   Wyświetlamy:  -8

= →  Naciśnięto "="  →  "znak równa się po znaku równa się"   Jeśli istniało działanie (operator i wartość drugiego argumentu), to powtarzamy je.  W tym przypadku powtarzamy zmniejszenie wartości o 4  (-4).   Wyświetlamy:  -12

+ →  Naciśnięto "+"  →  "operator po znaku równa się"  Ustawiamy -12 jako wartość pierwszego argumentu, zapisujemy operator.  Wyświetlamy:  -12

* →  Naciśnięto "*"  →  "operator po operatorze"  - Ustawiamy nowy operator.   Wyświetlamy:  -12

= →  Naciśnięto "="  →  "znak równa się po operatorze" - wyliczamy wynik działania: "-12  *  -12".  Wyświetlamy:  144

/ →  Naciśnięto "/"  →  "operator po znaku równa się"  Ustawiamy 144 jako wartość pierwszego argumentu, zapisujemy operator.  Wyświetlamy:  144

1 →  Naciśnięto "1"  →  "liczba po operatorze"  Gromadzimy wartość z przeznaczeniem dla drugiego argumentu. Wyświetlamy:  1

0 →  Naciśnięto "0"  →  "liczba po liczbie"   Wyświetlamy:  10

*   Naciśnięto "*"  →  "operator po liczbie" - Operator był wprowadzony - wyliczamy wynik działania: "144/10".  Zapisujemy operator.  Wyświetlamy:  14

2 →  Naciśnięto "2"    "liczba po operatorze"  Gromadzimy wartość z przeznaczeniem dla drugiego argumentu. Wyświetlamy:  2

= →  Naciśnięto "="  →  "znak równa się po liczbie" - Operator był wprowadzony - wyliczamy wynik działania: "14*2".  Wyświetlamy:  28

= →  Naciśnięto "="  →  "znak równa się po znaku równa się"   Jeśli istniało działanie (operator i wartość drugiego argumentu), to powtarzamy je.  W tym przypadku mnożymy przez dwa  (*2).   Wyświetlamy:  56

- →  Naciśnięto "-"  →  "operator po znaku równa się"  Ustawiamy 56 jako wartość pierwszego argumentu, zapisujemy operator.  Wyświetlamy:  56

= →  Naciśnięto "="  →  "znak równa się po operatorze" - wyliczamy wynik działania: "56-56".  Wyświetlamy:  0

= →  Naciśnięto "="  →  "znak równa się po znaku równa się"   Jeśli istniało działanie (operator i wartość drugiego argumentu), to powtarzamy je.  W tym przypadku powtarzamy zmniejszenie wartości o 56  (-56).   Wyświetlamy:  -56

+ →  Naciśnięto "+"  →  "operator po znaku równa się"  Ustawiamy -56 jako wartość pierwszego argumentu, zapisujemy operator.  Wyświetlamy:  -56

= →  Naciśnięto "="  →  "znak równa się po operatorze" - wyliczamy wynik działania: "-56  +  -56".  Wyświetlamy:  -112

/ →  Naciśnięto "/"  →  "operator po znaku równa się"  Ustawiamy -112 jako wartość pierwszego argumentu, zapisujemy operator.  Wyświetlamy:  -112

3 →  Naciśnięto "3"  →  "liczba po operatorze"  Gromadzimy wartość z przeznaczeniem dla drugiego argumentu. Wyświetlamy:  3

= →  Naciśnięto "="  →  "znak równa się po liczbie" - Operator był wprowadzony - wyliczamy wynik działania: "-112/3".  Wyświetlamy:  -37

= →  Naciśnięto "="  →  "znak równa się po znaku równa się"   Jeśli istniało działanie (operator i wartość drugiego argumentu), to powtarzamy je.  W tym przypadku powtarzamy dzielenie przez 3  (/3).   Wyświetlamy:  -12

C →  Naciśnięto "C"  →  "clear"  Czyścmy wszelkie wartości, operatory, itp. Ustawiamy zero jako pierwszy argument. Wyświetlamy:  0

C →  Naciśnięto "C"  →  "clear"  Czyścmy wszelkie wartości, operatory, itp. Ustawiamy zero jako pierwszy argument. Wyświetlamy:  0

+ →  Naciśnięto "+"  →   pierwszym argumentem staje się zero, zapisujemy wprowadzony operator.  Sytuacja typu: "operator po clear".  Wyświetlamy:  0

2 →  Naciśnięto "2"  →  "liczba po operatorze"  Gromadzimy wartość z przeznaczeniem dla drugiego argumentu. Wyświetlamy:  2

= →  Naciśnięto "="  →  "znak równa się po liczbie" - Operator był wprowadzony - wyliczamy wynik działania: "0+2".  Wyświetlamy:  2

= →  Naciśnięto "="  →  "znak równa się po znaku równa się"   Jeśli istniało działanie (operator i wartość drugiego argumentu), to powtarzamy je.  W tym przypadku powtarzamy zwiększenie wartości o 2  (+2).   Wyświetlamy:  4

C →  Naciśnięto "C"  →  "clear"  Czyścmy wszelkie wartości, operatory, itp. Ustawiamy zero jako pierwszy argument. Wyświetlamy:  0

= →  Naciśnięto "="  →  "znak równa się po liczbie" - Operator nie był wprowadzony.  Wyświetlamy:  0

= →  Naciśnięto "="  →  "znak równa się po znaku równa się"   Jeśli istniało działanie (operator i wartość drugiego argumentu), to powtarzamy je.  W tym przypadku nie ma działania.   Wyświetlamy:  0



7.  Co powinno się dziać dla:  ==123+-12==11=12+=34+2+3-2==+5==+=*/*/=C12=+3=+2+5C=12= 4+1=

Poniżej krótki opis:

= →  Naciśnięto "="  →  "znak równa się po liczbie" - Operator nie był wprowadzony.  Wyświetlamy:  0

= →  Naciśnięto "="  →  "znak równa się po znaku równa się"   Jeśli istniało działanie (operator i wartość drugiego argumentu), to powtarzamy je.  W tym przypadku nie był wprowadzony.   Wyświetlamy:  0

1 →  Naciśnięto "1"    "liczba po znaku równa się"  Czyścimy poprzednie ustawienia. Zaczynamy nowe obliczenia. Gromadzimy wartość z przeznaczeniem dla pierwszego argumentu. Wyświetlamy:  1

2 →  Naciśnięto "2"  →  "liczba po liczbie"   Wyświetlamy:  12

3 →  Naciśnięto "3"  →  "liczba po liczbie"   Wyświetlamy:  123

+ →  Naciśnięto "+"  →   "operator po liczbie" - Operator nie był wprowadzony.   Ustawiamy 123 jako wartość pierwszego argumentu, zapisujemy operator.  Wyświetlamy:  123

- →  Naciśnięto "*"  →  "operator po operatorze"  - Ustawiamy nowy operator.   Wyświetlamy:  123

1 →  Naciśnięto "1"  →  "liczba po operatorze"  Gromadzimy wartość z przeznaczeniem dla drugiego argumentu. Wyświetlamy:  1

2 →  Naciśnięto "2"  →  "liczba po liczbie"   Wyświetlamy:  12

= →  Naciśnięto "="  →  "znak równa się po liczbie" - Operator był wprowadzony - wyliczamy wynik działania: "123-12".  Wyświetlamy:  111

= →  Naciśnięto "="  →  "znak równa się po znaku równa się"   Jeśli istniało działanie (operator i wartość drugiego argumentu), to powtarzamy je.  W tym przypadku zmniejszenie o 12  (-12).   Wyświetlamy:  99

1 →  Naciśnięto "1"    "liczba po znaku równa się"  Czyścimy poprzednie ustawienia. Zaczynamy nowe obliczenia. Gromadzimy wartość z przeznaczeniem dla pierwszego argumentu. Wyświetlamy:  1

1 →  Naciśnięto "1"  →  "liczba po liczbie"   Wyświetlamy:  11

= →  Naciśnięto "="  →  "znak równa się po liczbie" - Operator nie był wprowadzony.  Wyświetlamy:  11

1 →  Naciśnięto "1"    "liczba po znaku równa się"  Czyścimy poprzednie ustawienia. Zaczynamy nowe obliczenia. Gromadzimy wartość z przeznaczeniem dla pierwszego argumentu. Wyświetlamy:  1

2 →  Naciśnięto "2"  →  "liczba po liczbie"   Wyświetlamy:  12

+ →  Naciśnięto "+"  →   "operator po liczbie" - Operator nie był wprowadzony.   Ustawiamy 12 jako wartość pierwszego argumentu, zapisujemy operator.  Wyświetlamy:  12

= →  Naciśnięto "="  →  "znak równa się po operatorze" - wyliczamy wynik działania: "12+12".  Wyświetlamy:  24

3 →  Naciśnięto "3"    "liczba po znaku równa się"  Czyścimy poprzednie ustawienia. Zaczynamy nowe obliczenia. Gromadzimy wartość z przeznaczeniem dla pierwszego argumentu. Wyświetlamy:  3

4 →  Naciśnięto "4"  →  "liczba po liczbie"   Wyświetlamy:  34

+ →  Naciśnięto "+"  →   "operator po liczbie" - Operator nie był wprowadzony.   Ustawiamy 34 jako wartość pierwszego argumentu, zapisujemy operator.  Wyświetlamy:  34

2 →  Naciśnięto "2"  →  "liczba po operatorze"  Gromadzimy wartość z przeznaczeniem dla drugiego argumentu. Wyświetlamy:  2

+ →  Naciśnięto "+"  →  "operator po liczbie" - Operator był wprowadzony - wyliczamy wynik działania: "34+2".   Wyświetlamy:  36

3 →  Naciśnięto "3"  →  "liczba po operatorze"  Gromadzimy wartość z przeznaczeniem dla drugiego argumentu. Wyświetlamy:  3

- →  Naciśnięto "-"  →  "operator po liczbie" - Operator był wprowadzony - wyliczamy wynik działania: "36+3".   Wyświetlamy:  39

2 →  Naciśnięto "2"  →  "liczba po operatorze"  Gromadzimy wartość z przeznaczeniem dla drugiego argumentu. Wyświetlamy:  2

= →  Naciśnięto "="  →  "znak równa się po liczbie" - Operator był wprowadzony - wyliczamy wynik działania: "39-2".  Wyświetlamy:  37

= →  Naciśnięto "="  →  "znak równa się po znaku równa się"   Jeśli istniało działanie (operator i wartość drugiego argumentu), to powtarzamy je.  W tym przypadku powtarzamy zmniejszenie wartości o 2  (-2).   Wyświetlamy:  35

+ →  Naciśnięto "+"  →  "operator po znaku równa się"  Ustawiamy 35 jako wartość pierwszego argumentu, zapisujemy operator.  Wyświetlamy:  35

5 →  Naciśnięto "5"  →  "liczba po operatorze"  Gromadzimy wartość z przeznaczeniem dla drugiego argumentu. Wyświetlamy:  5

= →  Naciśnięto "="  →  "znak równa się po liczbie" - Operator był wprowadzony - wyliczamy wynik działania: "35+5".  Wyświetlamy:  40

= →  Naciśnięto "="  →  "znak równa się po znaku równa się"   Jeśli istniało działanie (operator i wartość drugiego argumentu), to powtarzamy je.  W tym przypadku powtarzamy zwiększenie wartości o 5  (+5).   Wyświetlamy:  45

+ →  Naciśnięto "+"  →  "operator po znaku równa się"  Ustawiamy 45 jako wartość pierwszego argumentu, zapisujemy operator.  Wyświetlamy:  45

= →  Naciśnięto "="  →  "znak równa się po operatorze" - wyliczamy wynik działania: "45+45".  Wyświetlamy:  90

* →  Naciśnięto "*"  →  "operator po znaku równa się"  Ustawiamy 90 jako wartość pierwszego argumentu, zapisujemy operator.  Wyświetlamy:  90

/ →  Naciśnięto "/"  →  "operator po operatorze"  - Ustawiamy nowy operator.   Wyświetlamy:  90

* →  Naciśnięto "*"  →  "operator po operatorze"  - Ustawiamy nowy operator.   Wyświetlamy:  90

/ →  Naciśnięto "/"  →  "operator po operatorze"  - Ustawiamy nowy operator.   Wyświetlamy:  90

= →  Naciśnięto "="  →  "znak równa się po operatorze" - wyliczamy wynik działania: "90/90".  Wyświetlamy:  1

C →  Naciśnięto "C"  →  "clear"  Czyścmy wszelkie wartości, operatory, itp. Ustawiamy zero jako pierwszy argument. Wyświetlamy:  0

1 →  Naciśnięto "1"    "liczba po clear"  Zaczynamy nowe obliczenia. Gromadzimy wartość z przeznaczeniem dla pierwszego argumentu. Wyświetlamy:  1

2 →  Naciśnięto "2"  →  "liczba po liczbie"   Wyświetlamy:  12

= →  Naciśnięto "="  →  "znak równa się po liczbie" - Operator nie był wprowadzony.  Wyświetlamy:  12

+ →  Naciśnięto "+"  →  "operator po znaku równa się"  Ustawiamy 12 jako wartość pierwszego argumentu, zapisujemy operator.  Wyświetlamy:  12

3 →  Naciśnięto "3"  →  "liczba po operatorze"  Gromadzimy wartość z przeznaczeniem dla drugiego argumentu. Wyświetlamy:  3

= →  Naciśnięto "="  →  "znak równa się po liczbie" - Operator był wprowadzony - wyliczamy wynik działania: "12+3".  Wyświetlamy:  15

+ →  Naciśnięto "+"  →  "operator po znaku równa się"  Ustawiamy 15 jako wartość pierwszego argumentu, zapisujemy operator.  Wyświetlamy:  15

2 →  Naciśnięto "2"  →  "liczba po operatorze"  Gromadzimy wartość z przeznaczeniem dla drugiego argumentu. Wyświetlamy:  2

+ →  Naciśnięto "+"  →  "operator po liczbie" - Operator był wprowadzony - wyliczamy wynik działania: "15+2".  Zapisujemy operator.  Wyświetlamy:  17

5 →  Naciśnięto "5"  →  "liczba po operatorze"  Gromadzimy wartość z przeznaczeniem dla drugiego argumentu. Wyświetlamy:  5

C →  Naciśnięto "C"  →  "clear"  Czyścmy wszelkie wartości, operatory, itp. Ustawiamy zero jako pierwszy argument. Wyświetlamy:  0

= →  Naciśnięto "="  →  "znak równa się po liczbie (clear)" - Operator nie był wprowadzony.  Wyświetlamy:  0

1 →  Naciśnięto "1"    "liczba po znaku równa się"  Czyścimy poprzednie ustawienia. Zaczynamy nowe obliczenia. Gromadzimy wartość z przeznaczeniem dla pierwszego argumentu. Wyświetlamy:  1

2 →  Naciśnięto "2"  →  "liczba po liczbie"   Wyświetlamy:  12

= →  Naciśnięto "="  →  "znak równa się po liczbie" - Operator nie był wprowadzony.  Wyświetlamy:  12

4 →  Naciśnięto "1"    "liczba po znaku równa się"  Czyścimy poprzednie ustawienia. Zaczynamy nowe obliczenia. Gromadzimy wartość z przeznaczeniem dla pierwszego argumentu. Wyświetlamy:  4

+ →  Naciśnięto "+"  →   "operator po liczbie" - Operator nie był wprowadzony.   Ustawiamy 4 jako wartość pierwszego argumentu, zapisujemy operator.  Wyświetlamy:  4

1 →  Naciśnięto "1"  →  "liczba po operatorze"  Gromadzimy wartość z przeznaczeniem dla drugiego argumentu. Wyświetlamy:  1

= →  Naciśnięto "="  →  "znak równa się po liczbie" - Operator był wprowadzony - wyliczamy wynik działania: "4+1".  Wyświetlamy:  5