Data update
This commit is contained in:
parent
52a6ef48dd
commit
157b70a810
604 changed files with 14253 additions and 2100 deletions
44
Task/Currency/XPL0/currency.xpl0
Normal file
44
Task/Currency/XPL0/currency.xpl0
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
include xpllib; \for Big ops and StrCopy
|
||||
def Size=30;
|
||||
char NumA(Size), NumB(Size), NumC(Size);
|
||||
|
||||
proc DolOut(Num); \Display Big Num as dollars and cents
|
||||
char Num;
|
||||
int LZ, I, Dig;
|
||||
[LZ:= true; \suppress leading zeros
|
||||
for I:= 0 to -1>>1 do
|
||||
[if I+2 < Size then
|
||||
if Num(I+2) = 0 then
|
||||
[ChOut(0, ^.);
|
||||
LZ:= false;
|
||||
];
|
||||
Dig:= Num(I);
|
||||
if Dig = 0 then return;
|
||||
if Dig # ^0 then LZ:= false;
|
||||
if not LZ then ChOut(0, Dig);
|
||||
];
|
||||
];
|
||||
|
||||
[Int2Big(0, NumA, Size-1); \4e15
|
||||
NumA(Size-1-16):= ^4;
|
||||
Int2Big(550, NumB, Size-1); \* 5.50
|
||||
BigMul(NumA, NumB);
|
||||
|
||||
Int2Big(286*2, NumB, Size-1); \+ 2*2.86
|
||||
BigAdd(NumA, NumB);
|
||||
Text(0, "Total price before tax : ");
|
||||
DolOut(NumA); CrLf(0);
|
||||
StrCopy(NumC, NumA); \save sub-total
|
||||
|
||||
Int2Big(765, NumB, Size-1); \* 7.65% tax
|
||||
BigMul(NumA, NumB);
|
||||
Int2Big(5000, NumB, Size-1); \round up
|
||||
BigAdd(NumA, NumB);
|
||||
BigDiv(NumA, 10_000); \truncate
|
||||
Text(0, "Tax : ");
|
||||
DolOut(NumA); CrLf(0);
|
||||
|
||||
BigAdd(NumA, NumC); \total = tax + sub-total
|
||||
Text(0, "Total price after tax : ");
|
||||
DolOut(NumA); CrLf(0);
|
||||
]
|
||||
Loading…
Add table
Add a link
Reference in a new issue