競技プログラミングの始め方|パソコンで問題を解く流れを画像付きで解説

2026-04-11

競技プログラミング
始め方
中学生
初心者
高校生
書いた人

情報オリンピックに挑戦する中学生・高校生向けのプログラミング学習サービス「HaruCoder」を運営している、星出です。 「プログラミングの勉強って、具体的にパソコンで何をするんですか?」という質問をよくいただくので、今回は画面を見せながらお答えします。


プログラミングの勉強って、なにするの?

「プログラミングを勉強しよう」と言われても、実際にパソコンの前で何をするのかイメージが湧かない人は多いと思います。

数学なら「参考書を開いて、問題を解いて、答え合わせをする」という流れがすぐに浮かびます。英語なら「単語帳を開いて暗記する」。でも、プログラミングは?

この記事では、パソコンの画面を見せながら、実際に問題を1問解くまでの流れを最初から最後まで一緒にたどっていきます。この記事を読み終えるころには、「プログラミングの勉強ってこういうことか」というイメージがはっきりつかめるはずです。

なお、この記事で使うHaruCoderの体験問題はアカウント登録不要・無料で、今すぐブラウザから試せます。読みながら一緒にやってみてください。

全体の流れ

プログラミングの勉強は、ざっくりこういうサイクルの繰り返しです。

  1. 問題を読む — 「こういう計算をしてね」というお題が出る
  2. コードを書く — お題を解くプログラムをパソコンで書く
  3. 提出する — 書いたプログラムを送信する
  4. 結果を確認する — 合ってるか間違っているか、すぐに教えてもらえる

数学の勉強と似ていますよね。問題集を解いて、答え合わせをする。それをパソコンでやるだけです。

では、具体的にやってみましょう。

ステップ1:体験問題を開く

まず、HaruCoderの体験問題ページにアクセスします。

HaruCoder 体験問題ページ

体験問題の一覧ページ

ここにはアカウント登録なしで挑戦できる問題が並んでいます。それぞれの問題には難易度がついているので、一番簡単な問題から始めましょう。

今回は「長方形の面積」という問題を使って、問題を解く流れを一緒に体験していきます。問題をクリックしてみてください。

ステップ2:画面の見方を知る

問題をクリックすると、こんな画面が開きます。

問題ページの全体像

画面は大きく左右2つに分かれています

  • 左側 — 問題文(何を計算するか)が書いてある
  • 右側 — コードを書いて実行・提出する場所

この2つを行き来しながら問題を解いていきます。まずは左側の問題文を読んでみましょう。

ステップ3:問題を読み解く

問題文を確認する

左側にはこんな問題文が表示されています。

問題文の部分

縦の長さが H cm、横の長さが W cm の長方形がある。この長方形の面積を求めよ。

つまり、縦と横の長さが与えられるので、面積(縦 × 横)を計算して表示してください、ということです。

「入力」と「出力」を確認する

問題文の下に「入力」と「出力」というセクションがあります。

入力・出力の説明部分

入力は、プログラムに外から渡されるデータです。この問題では、縦の長さ H と横の長さ W が1行ずつ与えられます。

H
W

出力は、プログラムが答えとして表示するデータです。この問題では、面積を1行で出力します。

「入出力例」を確認する

さらに下にスクロールすると、入出力例を表す「サンプル」があります。

入出力例の部分

たとえば、入力が

3
5

なら、出力は

15

になる、ということです。3 × 5 = 15 ですね。このように具体的な例が用意されているので、自分の理解が正しいか確認できます。

ステップ4:コードを書く

問題の意味がわかったら、いよいよコードを書きます。画面の右側を見てください。

言語を選ぶ

まず、コードエディタの上にある言語選択で C++ が選ばれていることを確認しましょう。

言語選択の部分

C++ は競技プログラミングで最もよく使われている言語です。今回はこれを使います。

コードを書く

エディタに以下のコードを入力してみてください。

#include <iostream>
using namespace std;
int main() {
    // ここにコードを書く
    int H, W;
    cin >> H >> W;
    cout << H * W << endl;
    return 0;
}

コードを入力した状態

初めて見ると暗号のように見えるかもしれませんが、やっていることはシンプルです。1行ずつ見ていきましょう。

コード意味
#include <iostream>便利な道具を使えるようにする「おまじない」
using namespace std;これも「おまじない」。毎回書くものだと思ってOK
int main() { ... }プログラムの本体。この { } の中に処理を書く
int H, W;「HとWという名前の整数の箱を用意する」
cin >> H >> W;「外から値を受け取って、HとWの箱に入れる」
cout << H * W << endl;「H × W の計算結果を表示する」

