| |
|
|
p.specht
| Anm.: Ergänzungen wünschenswert, z.B. Wurzel aus einer Komplexen Zahl u.dgl.
WindowTitle "Rechnen mit Komplexen Zahlen (auf 2D-Vektorbasis)"
'Pre-Alpha Version = (CR) Crashware 2013-01 by P. Specht, Wien
'Ohne jedwede Gewähr! Nutzung auf alleinige Gefahr des Anwenders!
Font 2:Randomize:cls rnd(8^8):print
set("decimals",18)
declare a![1],b![1]'Komplex![] = real[=0]+j%*imaginär[=1]
a![]=cGET(0)
b![]=cGET(1)
print " A = ";:cPRINT(a![],3)
print " B = ";:cPRINT(b![],3)
'cPRINT(0,cGET(2))
waitinput
print " cADD= ";:cPRINT(cADD(a![],b![]),3)
print " cSUB= ";:cPRINT(cSUB(a![],b![]),3)
print " cMUL= ";:cPRINT(cMUL(a![],b![]),3)
print " cDIV= ";:cPRINT(cDIV(a![],b![]),3)
waitinput
End
proc cGET :parameters v%:declare xpl$[],k![1]
' " 1.22,-3.3 , 4.4,2.66 , -10,5.5 ",",")
' " 10,10 , 1,1 , -1,-1 ",",")
' " 10,10 , 1,1 , -1,-1 ",",")
' " 10,10 , 1,-1 , -1,-1 ",",")
xpl$[]=explode(\
" 10,10 , 1.414,1.414 , -1,-1 ",",")
k![0]=val(xpl$[2*v%]):k![1]=val(xpl$[2*v%+1])
return k![]
endproc
proc cADD
parameters a![],b![]
declare k![1]
'Komplexe Addition
MAT k![]=a![]
MAT k![]+b![]
return k![]
endproc
proc cSUB
parameters a![],b![]
'Komplexe Subtraktion
declare k![1]
MAT k![]=a![]
MAT k![]-b![]
return k![]
endproc
proc cMUL
parameters a![],b![]
declare m![1]
'Komplexe Multiplikation
m![0]=a![0]*b![0]-a![1]*b![1]
m![1]=a![0]*b![1]+a![1]*b![0]
return m![]
endproc
proc cDIV
parameters a![],b![]
declare d![1],nenner!
'Komplexe Division
nenner!=b![0]*b![0]+b![1]*b![1]
if nenner!<>0
d![0]=(a![0]*b![0]+a![1]*b![1])/nenner!
d![1]=(a![1]*b![0]-a![0]*b![1])/nenner!
else
print " ###Division nicht possibile!### ";
d![0]=0
d![1]=0
endif
return d![]
endproc
proc cKON
parameters k![]
'Konjugiere
k![1]= -1*k![1]
return k![]
endproc
proc cPRINT :parameters k![],v%
print cFORM(k![]);
case v%=0:print " ";
case v%=1:print " \ ";
case v%=2:print " "
case v%=3:print " \n"
case v%=4:print " \n\n"
endproc
proc cFORM :parameters k![]:declare k$
k$=format$(" #######0.00000;#######0.00000; 0 ",k![0])
k$=k$+format$(" +j* #######0.00000; -j* #######0.00000; ",k![1])
return k$
endproc
|
|
|
| XProfan 11Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 08.05.2021 ▲ |
|
|
|