プログラミング

*と×についてさん  
(No.1)
https://www.ap-siken.com/kakomon/30_haru/pm03.html

プログラミングの問題で出てくる*と×の記述の仕方についてです。
この問題は×で記述していますが、*でも正解になるのですか?
2023.04.10 21:08
*と×についてさん  
(No.2)
追加で質問があるので追記します。

設問2のウです。
自分の回答は「board[v][h]がm × n」で、不正解でした。これだとどのような不具合が起こるのでしょうか。
2023.04.10 21:10
jjon-comさん 
AP プラチナマイスター
(No.3)
公式解答例がこちらで
5: board[v][h] ← i
6: if (iがm×n)

質問者の解答がこちら。
5: board[v][h] ← i
6: if (board[v][h]がm×n)

5行目の実行により board[v][h] と i は同じ値になりますから
質問者の解答も正解です。

情報処理技術者試験の最新の「擬似言語の記述形式」では
乗算を ×(*ではない)、除算を ÷(/ではない)で表記しています。

ただ、乗算を*で表記した受験者がいたとしても
それはアルゴリズムの理解力とは関係ない些末な話ですから、
×*÷/いずれでも正解として扱うだろう、と私は考えます。
2023.04.11 15:47
お助けをさん 
(No.4)
ご教授ありがとうございます。
2023.04.11 19:55
boyonboyonさん 
AP シルバーマイスター
(No.5)
board[v][h]とiは同じ値になるので、mxnと比較しても結果は同じだと思いますが、気になる事があります。
例えば、ボードの大きさが、10x10だとすると、board[v][h]の要素数は100なので、それ用の場所が確保されると思います。
そして、mxnと比較するためにその中のいろいろな場所を参照することになります。参照する場所が続いていれば良いのですが、そうでもなさそうです。
問題の解の1つでは、最終的に1,4,7,10,12,9,2,5,3,6,11,8のような形で格納されると思います。
ようするに、mxnと比較するために配列の中をあっちいったりこっちきたり忙しそうです。
ボードがさらに大きくなったら、、とても大変だなと感じました。

iならば、1カ所で済みます。

素人考えですが、自分はこんなこと考えました。
2023.04.11 23:34
Howitzerさん 
(No.6)
boyonboyonさん
5行目を実行した時点でキャッシュに入っているので心配無用ですよ。
さらにコンパイル言語だったら、コンパイラが勝手に最適化してくれます。
2023.04.12 14:33
お助けをさん 
(No.7)
boyonboyonさん、Howitzerさん、意見ありがとうございました。
そのような概念を考えらえていませんでした。そういうことも頭に入れていきたいと思います。

より知識を深めていきます!!
2023.04.12 14:43
boyonboyonさん 
AP シルバーマイスター
(No.8)
>Howitzerさん
直前の代入でキャッシュされているのですね。よく分かりました。ご教授ありがとうございます。
2023.04.12 18:35

返信投稿用フォーム

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

その他のスレッド


Pagetop