回答受付が終了しました

プログラミングについて 大学の授業でC言語を履修しています。

C言語関連176閲覧

回答(7件)

0

>プログラミングは実行結果が合っていてもプログラムが違うといけない はい そういう採点基準なので、減点されました 「一字一句同じじゃないとダメ!」という偏屈な物体なので、しょうがないです

1

100人いれば100通り……は言い過ぎでも、それぐらいはあります。 みな同じではないです。 ただ、場合による。 たとえば林檎は林檎ですよね。ドッチボールとか言いませんよね。リンゴのことを。 そういう風に場合によるが、基本的にはバラバラ。 今回、減点されたのは別の理由だと思います。 たとえば「条件式が違う」とか。 たとえば 「80点以上なら合格、それ以外なら不合格とするプログラムを組め」系の問題であれば、 本来なら 点数≧80 とするところを、点数>80 としてしまっていたり。 そうすると、たとえば今回の値がたまたま 57点とかのように、明らかに不合格、89点のように明らかに合格とするような値だったりした場合、一応結果は合います。 でも 80点のときはどうでしょうか。 不合格となってしまいます。点数>80 なので。 そういう風に条件式がミスっていたり、あるいは動的計画法とかを駆使して計算量をそぎ落とすような問題を、単純な全探索でやってしまっていたりとか。 そうすると 2のN乗( 2^N )かかります。

1人がナイス!しています

4

まず、先生とあなたのプログラムは、「完全に動作が一致しているのか?」という問題があります。 たまたま実行してみた少ない例で一致しているだけで、実は実行結果が異なる例が存在するという可能性があります。これは、減点に値します。 ここをクリアしたとしましょう。ですが、プログラムの品質にはこれ以外のの尺度もあります。 ・簡潔性、効率性 冗長な処理が入っていないか、効率の悪いアルゴリズムが用いられていないか? ・可読性 他人が読んで理解しやすくなっているか? 他にも保守性や妥当性、移植性といった尺度はありますが、大学の授業でこれが問われることはないと思います。 まぁ、小学校の算数で「掛け算の順序が違う!」とかと同じレベルで、単に異なっているから減点されている可能性もありますから何とも言えないのですが、動作があっていても減点されることは起こりえると思います。

4人がナイス!しています

1

実行結果の一例が期待通りになったとして二例目はそうならない場合もあり得ます。考えられるすべての例を試すと、本当にそれで合っているのかどうか分かるわけですが、しかしそれが実現可能なのかどうか…というところも考える必要があったり。 【プログラミングは実行結果が合っていてもプログラムが違うといけないのですか?】 一般にはそうです。ある一つの実行結果があっていたとしても、別の例でどうなるかは分かりません。一定の範囲で(そういう仕様を定めて)、どういう条件でも期待通りに動くというのが正しいプログラムであると言えます。 「ただ実行結果はあっています」というお話一つを以って、それで正解とは言い難い面があります。 既にご指摘が上がっていますが、どの辺がダメだったのかを確認なさることをお勧めします。可能性としてそれほど高くはないと思いますが、その減点は不当であるかもしれません。

1人がナイス!しています

1

内容次第です。 例えば、変数名が違うとか、それくらいなら減点はされないでしょう。 でも、「拡張性のない書き方」とか「バグになりやすい書き方」とか「プラットフォーム依存性の高いコード」とか、その時点での動作は同じでも、よろしくないコーディングってのは色々ありますので、そう言う内容の違いだったら減点されてしかるべきですね。

1人がナイス!しています