21c13sid04m


次のmaximaコマンドを実行せよ。

MONDAI1:"5本のくじ(当たり1,2、外れ3,4,5))を、引いたくじを戻さず、2人が順に引く場合は(◆修正部分)" $
r:2 /*引く人数rを2(◆修正部分)*/ $
n:5 /*くじの数nを5、当たりが1,2、外れが3,4,5*/;
KOUSATU:"当たりが1,2、外れが3,4,5として、1人目、2人目のくじの番号を樹形図で示すと";
nHr(n,r):=block([i,j],/*print("nHr",lA,length(lA[1]),r),*/
/**/while r>length(lA[1]) do(/*print(length(lA[1]),r),*/
/**//**/iM:length(lA),lEA:[],/*print(iM),*/
/**//**/for i:1 thru iM do(
/**//**//**/lL:lA[i],/*print("lL",lL),*/
/**//**//**/for j:1 thru n do(
/**//**//**//**/lEA:endcons(endcons(j,lL),lEA)/*,print("lEA0",lL,lEA)*/)),/*print("lEA",lEA),*/
/**//**/lA:lEA/*,print("lA",lA,length(lA))*/))$/*"重複を許してn個からr個の並べ方"*/
nPr():=block([iM,jM],
/**/iM:length(lA),
/**/jM:length(lA[1]),/*print(iM,jM),*/
/**/lEA:[],
/**/for i:1 thru iM do(
/**//**/p:1,
/**//**/for j:1 thru jM do(
/**//**//**/for j2:j+1 thru jM do(
/**//**//**//**/p:p*(lA[i][j]-lA[i][j2]))),/*print(p),*/
/**//**/if p#0 then lEA:endcons(lA[i],lEA)),
/**/lA:lEA)$/*"重複したものを除外した並べ方"*/
take(n,list):=rest(list,n-length(list))$
zJ():=block(
/**/iM:length(lA),jM:length(lA[1]),
/**/bB:[],
/**/for j:1 thru jM do(
/**//**/for i:1 thru iM do(
/**//**//**/bN:take(j,lA[i]),
/**//**//**/if bB#bN then (lB:endcons(bN,lB),bB:bN) /*else(print(bB,bN))*/
/**//**//**/)))$/*"樹形図構成過程(lB)まとめ"*/
sJ():=block(
/**/iM:length(lB),
/**/nB:1,dB:[],nC:0,lCe:[],
/**/for i:1 thru iM do(
/**//**/nN:length(lB[i]),dN:take(nN-1,lB[i]),/*display(i,nB,nN,dB,dN),*/
/**//**/if nB=nN then(
/**//**//**//**/if dB=dN then(
/**//**//**//**//**//**/nC:nC+1/*,display(dB,dN,nC)*/
/**//**//**//**//**/)else(lCe:endcons(nC,lCe),dB:dN,nC:1/*,display(dB,dN,nC,lCe)*//*,display(i,nB,dB,lCe)*/)
/**//**//**/)else(lCe:endcons(nC,lCe),lC:endcons(lCe,lC)/*,display(lC,lCe)*/,nC:1,nB:nN,dB:dN,lCe:[])),
/**/lCe:endcons(nC,lCe),lC:endcons(lCe,lC))$/*"樹形図構成点(lC)まとめ"*/
mJ():=block([idB],
/**/nlC:[0],
/**/lP:[">"," ","―","├","│","└","┬"],
/**/lJ0:[lP[2]],lJe:[lP[1]],iM:length(lC),lJ1:lJ0,idB:0,
/**/for i:1 thru iM do(
/**//**/jM:length(lC[i]),/*display(lC[i]),*/
/**//**/nlC:endcons(lsum(i1,i1,lC[i]),nlC),
/**//**/for j:1 thru jM do(
/**//**//**/if i#1 then (lJe:lJ[j+lsum(ls,ls,take(i-1,nlC))]),
/**//**//**/if i#1 and j=jM then lJ0:lJ1,
/**//**//**/kM:lC[i][j],/*display(lC[i][j]),*/
/**//**//**/for k:1 thru kM do(
/**//**//**//**/if k=1 then (
/**//**//**//**//**//**/if k=kM then lJee:endcons(lP[3])else lJee:endcons(lP[7],lJe),
/**//**//**//**//**//**/lJee:endcons(last(lB[idB+k]),lJee)
/**//**//**//**//**/)elseif k=kM then(
/**//**//**//**//**//**/lJeee:[" "],lM:length(lJee),
/**//**//**//**//**//**/for l:2 step 2 thru lM -2 do(
/**//**//**//**//**//**//**/if lJee[l]=lP[7]or lJee[l]=lP[5] or lJee[l]=lP[4] then (lJeee:endcons(lP[5],lJeee),lJeee:endcons(" ",lJeee))
/**//**//**//**//**//**//**//**/else (lJeee:endcons(" ",lJeee),lJeee:endcons(" ",lJeee)) ),
/**//**//**//**//**//**/lJee:endcons(lP[6],lJeee),
/**//**//**//**//**//**/lJee:endcons(last(lB[idB+k]),lJee)
/**//**//**//**//**/)else(
/**//**//**//**//**//**/lJee:endcons(lP[4],lJ0),
/**//**//**//**//**//**/lJee:endcons(last(lB[idB+k]),lJee)
/**//**//**//**//**/),
/**//**//**//**/lJ:endcons(lJee,lJ) /*,display(lJ)*/
/**//**//**//**/)
/**//**//**/,idB:idB+lC[i][j]
/**//**//**/),
/**//**//**//**/lJ0:endcons(lP[5],lJ0) ,
/**//**//**//**/lJ0:endcons(lP[2],lJ0),/*display(lJ0),*/
/**//**//**//**/lJ1:endcons(lP[2],lJ1),
/**//**//**//**/lJ1:endcons(lP[2],lJ1)/*,display(lJ1)*/
/**//**/))$/*"樹形図(lJ)の構成(最終結果は最後のブロック)"*/
lA:[[]];
nHr(n,r);/*"重複を許して5つ(表1、裏2)を2個並べる"*/
print("lA",lA)$
nPr();/*"重複したものを除外した並べ方"*/
print("lA",lA)$
lB:[];
zJ()$/*"樹形図構成過程まとめ"*/
print("lB",lB)$
lC:[];
sJ()$/*"樹形図構成点まとめ"*/
print("sj->lC",lC)$
lJ:[];
mJ()$/*"樹形図の構成(最終結果は最後のブロック)"*/
block(print(MONDAI1),iM:length(lJ),for i:1 thru iM do(print(lJ[i])))$
/*"樹形図の表示(最終結果は最後のブロック)"*/

次の考察をせよ。
(1)
この樹形図から1人目の当たりの数が2枚となる枝に〇印をつけよ。 $
(2)
 (1)の〇印から、問題の確率を求めよ。 $
(3)
この樹形図から1人目の当たりの数が2枚となる枝に〇印をつけ、その確率を(1)と比べて考察せよ。