平成26年春期午後問13

トマさん  
(No.1)
https://www.fe-siken.com/kakomon/26_haru/pm13.html
質問が3つあります

この問題における多重度とはなんでしょうか?

e,fがよくわかりません。https://www.fe-siken.com/bbs/2455.htmlの質問の、"②では今までの評価値とは違う新たな評価値を見つけたからkに1を代入...空欄fはkに1を加算する"、というところで、kに1をプラスするという考えになぜ至るのか、なぜkにプラス1するのかが分かりません。

また、先程と同じ過去スレにおいて、"提供リストに格納する行を1行下げる"、というところで、なぜ行を一行下げるのでしょうか?多重度との関連もよくわかりません。
2022.11.23 16:06
boyonboyonさん 
FE ブロンズマイスター
(No.2)
多重度については、問題文に、
>匿名化された後の郵便番号,年齢,職業コードが全て同一となる顧客の数(多重度と呼ぶ)
と書いてあります。

このマクロがどのような手順で提供リストを作るのかを翻訳してみました。

評価値として、(4)に出てくる8桁の数値を使います。

手順1
最小の評価値を見つける。
□□□□行位置minID、その行のマーキングを1にする。
□□□□(再調査されないように、調査済みにするため)

手順2
評価値を直前の評価値(previousValue)と比較する。
□□□□違っていたら、
□□□□□□□□直前の評価値の多重度を確認する。(K≧minMultiplicityのところ)
□□□□□□□□多重度が条件の多重度より大きかったら直前の評価値は残すので、
□□□□□□□□現在の評価値を次の行に書き込む。(j+1)
□□□□□□□□多重度が、条件より少なかったら直前の評価値は破棄するので、
□□□□□□□□現在の評価値で上書きする。そして、多重度は1、
□□□□□□□□previousValueを現在の評価値に置き換える。
□□□□同じだったら
□□□□□□□□多重度を1つ増やす。(K+1)

手順1、2を繰り返します。(リストの最後まで)

最後に、抽出した最終行の多重度を調べ、条件より小さかったら、nullにします。

こんな手順だと思います。
2022.11.23 17:35
jjon-comさん 
FE シルバーマイスター
(No.3)
jjon-comさん 
FE シルバーマイスター
(No.4)
今回の質問者が次の質問者と同じであるならこちらも参照。
https://www.fe-siken.com/bbs/4530.html
2022.11.23 20:47
boyonboyonさん 
FE ブロンズマイスター
(No.5)
読み返してみたら、上記の説明の以下の部分がわかりにくかったので、書き直しました。
(上記の文)
□□□□□□□□直前の評価値の多重度を確認する。(K≧minMultiplicityのところ)
□□□□□□□□多重度が条件の多重度より大きかったら直前の評価値は残すので、
□□□□□□□□現在の評価値を次の行に書き込む。(j+1)
□□□□□□□□多重度が、条件より少なかったら直前の評価値は破棄するので、
□□□□□□□□現在の評価値で上書きする。そして、多重度は1、
□□□□□□□□previousValueを現在の評価値に置き換える。

ちょっと手直し、

□□□□□□□□直前の評価値の多重度を確認する。(K≧minMultiplicityのところ)
□□□□□□□□多重度が条件の多重度より大きかったら直前の評価値の行はそのまま残すので、
□□□□□□□□次の行に移動し(j+1)、現在の評価値を新たに書き込む。
□□□□□□□□多重度が、条件より少なかったら直前の評価値は破棄するので、
□□□□□□□□現在の評価値で直前の評価値を上書きする。(jはそのままなので)
□□□□□□□□そして、現在の評価値の多重度は1にして、
□□□□□□□□previousValueを現在の評価値で置き換える。
このほうがわかりやすいと思います。
2022.11.23 20:50
トマさん  
(No.6)
解説ありがとうございます!
boyonboyonさん、プログラムの流れが分かってスッキリしました。ありがとうございます。
jjon-comさん、過去スレの記載ありがとうございます!前の質問では解りきらなかった部分があり、再度質問させていただきました。
2022.11.26 12:08

返信投稿用フォーム

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

その他のスレッド


Pagetop