C言語入門 オンラインジャッジのススメ

Last-modified: 2013-10-02 (水) 20:33:55
 

オンラインジャッジとは

プログラムを作ったけど合ってるかわからない
自分で学習する課題が欲しい

など思っている方は「オンラインジャッジ」を利用しましょう。

オンラインジャッジには、簡単なものから難しいものまで様々な問題が用意されています。
その中で解きたい問題を選び、実際に解いて送信すると、プログラムが正しく動作しているかその場でわかります。

オンラインジャッジはプログラミングの学習に非常に有効です。

AOJ に登録しよう

オンラインジャッジのサイトはいくつかありますが、初めての人には AOJ をおすすめします。*1

AOJ (Aizu Online Judge) は会津大学が運営するサイトで、日本語の問題が用意されています。
初心者向けの簡単な問題もあり、初心者に最適です。

利用するには、まずはユーザー登録が必要です。
公式サイトからユーザー登録をしてください。

問題を解いてみよう

問題は、問題セット (Problem Set) という単位で区分されています。
問題セットは、その問題が過去に出場された大会などで分かれていて、問題の難易度とはあまり関係ありません。

ただし、初心者用の問題セットは特別に用意されています
それが、Volume 100 です。

ここでは、Volume 100から10000: Hello Worldを選んだとしましょう。
あなたは問題文を読み、その条件を満たすプログラムを作らないといけません。
この問題では、単純に「Hello World」と出力するだけですね。

問題を解いたら、問題名の右にある上矢印のついた画像をクリックします。
先ほど登録したユーザー名とパスワードを入力して、送信してください。

送信したら、結果の画面に移動します。
この画面には、複数のユーザーのジャッジ結果が表示されています。
自分の提出した解答を探し (一番上かその近くだと思います) 結果を見てください。

  • Waiting Judge
    結果はまだ出ていません。ページを更新してみてください。
  • Accepted
    正解。
  • Wrong Answer
    不正解。
  • Memory Limit Exceeded
    指定された以上のメモリを使用した場合になります。
  • Time Limit Exceeded
    タイムアウト。制限時間内にプログラムが終了しなかった場合になります。
  • Runtime Error
    実行時に何らかのエラーが発生しています。
  • Compile Error
    コンパイルエラーです。
    プログラムが間違ってます。

正解でない場合、どこか間違っているのか考えて再度提出してみましょう。

どの問題を解けばよいか分からない

C言語入門の各ページの挑戦課題の所に、
そのセクションで習ったことが使われている問題を載せて有ります。

まずは、それを解いてみてください。

Volume 100 が終了したら…

あなたはC言語 (他の言語で解いた場合、その言語) の基本的なことを理解していると言えます。
他の問題セットにも挑戦してみてください。


*1 その他のサイトについては、リンク をご覧ください。