設問2 e
丹次郎さん
(No.1)
2点質問です。お時間がある方、教えていただけると大変助かります。
1.
「kの値は常に0であり、以下の条件はFALSEを受け取る。
よって、以降の提供リストに表示させる処理は同じ値が入ってしまう。」
としか考えられません。
▲K>=minMultiplicity
│・J←J+1
▼
2.
以下の箇所は何のための処理なのでしょうか?
▲相対(提供リスト!A1, j,3), minmulitiplicity
│(省略)
▼
1.
「kの値は常に0であり、以下の条件はFALSEを受け取る。
よって、以降の提供リストに表示させる処理は同じ値が入ってしまう。」
としか考えられません。
▲K>=minMultiplicity
│・J←J+1
▼
2.
以下の箇所は何のための処理なのでしょうか?
▲相対(提供リスト!A1, j,3), minmulitiplicity
│(省略)
▼
2022.10.22 11:47
丹次郎さん
(No.2)
すみません、スレッド名が分かりにくくなっていました。
平成26年春期問13(ソフトウェア開発(表計算))問題です。
平成26年春期問13(ソフトウェア開発(表計算))問題です。
2022.10.22 11:51
jjon-comさん
★FE ゴールドマイスター
(No.3)
https://www.fe-siken.com/kakomon/26_haru/pm13.html
次のマクロにおいて、★1を実行すれば Kの値は1になりますし、★2を実行すれば Kの値は1増えます。よって、
は間違っています。
・K←0
■I:1, I≦numCustomer, 1 …5000回のループ
|(省略)
|▲相対(I1, minID, 0)≠previousValue
||▲K≧minMultiplicity …多重度の下限値 3 より大きいときだけ表示
|||・[e J←J+1]
||▼
||(省略)
||・K←1 …★1
||(省略)
|+――
||・[f K←K+1] …★2
||(省略)
|▼
■
次のマクロにおいて、★1を実行すれば Kの値は1になりますし、★2を実行すれば Kの値は1増えます。よって、
> kの値は常に0であり、以下の条件はFALSEを受け取る。
は間違っています。
・K←0
■I:1, I≦numCustomer, 1 …5000回のループ
|(省略)
|▲相対(I1, minID, 0)≠previousValue
||▲K≧minMultiplicity …多重度の下限値 3 より大きいときだけ表示
|||・[e J←J+1]
||▼
||(省略)
||・K←1 …★1
||(省略)
|+――
||・[f K←K+1] …★2
||(省略)
|▼
■
2022.10.22 16:15
田中さん
(No.4)
ご回答ありがとうございます。
理解することができました。
これを理解したことで、2つ目の質問も解決することができました。
は5009レコード目が多重度の条件を満たさなかった場合の処理だと理解することができました。
理解することができました。
これを理解したことで、2つ目の質問も解決することができました。
>2.
>以下の箇所は何のための処理なのでしょうか?
>▲相対(提供リスト!A1, j,3), minmulitiplicity
>│(省略)
>▼
は5009レコード目が多重度の条件を満たさなかった場合の処理だと理解することができました。
2022.10.22 16:46
jjon-comさん
★FE ゴールドマイスター
(No.5)
図2のN2セルの値が3の場合(minMultiplicityが3の場合)、
多重度が3以上の匿名化顧客の組データをワークシート"提供リスト"に出力する
というのがこの問題の要求仕様なのですが、
このマクロは ★次のような動作はしません★
・多重度が1ならその行は"提供リスト"に出力しない
・多重度が2でもその行は"提供リスト"に出力しない
・多重度が3になったら初めてその行を"提供リスト"に出力する
そうではなくこのマクロは ★次のような動作をコーディングしています★
・評価値の小さなものから順に処理対象としていき【解答欄d】
前回の処理対象とは異なる評価値に出会ったなら
【相対(I1, minID, 0)≠previousValue】
それを1件目として"提供リスト"に出力する【先の回答No.3の★1】
・それ以降、同じ評価値が続くたびに
出力済の"提供リスト"の行の多重度に1を加算する【先の回答No.3の★2】
・そして、現在処理中の評価値とは異なる評価値に出会ったら多重度を判定する。
▲K≧minMultiplicity …多重度の下限値 3 以上なら表示
|・[e J←J+1]
▼
多重度が3以上なら"提供リスト"の次の行に進む。つまりその行は残る。
多重度が1または2なら次の行に進まない。
つまりその行は以降の処理で上書きされて消えることになる。
"匿名化顧客リスト" 5000行のマーキングをすべて終えた後、
"提供リスト"の最終行に多重度が1または2のゴミが残っていたなら
それを消去しています。
多重度が3以上の匿名化顧客の組データをワークシート"提供リスト"に出力する
というのがこの問題の要求仕様なのですが、
このマクロは ★次のような動作はしません★
・多重度が1ならその行は"提供リスト"に出力しない
・多重度が2でもその行は"提供リスト"に出力しない
・多重度が3になったら初めてその行を"提供リスト"に出力する
そうではなくこのマクロは ★次のような動作をコーディングしています★
・評価値の小さなものから順に処理対象としていき【解答欄d】
前回の処理対象とは異なる評価値に出会ったなら
【相対(I1, minID, 0)≠previousValue】
それを1件目として"提供リスト"に出力する【先の回答No.3の★1】
・それ以降、同じ評価値が続くたびに
出力済の"提供リスト"の行の多重度に1を加算する【先の回答No.3の★2】
・そして、現在処理中の評価値とは異なる評価値に出会ったら多重度を判定する。
▲K≧minMultiplicity …多重度の下限値 3 以上なら表示
|・[e J←J+1]
▼
多重度が3以上なら"提供リスト"の次の行に進む。つまりその行は残る。
多重度が1または2なら次の行に進まない。
つまりその行は以降の処理で上書きされて消えることになる。
> 以下の箇所は何のための処理なのでしょうか?
> ▲相対(提供リスト!A1, j,3)< minMulitiplicity
> │(省略)
> ▼
"匿名化顧客リスト" 5000行のマーキングをすべて終えた後、
"提供リスト"の最終行に多重度が1または2のゴミが残っていたなら
それを消去しています。
2022.10.22 16:46
田中さん
(No.6)
ご親切にご教示いただき、誠にありがとうございました。
一度、表示してから新しい値やnullで塗り替えるという感覚を掴めたような気がします。
一度、表示してから新しい値やnullで塗り替えるという感覚を掴めたような気がします。
2022.10.22 16:51
広告
返信投稿用フォーム
スパム防止のためにスレッド作成日から30日経過したスレッドへの投稿はできません。
広告