修正問題
◆コマンド番号00101
●修正
多項式の次数●●●●●●●●●●●●●●●●
kill(all) /* 00101 下の問題について、答えよ。 */$
ordergreat(X,Y,Z,x,y,z,A,B,C,a,b,c) /* できるだけ、X,Y,Z,x,y,z,A,B,C,a,b,cの順に並べる */$
MONDAI:"00101 次式 で、ある文字に着目した場合の次数・係数は"$
e0:-5*x^2 *y /* 単項式 xとyに着目(◆修正部分) */;
moji:[x=M,y=M];
e:subst(moji,e0);
epow(E,Moji):=block([i,V],
/**/for i:0 while E#0 do(/*eが0になるまで繰り返し*/
/**//**/a[i]:subst(Moji=0,E),print(a[i],"...",i,"次") /*定数項取り出し*/,
/**//**/E:E-a[i],
/**//**/E:rat(E/Moji) /*定数項を除き、次数を下げ、改めてEとする*/,
/**//**/V:[i,a[i]] )/*[i,a[i]]をvに代入*/,
/**//**/V:V) /*Vの最終値が関数値*/$
array(a,10) /*配列aを定義*/$
KOTAE:epow(e,M);
print([e0,moji,KOTAE],"...",MONDAI)$


◆コマンド番号00102
●修正
n次の係数●●●●●●●●●●●●●●●●
kill(all) /* "00102 下の問題について、答えよ。" */$
ordergreat(X,Y,Z,x,y,z,A,B,C,a,b,c) /* できるだけ、X,Y,Z,x,y,z,A,B,C,a,b,cの順に並べる */$
MONDAI:"00102 -1+x+2*x^2+3*x^3の2次の係数"$
e0:-1+x+2*x^2+3*x^3 /* 多項式 */;
moji:[x=M] /* 着目する文字 */;
jisuu:2 /* 次数の指定 */;
e:subst(moji,e0) /* 着目する文字をMに変換 */;
ecoeff(e,moji,jisuu):=block([i,V],
/**/for i:0 thru jisuu do( /* 次数の係数を取得 */
/**//**/a[i]:subst(moji=0,e),print(a[i],"...",i,"次"),/* この時点の定数項 */
/**//**/e:e-a[i], /* この時点のeの定数項を除去 */
/**//**/e:rat(e/moji)), /* この時点のeをmojiで整除し、改めてeとする */
/**//**//**/V:a[jisuu])$ /* 関数値に着目する係数を指定 */
array(a,10)$ /* 配列aの設定 */
KOTAE:ecoeff(e,M,jisuu);/* 着目文字の指定係数をKOTAEに代入 */
print([e0,moji,jisuu,KOTAE],"...",MONDAI)$ /* 問題、解答の表示 */


◆コマンド番号00103
●修正
n次の係数●●●●●●●●●●●●●●●●
kill(all) /* "00103 下の問題について、答えよ。" */$
ordergreat(X,Y,Z,x,y,z,A,B,C,a,b,c,L,M,N) /* できるだけ、X,Y,Z,x,y,z,A,B,C,a,b,cの順に並べる */$
MONDAI:"00103次の式e0の、着目する文字での、指定次数の項は"$
e0:-1+x+2*y+3*x^2+4*x*y+5*y^2+6*x*y^2 /* 多項式 */;
moji:[x=M,y=N] /* 着目する文字(2文字まで) */;
jisuu:2 /* 次数の指定 */;
ce(E,L,K):=block([C],
/**/C:subst(L=0,E),/*print(C,"C",E,K),*/
/**/if E#0 and K#0 then(
/**//**/K:K-1,E:rat((E-C)/L), E:ce(E,L,K)/*,print(E,"E")*/),
/**/C:subst(L=0,E)) /* 式Eでの、着目する文字Lの、次数Kの係数 */$

e:subst(moji,e0) /* 着目する文字をM,・・・に変換 */;
e9:0;
if length(moji)=1 then e9:ce(ce(e,M,jisuu),L,0)*lhs(moji[1])^jisuu /* 着目する文字が1文字の場合 */
/**/else(
/**//**/for k:0 thru jisuu do(
/**//**//**/ e9:e9+ce(ce(e,M,k),N,jisuu-k)*lhs(moji[1])^k*lhs(moji[2])^(jisuu-k))) /* 着目する文字が2文字の場合 */;
print(MONDAI)$
print(e0,"問題の式 ",moji,"着目する文字 ",jisuu,"指定の次数")$
print(e9,"解答")$