つづき
!演算関連 SUB PolyAdd(p$(),q$(), r$()) !加算 r=p+q LET k=VAL(p$(0)) FOR i=1 TO k LET r$(i)=p$(i) NEXT i FOR i=1 TO VAL(q$(0)) LET r$(k+i)=q$(i) NEXT i LET k=k+VAL(q$(0)) LET r$(0)=STR$(k) !項の数 CALL PolySimple(r$) !同類項をまとめる END SUB
SUB PolySub(p$(),q$(), r$()) !減算 r=p-q DIM qq$(500) FOR i=1 TO VAL(q$(0)) !係数の符号を反転させる LET qq$(i)=q$(i) LET qq$(i)(N+2:LEN(qq$(i)))=STR$(-GetVal(q$(i))) NEXT i LET qq$(0)=q$(0) !項の数 !MAT PRINT qq$ !debug CALL PolyAdd(p$,qq$, r$) !r=p+(-q) END SUB
SUB PolyMul(p$(),q$(), r$()) !乗算 r=p*q LET k=0 FOR i=1 TO VAL(p$(0)) FOR j=1 TO VAL(q$(0)) LET k=k+1 !項と項をかける LET t$="" FOR e=1 TO N LET t$=t$ & STR$( VAL(p$(i)(e:e)) + VAL(q$(j)(e:e)) ) !次数 NEXT e LET r$(k)=t$ & ":" & STR$(GetVal(p$(i)) * GetVal(q$(j))) !係数 NEXT j NEXT i LET r$(0)=STR$(k) !項の数 !MAT PRINT r$ !debug CALL PolySimple(r$) !同類項をまとめる END SUB !------------------------------ ここまでがサブルーチン
|