最初の 3 行と最後の 2 行は「おまじない」として毎回書くものなので、今は深く理解しなくて大丈夫です。大事なのは main() の中の3行です。

  1. 2つの箱を用意するint H, W;
  2. 値を受け取るcin >> H >> W;
  3. 計算して表示するcout << H * W << endl;

この3ステップだけです。

ステップ5:実行して試してみる

いきなり提出する前に、まずは手元で試してみましょう。コードエディタの下に「実行」ボタンがあります。

入力を用意する

「実行」ボタンの上に、入力欄があります。ここに、さっき確認した入出力例の入力を入れてみましょう。

3
5

入力欄に値を入力した状態

実行してみる

入力を入れたら、「実行」ボタンをクリックします。

実行結果の表示

画面の下に結果が表示されます。15 と出ていれば成功です。3 × 5 = 15 で、入出力例と一致していますね。

この「まず実行して確認する」ステップはとても大事です。提出する前に自分で答え合わせができるので、ケアレスミスを防げます。

ステップ6:提出する

手元で正しく動くことを確認できたら、いよいよ提出です。「提出」ボタンをクリックしましょう。

提出ボタン

提出すると、プログラムが用意された全てのテストケース(入出力例以外にも、いくつものパターン)に対して自動でチェックされます。数秒待つと、結果が表示されます。

ステップ7:結果を確認する

正解の場合

全てのテストケースに正解すると、「問題クリア!おめでとう!」 というお祝い画面が表示されます。

正解(AC)のお祝い画面

結果欄には AC(Accepted = 正解) と表示されます。これが出たら、その問題はクリアです。

間違いの場合

もし WA(Wrong Answer = 不正解) と表示された場合は、プログラムのどこかに間違いがあります。

不正解(WA)の結果表示

たとえば H * WH + W と書いてしまった(掛け算でなく足し算にしてしまった)場合にWAになります。間違えても大丈夫。コードを修正して、何度でも提出できます。

よくあるミス

つまずきやすいポイントをいくつか挙げておきます。

  • コンパイルエラー(CE) — 文法ミスがある。セミコロン ; の付け忘れ、{} の対応ミスなど
  • WA(不正解) — プログラムは動くけど、計算が間違っている
  • RE(実行時エラー) — プログラムが途中でクラッシュした

どれもエラーメッセージや入出力例と見比べれば原因がわかることがほとんどです。間違いを直す作業も立派な勉強なので、焦らず取り組みましょう。

これが「プログラミングの勉強」

ここまでの流れをまとめると、こうなります。

  1. 問題を読む — 何を計算するか理解する
  2. コードを書く — 計算の手順をプログラムにする
  3. 実行して確認する — 手元でテストする
  4. 提出する — ボタンを押すだけ
  5. 結果を見る — ACなら次の問題へ、WAなら修正して再提出

これがプログラミング学習の基本サイクルです。 数学の問題集を解いて答え合わせをするのと本質的に同じで、それをパソコン上でやっているだけです。

最初は1問に何時間かかっても構いません。問題を解いて、ACを取って、次の問題へ進む。このサイクルを繰り返すことで、少しずつ難しい問題が解けるようになっていきます。

次のステップ

1問解けたら、次はどうすればいいでしょうか?

他の体験問題にも挑戦する

体験問題ページには、他にもいくつか問題が用意されています。今回解いた問題より少し難しい問題もあるので、順番に挑戦してみてください。

もっと問題を解きたくなったら

体験問題を解いてみて「もっとやりたい」と思ったら、HaruCoderのオンライン受講がおすすめです。JOI一次予選レベルの問題 を難易度順に練習でき、提出履歴や進捗の管理もできるので、「次に何を解けばいいかわからない」という悩みがなくなります。

JOIに挑戦したい

情報オリンピック(JOI)一次予選は、今回解いたような問題の延長線上にあります。基本文法を身につければ十分に挑戦できるレベルです。詳しくは以下の記事をご覧ください。


プログラミングの勉強は、やることはシンプルです。問題を解いて、答え合わせして、次へ進む。 まずは体験問題で、今回の流れを実際に体験してみてください。


HaruCoder で JOI 対策を始めよう

週1回のオンライン授業で、一次予選・二次予選突破を目指す
中学生・高校生をサポートしています。

無料体験してみる