HOME»応用情報技術者試験掲示板»平成30年午後問3プログラミング
投稿する

[1577] 平成30年午後問3プログラミング

 トマトさん(No.1) 
設問2
ウの解説で「※大文字のMとNは定数、小文字のmとnは変数ですが、プログラム中での使われ方は同じですので回答に当たってはどちらでも構わないと思われます。」の説明についてです。
大文字のMとNはあくまで定数なのでウのif文に定数を入れるのは間違いではないでしょうか?
図5のメインプログラムの方でm←M , n←Nとなっているので小文字mとnを使うのが最適だと思います。
2019.04.17 00:32
Rさん(No.2) 
表2に
M,Nは定数
m,nは「プログラム内で」盤面の行(列)数を表す変数

「プログラム内で」が重要だと思います。
私も、M,Nを使うのはちょっと・・・と思います。
2019.04.17 10:58
okomeさん(No.3) 
私は定数をIF文内に書くことに対して違和感どころか当たり前のことのように感じるのですが、なぜ定数は使用してはいけないのでしょう?

もしかすると、MとNが盤面のサイズが決まった後のプログラム上では50と32のように数値になっているとお考えなのでしょうか...?

もしそうだとすれば、大変まずいです。
定数は数値ではありません。値が絶対に変わらないことを保証された変数と同じようで違うものです。やり取りを見ているとこの概念が感じられないと思いました。
プログラムを実際に書いたことはありますか?
初心者向け教科書あるある「プログラム数値直接入力しがち」
というものがあります。
その書き方でこの問題のプログラムを書くと変更が大変になるのは目に見えているでしょう。変更する箇所が多く、探すのも大変です。
そこで出てくるのが定数。
数値の代わりに、変更されないことが確約された定数を使い、最初にまとめて宣言を行い、何度でもおなじ意味の数値の代わりになります。
プログラムによっていじられるのが変数、仕様変更に対応するため開発者にいじられるものが定数です。

この問題ではmとnという変数にMとNの定数の中身を代入しています。
そしてmnを基本的にプログラム内で使用するように書かれています。
それに違和感を感じる私の気持ちが伝わってくれると嬉しいです。

今週末頑張りましょうね!!
2019.04.18 12:02
Rさん(No.4) 
実際の現場であるとしたら
多分コーディング規約がそうなのかなぁと。
でなきゃおっしゃる通り定数MNをつかいますもんね。

元々のスレ主さんが修正依頼でだしていますので、議論に加わった人たちの総意で

「問題でプログラム内は変数m,nを使うと明記されているため回答に定数M,Nを書かない」

でいかがでしょう。管理人様。
2019.04.18 18:28

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの書込みはできません。
© 2010-2024 応用情報技術者試験ドットコム All Rights Reserved.

Pagetop