平成29年春期  表計算  設問3  E  について

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】
無名さん  
(No.1)
こんばんは。平成29年春季  表計算  設問3  E  について質問があります。
よろしくお願いします。

質問
①このマクロは、どのようにして最適な組み合わせ数量を出しているのか分からないです。
16行目を見ると、荷物番号1には  X=6  Y=1  Z=21  が入力されています。
この組み合わせはどのように求めているのでしょうか。


問題文で組み合わせを作る処理の説明はここかな、、??と思ったのですが、うまく理解することができませんでした。↓
((4):セル B10~D10 の数量を,それぞれ0から対応する商品の残数量まで順に変化させて,それぞれの数量の組合せで求めた作業重量の中で,値が一つの荷物として発送可能な商品の総重量の上限以下で最大となるものを表示行の列Eに,そのときの商品X,Y及びZの数量を表示行の列B~Dに格納する。)


説明がわかりにくく申し訳ございません。
よろしくお願いします。
2021.10.04 02:53
無名さん  
(No.2)
すみません。リンクを貼り忘れました。

平成29年春季  表計算
https://www.fe-siken.com/kakomon/29_haru/pm13.html

よろしくお願いいたします。
2021.10.04 02:56
かなさん 
FE ブロンズマイスター
(No.3)
>問題文で組み合わせを作る処理の説明はここかな、、??と思ったのですが、うまく理解することができませんでした。
あってますよ。

簡単にするために、発送商品数量(B4~D4)を、X=3, Y=2, Z=1とします。

「セル B10~D10 の数量を,それぞれ0から対応する商品の残数量まで順に変化させ」ます。

B10=0, C10=0, D10=0
B10=0, C10=0, D10=1
B10=0, C10=1, D10=0
B10=0, C10=1, D10=1
B10=0, C10=2, D10=0
B10=0, C10=2, D10=1
B10=1, C10=0, D10=0
B10=1, C10=0, D10=1
B10=1, C10=1, D10=0
B10=1, C10=1, D10=1
B10=1, C10=2, D10=0
B10=1, C10=2, D10=1
B10=2, C10=0, D10=0
B10=2, C10=0, D10=1
B10=2, C10=1, D10=0
B10=2, C10=1, D10=1
B10=2, C10=2, D10=0
B10=2, C10=2, D10=1
B10=3, C10=0, D10=0
B10=3, C10=0, D10=1
B10=3, C10=1, D10=0
B10=3, C10=1, D10=1
B10=3, C10=2, D10=0
B10=3, C10=2, D10=1


こんな風にD10を細かく変えていって、D10が「商品の残数量」になったら、C10を1上げて、またD10を細かく変えていく。
C10も「商品の残数量」になったら、B10を1上げて、またD10とC10を細かく変えていく。

細かく変えていく過程で、その内容物のときの重量を計算し、これまでの最大値を上回る重量になったとき、そのセット内容と更新後重量を記録する。

B10=3, C10=4, D10=5までループを終えれば、その時点の記録されたセット内容が最も多く詰められる組み合わせになります。
2021.10.05 02:15
かなさん 
FE ブロンズマイスター
(No.4)
>セル B10~D10 の数量を,それぞれ0から対応する商品の残数量まで順に変化させて,

>■i:0,i≦B9,1
>┃・B10 ← i
>┃■j:0,j≦C9,1
>┃┃・C10 ← j
>┃┃■k:0,k≦D9,1
>┃┃┃・D10 ← k
>┃┃■
>┃■
>■
のループにあたり、

「その内容物のときの重量を計算し、これまでの最大値を上回る重量」かを調べるのが、空欄eで
「その内容物のときの重量を計算し、これまでの最大値を上回る重量」だったときにその組み合わせを記録するのが
>■m:0,m≦3,1
>┃・相対(B15,package_no,m) ← 相対(B10,0,m)
>■
で、
その時の重量を記録するのが、
>・work_weight ← E10
です


ものを表示行の列Eに,そのときの商品X,Y及びZの数量を表示行の列B~Dに格納する。
2021.10.05 02:26
無名さん  
(No.5)
返信が遅くなってしまい申し訳ございません。
解説ありがとうございます。

適切な組み合わせを作るトレースを書いてくださりとても分かりやすかったです。
この処理についてよくわからなかったのでとても助かりました。処理回数が多いと頭がごっちゃになってきてしまいます、、><

ありがとうございました。
2021.10.08 00:56

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの投稿はできません。

その他のスレッド


Pagetop