Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
72
Task/Vector/Action-/vector.action
Normal file
72
Task/Vector/Action-/vector.action
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
INCLUDE "D2:REAL.ACT" ;from the Action! Tool Kit
|
||||
|
||||
DEFINE X_="+0"
|
||||
DEFINE Y_="+6"
|
||||
|
||||
TYPE Vector=[CARD x1,x2,x3,y1,y2,y3]
|
||||
|
||||
PROC PrintVec(Vector POINTER v)
|
||||
Print("[") PrintR(v X_)
|
||||
Print(",") PrintR(v Y_) Print("]")
|
||||
RETURN
|
||||
|
||||
PROC VecIntInit(Vector POINTER v INT ix,iy)
|
||||
IntToReal(ix,v X_)
|
||||
IntToReal(iy,v Y_)
|
||||
RETURN
|
||||
|
||||
PROC VecRealInit(Vector POINTER v REAL POINTER rx,ry)
|
||||
RealAssign(rx,v X_)
|
||||
RealAssign(ry,v Y_)
|
||||
RETURN
|
||||
|
||||
PROC VecStringInit(Vector POINTER v CHAR ARRAY sx,sy)
|
||||
ValR(sx,v X_)
|
||||
ValR(sy,v Y_)
|
||||
RETURN
|
||||
|
||||
PROC VecAdd(Vector POINTER v1,v2,res)
|
||||
RealAdd(v1 X_,v2 X_,res X_) ;res.x=v1.x+v2.x
|
||||
RealAdd(v1 Y_,v2 Y_,res Y_) ;res.y=v1.y+v2.y
|
||||
RETURN
|
||||
|
||||
PROC VecSub(Vector POINTER v1,v2,res)
|
||||
RealSub(v1 X_,v2 X_,res X_) ;res.x=v1.x-v2.x
|
||||
RealSub(v1 Y_,v2 Y_,res Y_) ;res.y=v1.y-v2.y
|
||||
RETURN
|
||||
|
||||
PROC VecMult(Vector POINTER v REAL POINTER a Vector POINTER res)
|
||||
RealMult(v X_,a,res X_) ;res.x=v.x*a
|
||||
RealMult(v Y_,a,res Y_) ;res.y=v.y*a
|
||||
RETURN
|
||||
|
||||
PROC VecDiv(Vector POINTER v REAL POINTER a Vector POINTER res)
|
||||
RealDiv(v X_,a,res X_) ;res.x=v.x/a
|
||||
RealDiv(v Y_,a,res Y_) ;res.y=v.y/a
|
||||
RETURN
|
||||
|
||||
PROC Main()
|
||||
Vector v1,v2,res
|
||||
REAL s
|
||||
|
||||
Put(125) PutE() ;clear the screen
|
||||
VecStringInit(v1,"12.3","-4.56")
|
||||
VecStringInit(v2,"9.87","654.3")
|
||||
ValR("0.1",s)
|
||||
|
||||
VecAdd(v1,v2,res)
|
||||
PrintVec(v1) Print(" + ") PrintVec(v2)
|
||||
Print(" =") PutE() PrintVec(res) PutE() PutE()
|
||||
|
||||
VecSub(v1,v2,res)
|
||||
PrintVec(v1) Print(" - ") PrintVec(v2)
|
||||
Print(" =") PutE() PrintVec(res) PutE() PutE()
|
||||
|
||||
VecMult(v1,s,res)
|
||||
PrintVec(v1) Print(" * ") PrintR(s)
|
||||
Print(" = ") PrintVec(res) PutE() PutE()
|
||||
|
||||
VecDiv(v1,s,res)
|
||||
PrintVec(v1) Print(" / ") PrintR(s)
|
||||
Print(" = ") PrintVec(res)
|
||||
RETURN
|
||||
Loading…
Add table
Add a link
Reference in a new issue