競技プログラミングの始め方|パソコンで問題を解く流れを画像付きで解説
2026-04-11
情報オリンピックに挑戦する中学生・高校生向けのプログラミング学習サービス「HaruCoder」を運営している、星出です。 「プログラミングの勉強って、具体的にパソコンで何をするんですか?」という質問をよくいただくので、今回は画面を見せながらお答えします。
プログラミングの勉強って、なにするの?
「プログラミングを勉強しよう」と言われても、実際にパソコンの前で何をするのかイメージが湧かない人は多いと思います。
数学なら「参考書を開いて、問題を解いて、答え合わせをする」という流れがすぐに浮かびます。英語なら「単語帳を開いて暗記する」。でも、プログラミングは?
この記事では、パソコンの画面を見せながら、実際に問題を1問解くまでの流れを最初から最後まで一緒にたどっていきます。この記事を読み終えるころには、「プログラミングの勉強ってこういうことか」というイメージがはっきりつかめるはずです。
なお、この記事で使うHaruCoderの体験問題はアカウント登録不要・無料で、今すぐブラウザから試せます。読みながら一緒にやってみてください。
全体の流れ
プログラミングの勉強は、ざっくりこういうサイクルの繰り返しです。
- 問題を読む — 「こういう計算をしてね」というお題が出る
- コードを書く — お題を解くプログラムをパソコンで書く
- 提出する — 書いたプログラムを送信する
- 結果を確認する — 合ってるか間違っているか、すぐに教えてもらえる
数学の勉強と似ていますよね。問題集を解いて、答え合わせをする。それをパソコンでやるだけです。
では、具体的にやってみましょう。
ステップ1:体験問題を開く
まず、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行です。
- 2つの箱を用意する(
int H, W;) - 値を受け取る(
cin >> H >> W;) - 計算して表示する(
cout << H * W << endl;)
この3ステップだけです。
ステップ5:実行して試してみる
いきなり提出する前に、まずは手元で試してみましょう。コードエディタの下に「実行」ボタンがあります。
入力を用意する
「実行」ボタンの上に、入力欄があります。ここに、さっき確認した入出力例の入力を入れてみましょう。
3
5

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

画面の下に結果が表示されます。15 と出ていれば成功です。3 × 5 = 15 で、入出力例と一致していますね。
この「まず実行して確認する」ステップはとても大事です。提出する前に自分で答え合わせができるので、ケアレスミスを防げます。
ステップ6:提出する
手元で正しく動くことを確認できたら、いよいよ提出です。「提出」ボタンをクリックしましょう。

提出すると、プログラムが用意された全てのテストケース(入出力例以外にも、いくつものパターン)に対して自動でチェックされます。数秒待つと、結果が表示されます。
ステップ7:結果を確認する
正解の場合
全てのテストケースに正解すると、「問題クリア!おめでとう!」 というお祝い画面が表示されます。

結果欄には AC(Accepted = 正解) と表示されます。これが出たら、その問題はクリアです。
間違いの場合
もし WA(Wrong Answer = 不正解) と表示された場合は、プログラムのどこかに間違いがあります。

たとえば H * W を H + W と書いてしまった(掛け算でなく足し算にしてしまった)場合にWAになります。間違えても大丈夫。コードを修正して、何度でも提出できます。
よくあるミス
つまずきやすいポイントをいくつか挙げておきます。
- コンパイルエラー(CE) — 文法ミスがある。セミコロン
;の付け忘れ、{と}の対応ミスなど - WA(不正解) — プログラムは動くけど、計算が間違っている
- RE(実行時エラー) — プログラムが途中でクラッシュした
どれもエラーメッセージや入出力例と見比べれば原因がわかることがほとんどです。間違いを直す作業も立派な勉強なので、焦らず取り組みましょう。
これが「プログラミングの勉強」
ここまでの流れをまとめると、こうなります。
- 問題を読む — 何を計算するか理解する
- コードを書く — 計算の手順をプログラムにする
- 実行して確認する — 手元でテストする
- 提出する — ボタンを押すだけ
- 結果を見る — ACなら次の問題へ、WAなら修正して再提出
これがプログラミング学習の基本サイクルです。 数学の問題集を解いて答え合わせをするのと本質的に同じで、それをパソコン上でやっているだけです。
最初は1問に何時間かかっても構いません。問題を解いて、ACを取って、次の問題へ進む。このサイクルを繰り返すことで、少しずつ難しい問題が解けるようになっていきます。
次のステップ
1問解けたら、次はどうすればいいでしょうか?
他の体験問題にも挑戦する
体験問題ページには、他にもいくつか問題が用意されています。今回解いた問題より少し難しい問題もあるので、順番に挑戦してみてください。
もっと問題を解きたくなったら
体験問題を解いてみて「もっとやりたい」と思ったら、HaruCoderのオンライン受講がおすすめです。JOI一次予選レベルの問題 を難易度順に練習でき、提出履歴や進捗の管理もできるので、「次に何を解けばいいかわからない」という悩みがなくなります。
JOIに挑戦したい
情報オリンピック(JOI)一次予選は、今回解いたような問題の延長線上にあります。基本文法を身につければ十分に挑戦できるレベルです。詳しくは以下の記事をご覧ください。
- JOI一次予選とは?中学生からの挑戦ガイド — 一次予選の具体的な内容と対策法
- 中学生がプログラミングを始めるには? — 学習ロードマップ
プログラミングの勉強は、やることはシンプルです。問題を解いて、答え合わせして、次へ進む。 まずは体験問題で、今回の流れを実際に体験してみてください。