PRINT PRINT "y=ax+b と y=cx+d の交点を求める" PRINT INPUT PROMPT "my=ax+b: m,a,b? ":m,a,b INPUT PROMPT "ny=cx+d: n,c,d? ":n,c,d PRINT DIM S(2,2),T(2,2),W(2,2),R(2,2) LET S(1,1)=-1*a LET S(1,2)=m LET S(2,1)=-1*c LET S(2,2)=n LET T(1,1)=b LET T(1,2)=b LET T(2,1)=d LET T(2,2)=d PRINT "行列S:" CALL GYRE1(S) PRINT "行列T:" CALL GYRE1(T) IF S(1,1)*S(2,2)-S(1,2)*S(2,1)=0 THEN PRINT "2つの直線は交わりません。" GOTO 10 END IF MAT W=INV(S) MAT R=W*T PRINT "Sの逆行列:" CALL GYRE2(W) PRINT "Sの逆行列 × 行列T:" CALL GYRE2(R) PRINT "2つの直線の交点:" PRINT " x = ";ROUND(R(1,1),3) PRINT " y = ";ROUND(R(2,1),3) 10 PRINT END EXTERNAL SUB GYRE1(Q(,)) FOR i=1 TO 2 FOR j=1 TO 2 PRINT USING "####":Q(i,j); NEXT j PRINT NEXT i PRINT END SUB EXTERNAL SUB GYRE2(Q(,)) FOR i=1 TO 2 FOR j=1 TO 2 PRINT USING "####.###":ROUND(Q(i,j),3); NEXT j PRINT NEXT i PRINT END SUB