PetamhtumuZ Z8 calculator1ddhs2FF dd VV,, qq:: @@@@@@ffffffff̙ff̙33f ff33ffffff33""33DDUUff ww!"3333#33$33%&'(33)3333*33+,-.33/033331332ff333ff433563378ff9̙:33;ff<=>?@ffABC33DffEFffGH33IffJKLMffN33OPffffQ̙Rff̙S33̙T̙U33VWffffX3333Y33ffffZff[3333\33ff]ff^ffff_ff`ff33a33ff33b33ffc3333dffffeffff33fg33hffij33kffl̙mffn33opq33rstuffffvffwffx33yff33z{33|33ff}3333~ff3333ff33ff3333ff33ff3333ff3333ff33ffUUDD33""""33DD3333ffUUffww333333333333333333333333ffffffffffffffffffff333333ffffff33ff33ff33ffffffff33ffffff33ffff33Ǚ33ș33əʙ33˙̙33333333ff̙̙ffffܙݙffޙffߙffff33ff3333ff33㙙33ff䙙ffff33ffff3333ff33ffffffwwwwwwffffffUUUUUUDDDDDD333333""""""%%%%%% %%-- --  ?7#@+d= E:?/ ?A- $ ))"d '  +)K T>Ab / +--+k-+ +'/  (K - NA -%    /Y w  - v! 6+)C      >-g9- A  3Qs - ~ $wC   +8"!KR;2 %"+ 09  ׇ3 @ 6[  E/3`1A0]_ON  .->-/0 \Z wy0F-':Q,@ vE!Z;0  6Z   D-Q* O>   &(   6>    @_%-R*#+?N92-">`2`r0 I   Ps`3c' ,!  b N * <( #v?P / _ + -15+:!3? /-A  t ! -2) )-5 *2p-)0j 32+)0+)!)90)Ux)poL+SU3'tcS(3)00 ()-  *_-++)`+++'-3)+-+0)))0))00`?`I  09))3' 0-3R2 HQt+=6v<`I'+-- 9  z+2)l-3"O|!90 RJ>) "  -3)0- t 0)!R) I Kdh'(&2)1!H(+0+)0"-&x)i)-20.Af ++#4E*Y5*a+ ?F   /2 $k& %%]7|,T      - L  'L Ct  Q"O  `3Dn  81  - 9S: ')c;0LYP;- f H) /@ (Z ( |I_>  a -6'X$W w3@g I_<1 b%O '"{@)>u%9lwa+ $:- B  . {?O'EiSi _ fX6I _"t) "!3 !P$?b#  t/(>E W(!N%- G  %% `)B0[b _#~>!:'   d<53? z A,= 0` _ @-0`:98Y!eAY : .O |P0`G@J ! K # " 5&!@K"@ @_0`hT# Q ' n>f "CzD 0Y0`:oa#M5*Ix v#Z{3"  1g/sP1\fI3 +hC ? @ _ N 3ERmoO  0#;A /Da0 t ?`)w? k q %  z  Z -%=oOL7C `q%Bg kw   :W ?` 4`w1  7 #@ʍ/(  + $(`0_8]2  *$ 0Fok7 O  K?._" --* 5244455 5254*54+R->;, 1;Tc255-4:4  ::-55!O::mQQ RQm= D@5&`14+-=::-'d:Q↯:"B  10-=:+g:: p dn::f`dnfd S bf_`d:: ` _g::n`q- d SAlnj:c0 d:!*r5+- c:`: o :mwmk]wmmw6k:: 4si::cfncdd `e:jy2=<::cgq]d::q:::wQkQm:Q=Sd:o  cfn:F:dd:nd ] nAn: oiC@f]9:Qn:8,m:m::m:= :`ifn )b o f:cgq efn` n6gf g"=em:8;mmm]:=_-:gfc`  c65 n@ n:qdedec od B"} nQ;mQ 6m: :4@ gded) J::oenc  '@:cedd3H@C6efc ft:n o @ ::lkP X:k?`3`"@fg:c .dg nnP8`nebT2|+=  m0] 0 Q n:k8:Q:m C:l/O0qbo1Xne v@SgKS :o:! d@#:_1`7b#>- : 3:Q 8lqC]q8= 3:n6:d6~oq Q6gi672 P nxp:n :on:60_B }_PT :2+-?`SD 0# @=  ]$C S %@ -y_: Q1- M &*=='=mepnp!@&c _df *@#r-fe_ d_ =!`?H $@pt1A3 62q4 0Aַ+=!6P.,%570a$ *-=(6P=:=@$% @O%!=_M3=S` pG+pE: 5@  jmn{:PqP CAfp  #@?exn = d <:d$ 3:S@ =Xw=_]2egѦ   =w01O'nc c  q 2}7   /Q if %o_>﷠7 c"(} $аF 㠶 ,@+ =5` f $n_J ,@S]M= n /@ 2d; _X  :m.@ L= -*_@A2 vS gJb-9d9::-  ) @#o  ǯ  :j-;~[ 4` :nj Pc= 3o_2:%  p=#1 %J )| 'cfd wq "S0`A=_ `=  y Рֱdvqб'S-9. =! V;e 6$<  $F' " #3z 3H 2Y@$  a=$0 2]2t/'AS"r%;n?::*AP =O@?\P ` =j o.i T  . n i::ndgT (Pb  ߫]::` ks !D](@ged-+@OS0 =)@cy_,@pq  ;` -ʝo'>::}?`,@$] /? M* @  0 @0\c!/ oS :~,@0`j;n(A_%b0| s J@8 g9a/ Y K@'@qo@t:o}/.@L  =  _ 2 Xp (   ==(0 1 * Th)0U=Y&= 4+#- %& ==  2`Z- !.Y"3 P  #`  -)_ a!&/3:34@4425 a"tA> i` Pz,=9S x- >&r? _o0o0XPch +z`O! 0X= y͑  =@Ҝi^]? P 0sj s(?> ?=  š p |-    +@ `d _ d `d@/@a~( $S rp=  ӟ z )S1z/ < =-?`: I (#+@  =  .vs/@?8a ? &@ ,`0 q @ZK3\ f =`-Y ;` }e 0`O4)@M S(K  :: ;, -&+=P&  &  " = =PQ _PS_=g_ Ð   <&==-&6  &P- H!  0~  1 ,!  !a3 0+ P=9 M>45454524A~%%U 0`9P.+ =;T l Or==o_ K-__M?N5`K xސ+mtt+ %m  i:: SLpC]]z !?+1   ϋ: !` z4+-o0-@ *@`+@ z`  , ,Jd``o%D  (- pW&D?  $ *( @ +@! +@I+@J  o 80;`~A-?`psKJC (= <[M-[&NI+  = OO 0# pP  =*2 0/@4rOq =O ^&z=  "4-?  = и-Q zh  > г=-&4D ,%zgA#  ', " <0R?! A -   .14s2z:+w~<"& 2-2X5` Vֿ%q4!A-R>б  0 E  %6 ::6-%Os !$V1{%-O$3::Pcwk@+g::mQQQQm@&zrP/_- d:4Q :5?!@ pxp|P  :2Pm  I- :@nn::n9+@`.@=g:_~T!oYd:cd:n8f/p(B0`*@` :pAfgcfiddn:dg<``   @dz::ecd)@ r/ Νd:W_#@deded:f9`")@A{&c:d 8  ?`A @Dra3in (g fn P=Y@ PQ @.Xf!d::gdd1f:g?-@< ,@0/@&@_ :b0T6bc1d6 l =`  _7`::e dn:fcd b bQ 0l:- q-% > _5`  _Q2q1|`/S# &p # - :@3`zYQ   W _!{Ulg  -+"QqPoD s{  $ F{C pP)@Bu 4> q3 ' c Q' cQ* 6*T j `_M 1_ 2Blh % ?k&W%*P`%=4    o) %!B6V+01[  F -hc-Q&3  +Q 3zB R  *" s?%%%%%%%%%%%`$:}displayc(180$CE @-;CE key displayzero make "number " make "newnumflag 1 setfieldtext [] "keydisplay :keysequence ;make "firstnumflag 1 0$1 @-*readkey 10'C2 @-*readkey 20D`3 @-*readkey 30$4 @-*readkey 40'C5 @-*readkey 5 0D`6 @-*readkey 60 i{$7 @-*readkey 7 0 i'{C8 @-*readkey 8 0 iD{`9 @-*readkey 9 0 'C0 @-*readkey 0 0 E`. @-D;decimal key if :newnumflag=1 [setfieldtext [] "display "0. make "number "0.][make "temp getfieldtext [] "display if memberp char ascii ". :temp [setfieldtext [] "display :temp] [setfieldtext [] "display word :temp char ascii ". make "number (word :number char ascii ".)]] make "newnumflag 00b~+ @-vif :opflag=1 [make "keysequence butlast (butlast (butlast :keysequence)) make "keysequence (word :keysequence "\ "+ "\ )][make "keysequence (word :keysequence :number "\ "+ "\ )] make "opflag 1 if :equalflag=1 [make "keysequence (word getfieldtext [] "display "\ "+ "\ )] make "oplevel 1 make "equalflag 0 make "newnumflag 1 calculate 0b- @-if :opflag=1 [make "keysequence butlast (butlast (butlast :keysequence)) make "keysequence (word :keysequence "\ "- "\ )][make "keysequence (word :keysequence :number "\ "- "\ )] make "opflag 1 if :equalflag=1 [make "keysequence (word getfieldtext [] "display "\ "- "\ )] make "oplevel 1 make "equalflag 0 make "newnumflag 1 make "memflag 0 calculate 0ib{~x @-if :opflag=1 [make "keysequence butlast (butlast (butlast :keysequence)) make "keysequence (word :keysequence "\ "* "\ )][make "keysequence (word :keysequence :number "\ "* "\ )] make "opflag 1 if :equalflag=1 [make "keysequence (word getfieldtext [] "display "\ "* "\ )] make "oplevel 2 make "equalflag 0 make "newnumflag 1 make "memflag 0 calculate 0Tbf~ @-if :opflag=1 [make "keysequence butlast (butlast (butlast :keysequence)) make "keysequence (word :keysequence "\ "/ "\ )][make "keysequence (word :keysequence :number "\ "/ "\ )] make "opflag 1 if :equalflag=1 [make "keysequence (word getfieldtext [] "display "\ "/ "\ )] make "oplevel 2 make "equalflag 0 make "newnumflag 1 make "memflag 0 calculate0d~+ @B%e;equal key if :equalflag=1 [make "keysequence " showkeysequence make "equalflag 0] make "keysequence (word :keysequence :number) make "answer run parse :keysequence display :answer if :answer>100000000 [showitem [] "error "text] ;reset variables make "number :answer make "newnumflag 1 make "firstnumflag 1 make "equalflag 1 make "oplevel 0 make "prevoplevel 0 0Tf$l+- @-;+- if not emptyp :number [make "number :number * -1] if :equalflag=1 [make "keysequence " make "equalflag 0] setfieldtext [] "display :number setfieldtext [] "keydisplay word :keysequence :number0>bQ~ AC @.uto calculate local "temp make "temp getfieldtext [] "display if :prevoplevel + :oplevel=4 [parseproduct display :answer][if :prevoplevel<:oplevel [display :temp] [compute display :answer]] make "prevoplevel :oplevel make "newnumflag 1 end to display :temp setfieldtext [] "display :temp end to compute make "answer run parse butlast (butlast :keysequence) end to parseproduct if and not (memberp "+ :keysequence) not (memberp (word "\ "\- "\ ) :keysequence) [compute stop][] make "temp " make "keyseqtemp butlast (butlast :keysequence) dountil [make "temp word last :keyseqtemp :temp make "keyseqtemp butlast :keyseqtemp if (first :temp)=") [skipparen]] or (emptyp :keyseqtemp) memberp (first :temp) :parsestring if emptyp :keyseqtemp [make "answer run parse :temp][make "answer run parse butfirst :temp] end to skipparen dountil [make "temp word last :keyseqtemp :temp make "keyseqtemp butlast :keyseqtemp] or (emptyp :keyseqtemp) (first :temp)="( make "temp word "\ :temp end to parseparen local "level make "level :closeparen make "express " make "keyseqtemp :keysequence while :level>0 [make "express (word last :keyseqtemp :express) if (last :keyseqtemp)="( [make "level :level-1][] make "keyseqtemp butlast :keyseqtemp] if :openparen=:closeparen [make "openparen 0 make "closeparen 0][] end to displayzero showitem [] "zero "text end to readkey :key if :equalflag=1 [make "keysequence " make "equalflag 0][] if :number="0 [make "number " ][] ;record keystroke hideitem [] "zero "text ;if starting a new number, display this key, else, add key to end of current display if :newnumflag=1 [setfieldtext [] "display :key make "number :key] [setfieldtext [] "display word :number :key make "number word :number :key] ;signal not a new number make "newnumflag 0 make "opflag 0 end ;ON/AC key ;clear all variables setfieldtext [] "display " hideitem [] "error "text make "parsestring (word "\+ "\- "\( ) make "newnumflag 1 make "keysequence " make "number " make "oplevel 0 make "prevoplevel 0 make "openparen 0 make "closeparen 0 make "memory 0 make "equalflag 0 make "creditstatus "off displayzero hideitem [] "em "text0T'fCx0 @-if :equalflag=1 [make "keysequence " showkeysequence make "equalflag 0] make "openparen :openparen+1 make "keysequence word :keysequence "( make "prevoplevel 0 displayzero showkeysequence make "firstnumflag 00TDf`0 @-$make "keysequence (word :keysequence :number) make "number " make "closeparen :closeparen+1 make "keysequence word :keysequence ") make "prevoplevel 0 make "oplevel 0 make "prevoplevel 2 parseparen showkeysequence setfieldtext [] "display run parse :express ` $ :|zerolay""""""c(0""""""0">'QC0M+ @-;M- make "memory difference :memory getfieldtext [] "display ;setfieldtext [] "memory :memory make "newnumflag 1 showitem [] "em "text0#>EQ`(0 @-;M+ make "memory sum :memory getfieldtext [] "display ;setfieldtext [] "memory :memory make "newnumflag 1 showitem [] "em "text0'>Q$M+ @- ;mrc make "number :memory if :memory=0 [displayzero make "number 0][display :number] if :equalflag=1 [make "keysequence " make "equalflag 0 ] ;hideitem [] "zero "text ;setfieldtext [] "keydisplay word :keysequence :number make "newnumflag 1 make "opflag 0 `A( : error3""""""c(E3""""""`O( : emrolay""""""c(M""""""Actn5Actn5Actn(5(Actn)5)Actn656Actn;56ActnL5Actn858WKSpMAKE "opflag 1 MAKE "openparen 0 MAKE "prevoplevel 0 MAKE "memory 0 MAKE "number " MAKE "parsestring "+\-\( MAKE "keysequence " MAKE "equalflag 0 MAKE "oplevel 0 MAKE "closeparen 0 MAKE "creditstatus "off MAKE "newnumflag 1 TO displayzero SHOWITEM [[]] "zero "text END TO readkey :key if :equalflag = 1 [make "keysequence " make "equalflag 0] [[]] if :number = "0 [make "number " ] [[]] [] hideitem [[]] "zero "text [] if :newnumflag = 1 [setfieldtext [[]] "display :key make "number :key] [setfieldtext [[]] "display word :number :key make "number word :number :key] [] make "newnumflag 0 make "opflag 0 END TO skipparen dountil [make "temp word last :keyseqtemp :temp make "keyseqtemp butlast :keyseqtemp] or ( emptyp :keyseqtemp ) ( first :temp ) = "\( [] make "temp word "\ :temp END TO display :temp setfieldtext [[]] "display :temp END TO parseproduct [] if and not ( memberp "\+ :keysequence ) not ( memberp ( word "\ "\- "\ ) :keysequence ) [compute stop] [[]] make "temp " make "keyseqtemp butlast ( butlast :keysequence ) dountil [make "temp word last :keyseqtemp :temp make "keyseqtemp butlast :keyseqtemp if ( first :temp ) = "\) [skipparen]] or ( emptyp :keyseqtemp ) memberp ( first :temp ) :parsestring [] if emptyp :keyseqtemp [make "answer run parse :temp] [make "answer run parse butfirst :temp] END TO compute make "answer run parse butlast ( butlast :keysequence ) END TO calculate local "temp make "temp getfieldtext [[]] "display if :prevoplevel + :oplevel = 4 [parseproduct display :answer] [if :prevoplevel < :oplevel [display :temp] [compute display :answer]] [] make "prevoplevel :oplevel make "newnumflag 1 END TO parseparen [] local "level make "level :closeparen make "express " make "keyseqtemp :keysequence while :level > 0 [make "express ( word last :keyseqtemp :express ) if ( last :keyseqtemp ) = "\( [make "level :level - 1] [[]] make "keyseqtemp butlast :keyseqtemp] if :openparen = :closeparen [make "openparen 0 make "closeparen 0] [[]] END eyFntL<<CourierMuthmatecondensed P P LED-Normal MuthMate277MuthMate33 HelveticaGeneva