// Rosetta Code Resistor Mesh task //https://rosettacode.org/wiki/Resistor_mesh // Translation of Yabasic to FutureBasic window 1,@"Resistor Mesh Task" #build ShowMoreWarnings NO short N=10 short NN=100 double A(100,101) short NODE=0 short ROW,COL FOR ROW=1 TO N FOR COL=1 TO N NODE=NODE+1 IF ROW>1 A(NODE,NODE)=A(NODE,NODE)+1 A(NODE,NODE-N)=-1 END IF IF ROW1 A(NODE,NODE)=A(NODE,NODE)+1 A(NODE,NODE-1)=-1 END IF IF COL0 then break NEXT IF I=R+1 PRINT "No solution!" END END IF FOR K=1 TO R+1 T = A(J,K) A(J,K) = A(I,K) A(I,K) = T NEXT Y= (1 / A(J,J)) FOR K=1 TO R+1 A(J,K) = Y * A(J,K) NEXT FOR I=1 TO R IF I<>J Y=-A(I,J) FOR K=1 TO R+1 A(I,K)=A(I,K)+ Y*A(J,K) NEXT END IF NEXT NEXT double Resistance Resistance = A(ANode,101)-A(BNode,101) PRINT PRINT "Resistance between Nodes" str$(ANode) + " and" + str$(BNode) + " is" + str$(abs(Resistance)) + " Ohms" handleevents