Code:
quit();
MAT2();
MAT3();
MAINMENU();
local OPN;
local Z10,Z11,Z12,Z13,Z14,Z15;
local Z16,Z17,Z18,Z19,Z20,Z21;
//_________________________________________________________
MAINMENU()
BEGIN
HFormat:=0;
LOCAL CH:=0;
CHOOSE(CH,"Linear Solver 2x2 and 3x3.",
{" Quit Linear Solver",
" Linear Solver 2x2.",
" Linear Solver 3x3."});
IF 0 THEN IFERR BREAK; BREAK; THEN END
END;
CASE
IF CH == 1 THEN
IFERR BREAK; BREAK; THEN END
END;
IF CH == 2 THEN MAT2();
END;
IF CH == 3 THEN MAT3();
END;
IF CH == 4 THEN PRINT();
PRINT("
Linear Solver.
by: Bernard Michaud.
Aug. 20 2016.
Toronto, ON.
");
IFERR REPEAT UNTIL GETKEY>-1;
THEN MAINMENU();
ELSE
MAINMENU();
END;
END;
DEFAULT IFERR BREAK; BREAK; THEN END
END;
END;
quit()
BEGIN
PRINT();
PRINT(" ");
IFERR REPEAT UNTIL GETKEY>-1;
THEN MAINMENU();
END;
MAINMENU();
END;
//----------------------------------------------------
MAT2()
begin
INPUT({
{Z10,[3],{5,22,1}},{Z11,[3],{40,22,1}},{Z12,[3],{72,22,1}},
{Z13,[3],{5,22,3}},{Z14,[3],{40,22,3}},{Z15,[3],{72,22,3}}},
"Solver 2x2.",
{"","X + ","Y =",
"","X + ","Y ="});
MAKEMAT(0,2,3)▶M1;
M1(1,1):=Z10;M1(1,2):=Z11;M1(1,3):=Z12;
M1(2,1):=Z13;M1(2,2):=Z14;M1(2,3):=Z15;
RREF(M1)▶M2;
col(M2,(3))▶M3;
PRINT();
PRINT("
X = "+M2(1,3)+" Polar = "+polar_coordinates(M2(1,3))+"
Y = "+M2(2,3)+" Polar = "+polar_coordinates(M2(2,3))+"
Press [ENTER] to Continue...");
IFERR REPEAT UNTIL GETKEY>-1;
THEN
CHOOSE(OPN,"",{"BM"});
CASE
IF OPN==1 THEN PRINT(); END;
DEFAULT
END;
ELSE
CHOOSE(OPN,"Choose Option below.",
{
" Back to Linear Solver 2x2",
" Back to Main Menu...",
" Quit"});
CASE
IF OPN==1 THEN MAT2(); END;
IF OPN==2 THEN MAINMENU(); END;
IF OPN==3 THEN IFERR BREAK; BREAK; THEN END END;
DEFAULT
END;
END;
END;
//_________________________________________________________
MAT3()
begin
INPUT({
{Z10,[3],{5,16,1}},{Z11,[3],{30,16,1}},{Z12,[3],{55,16,1}},{Z13,[3],{80,16,1}},
{Z14,[3],{5,16,3}},{Z15,[3],{30,16,3}},{Z16,[3],{55,16,3}},{Z17,[3],{80,16,3}},
{Z18,[3],{5,16,5}},{Z19,[3],{30,16,5}},{Z20,[3],{55,16,5}},{Z21,[3],{80,16,5}}},
"Solver 3x3.",
{"","X+","Y+","Z=","","X+","Y+","Z=","","X+","Y+","Z="});
MAKEMAT(0,3,4)▶M1;
M1(1,1):=Z10;M1(1,2):=Z11;M1(1,3):=Z12;M1(1,4):=Z13;
M1(2,1):=Z14;M1(2,2):=Z15;M1(2,3):=Z16;M1(2,4):=Z17;
M1(3,1):=Z18;M1(3,2):=Z19;M1(3,3):=Z20;M1(3,4):=Z21;
RREF(M1)▶M2;
col(M2,(4))▶M3;
PRINT();
PRINT("
X = "+M2(1,4)+" Polar = "+polar_coordinates(M2(1,4))+"
Y = "+M2(2,4)+" Polar = "+polar_coordinates(M2(2,4))+"
Z = "+M2(3,4)+" Polar = "+polar_coordinates(M2(3,4))+"
Press [ENTER] to Continue...");
IFERR REPEAT UNTIL GETKEY>-1;
THEN
CHOOSE(OPN,"",{"BM"});
CASE
IF OPN==1 THEN PRINT(); END;
DEFAULT
END;
ELSE
CHOOSE(OPN,"Choose Option below.",
{
" Back to Linear Solver 3x3",
" Back to Main Menu...",
" Quit"});
CASE
IF OPN==1 THEN MAT3(); END;
IF OPN==2 THEN MAINMENU(); END;
IF OPN==3 THEN IFERR BREAK; BREAK; THEN END END;
DEFAULT
END;
END;
END;
//___________________________________________________________
EXPORT LSX()//4K
BEGIN
MAINMENU();
END;