tasks a-s
This commit is contained in:
parent
47bf37c096
commit
b83f433714
12433 changed files with 156208 additions and 123 deletions
|
|
@ -0,0 +1,38 @@
|
|||
@% = &60B
|
||||
RPN$ = "3 4 2 * 1 5 - 2 3 ^ ^ / +"
|
||||
|
||||
DIM Stack(1000)
|
||||
SP% = 0
|
||||
|
||||
FOR i% = 1 TO LEN(RPN$)
|
||||
Token$ = MID$(RPN$,i%,1)
|
||||
IF Token$ <> " " THEN
|
||||
PRINT Token$ " :";
|
||||
CASE Token$ OF
|
||||
WHEN "+": PROCpush(FNpop + FNpop)
|
||||
WHEN "-": PROCpush(-FNpop + FNpop)
|
||||
WHEN "*": PROCpush(FNpop * FNpop)
|
||||
WHEN "/": n = FNpop : PROCpush(FNpop / n)
|
||||
WHEN "^": n = FNpop : PROCpush(FNpop ^ n)
|
||||
WHEN "0","1","2","3","4","5","6","7","8","9":
|
||||
PROCpush(VALMID$(RPN$,i%))
|
||||
WHILE ASCMID$(RPN$,i%)>=48 AND ASCMID$(RPN$,1)<=57
|
||||
i% += 1
|
||||
ENDWHILE
|
||||
ENDCASE
|
||||
FOR j% = SP%-1 TO 0 STEP -1 : PRINT Stack(j%); : NEXT
|
||||
PRINT
|
||||
ENDIF
|
||||
NEXT i%
|
||||
END
|
||||
|
||||
DEF PROCpush(n)
|
||||
IF SP% > DIM(Stack(),1) ERROR 100, "Stack full"
|
||||
Stack(SP%) = n
|
||||
SP% += 1
|
||||
ENDPROC
|
||||
|
||||
DEF FNpop
|
||||
IF SP% = 0 ERROR 100, "Stack empty"
|
||||
SP% -= 1
|
||||
= Stack(SP%)
|
||||
Loading…
Add table
Add a link
Reference in a new issue