**Code:** ```
```

'ProgramMode:RUN

Deg:Fix 9:Lbl 1

Do

0->A~Z:{0,0,0,0}->List 1:List 1->List 2

BG-None:ClrText:Cls:ViewWindow 1,127,0,63,1,0

Text (1)*3,(1)*3,"Triangle solver"

Text (1)*3,(70)*3,"[EXP]:Exit"

Text (7)*3,(70)*3,"[DEL]:Clr all"

Blue F-Line 92,21,74,47:Blue F-Line 74,47,118,47:Blue F-Line 118,47,92,21

Blue Text (15)*3,(92)*3,"A":Blue Text (45)*3,(70)*3,"B":Blue Text (45)*3,(120)*3,"C"

Blue Text (49)*3,(94)*3,"a":Blue Text (30)*3,(108)*3,"b":Blue Text (30)*3,(78)*3,"c"

14->I:Text (13)*3,(I)*3,"A=":Text (19)*3,(I)*3,"a=":Text (25)*3,(I)*3,"B=":Text (31)*3,(I)*3,"b=":Text (37)*3,(I)*3,"C=":Text (43)*3,(I)*3,"c=":Text (49)*3,(1)*3,"Area="

For 2->I To 107 Step 21:Blue F-Line I,63,I,56:Blue F-Line I,56,I+18,56:Next

Blue Text (58)*3,(4)*3," A ":Blue Text (58)*3,(25)*3," a ":Blue Text (58)*3,(46)*3," B ":Blue Text (58)*3,(67)*3," b ":Blue Text (58)*3,(88)*3," C ":Blue Text (58)*3,(109)*3," c ":PxlOn 1,1

Do

Do:Getkey->K:LpWhile K=0

If K=51:Then Norm :ClrText:Stop:IfEnd

K=44=>9->S

If K=79:Then "Angle A="?->V:V->List 1[1]:V<>0=>Isz A:Text (13)*3,(23)*3,V:IfEnd

If K=69:Then "Side a="?->V:V->List 2[1]:V<>0=>Isz S:Text (19)*3,(23)*3,V:IfEnd

If K=59:Then "Angle B="?->V:V->List 1[2]:V<>0=>Isz A:Text (25)*3,(23)*3,V:IfEnd

If K=49:Then "Side b="?->V:V->List 2[2]:V<>0=>Isz S:Text (31)*3,(23)*3,V:IfEnd

If K=39:Then "Angle C="?->V:V->List 1[3]:V<>0=>Isz A:Text (37)*3,(23)*3,V:IfEnd

If K=29:Then "Side c="?->V:V->List 2[3]:V<>0=>Isz S:Text (43)*3,(23)*3,V:IfEnd

PxlOn 1,1

LpWhile S=0 Or A+S<3

LpWhile K=44

If A+S=3 And S<>3

Then 0->I

Do

Isz I

List 1[I]<>0=>I->C

List 2[I]<>0=>I->D

LpWhile (List 1[I]=0 Or List 2[I]=0) And I<4

I<4=>I->P

If P=0

Then If S=2

Then 2->U

1+C->J:2+C->K

J>3=>J-3->J

K>3=>K-3->K

Sqrt(List 2[K]^<2>+List 2[J]^<2>-2*List 2[J]*List 2[K]*cos List 1[C])->List 2[C]

Isz S

C->P

Else D->P

IfEnd:IfEnd:IfEnd

If S=3

Then For 1->I To 3

1+I->J

2+I->K

J>3=>J-3->J

K>3=>K-3->K

cos^-1 ((List 2[J]^<2>+List 2[K]^<2>-List 2[I]^<2>)/(2*List 2[J]*List 2[K]))->List 1[I]

Next

3->A

IfEnd

If A=1

Then 0->I

Do

Isz I

LpWhile List 2[I]=0 Or List 1[I]<>0

sin^-1 (List 2[I]*sin List 1[P]/List 2[P])->List 1[I]

2->A

If List 1[P]<List 1[I] And U<>2

Then 1->U

List 1->List 3

180-List 1[I]->List 3[I]

180-List 3[P]-List 3[I]->List 3[6-I-P]

List 2->List 4

IfEnd:IfEnd

If A=2

Then List 1[1]+List 1[2]+List 1[3]->T

For 1->I To 3

List 1[I]=0=>180-T->List 1[I]

Next:IfEnd

If S<>3

Then For 1->I To 3

List 2[I]=0=>sin List 1[I]*List 2[P]/sin List 1[P]->List 2[I]

If U=1

Then List 4[I]=0=>sin List 3[I]*List 4[P]/sin List 3[P]->List 4[I]

IfEnd

Next

IfEnd

Text (13)*3,(23)*3,List 1[1]

Text (19)*3,(23)*3,List 2[1]

Text (25)*3,(23)*3,List 1[2]

Text (31)*3,(23)*3,List 2[2]

Text (37)*3,(23)*3,List 1[3]

Text (43)*3,(23)*3,List 2[3]

Text (49)*3,(23)*3,.5*List 2[1]*List 2[2]*sin List 1[3]

If U=1

Then Text (13)*3,(63)*3,List 3[1]

Text (19)*3,(63)*3,List 4[1]

Text (25)*3,(63)*3,List 3[2]

Text (31)*3,(63)*3,List 4[2]

Text (37)*3,(63)*3,List 3[3]

Text (43)*3,(63)*3,List 4[3]

Text (49)*3,(63)*3,.5*List 4[1]*List 4[2]*sin List 3[3]

IfEnd

PxlOn 1,1

Do:Getkey->K:LpWhile K=0

K=44=>Goto 1

Cls:ClrText:Fix 4