情報Ⅰ共通テストの擬似言語(DNCL)の読み方【初心者向け攻略法】

共通テストで使われる擬似言語DNCLの読み方を初心者向けに解説。独特の表現一覧、3ステップの読み方、読み間違いやすいポイント、練習問題つき。

2026年5月12日

DNCLが読めない3つの原因と解決法

共通テストの情報Ⅰで出てくる擬似言語(DNCL)。「何が書いてあるかわからない」と感じていませんか?

DNCLが読めない原因は主に3つ:

  • 日本語なのに意味がわからない:「〜を〜に格納する」「〜の間繰り返す」など独特の表現
  • どこから読めばいいかわからない:コードの全体像が見えない
  • 変数の値が追えない:途中で何がどうなっているか見失う

DNCLは「パターン」があります。パターンを覚えれば、初見の問題でも読めるようになります。

DNCLの文法ガイドで基本文法を確認してから読むと、さらに理解が深まります。

DNCL独特の表現一覧

代入・入出力

DNCLの表現意味Pythonで書くと
x ← 5xに5を代入するx = 5
x ← x + 1xを1増やすx = x + 1
表示する(x)xの値を画面に出すprint(x)

条件分岐

繰り返し

DNCLの表現意味
もし x > 10 ならばxが10より大きいとき
そうでなくもし x > 5 ならばそうでなくて、xが5より大きいとき
そうでなければ上のどれにも当てはまらないとき
DNCLの表現意味
i を 1 から 10 まで 1 ずつ増やしながら繰り返すfor i in range(1, 11)
x > 0 の間繰り返すwhile x > 0
繰り返しを抜けるbreak

比較・論理演算

DNCLの表現意味
x = 5xが5と等しい(比較)
x ≠ 5xが5と等しくない
x ≧ 5xが5以上
かつ / またはAND / OR

重要:DNCLでは = は「比較」です。代入は を使います。配列の添字が0と1のどちらから始まるかは問題ごとに定義されるので、必ず問題文を確認しましょう。

表現の具体例

「←」(代入):x ← 10 は「xという箱に10を入れる」。x ← x + 1 は「xの中身を取り出して1を足し、結果をまたxに入れる」。右辺を先に計算してから左辺に入れます。数学の「x = x + 1」とは意味が違います。

「もし〜ならば」:条件が偽(成り立たない)のときは中の処理をスキップして次に進みます。「そうでなくもし」は上の条件が偽のときだけ判定されます。上から順に判定して最初に真になったところだけ実行されます。

「〜の間繰り返す」:毎回ループの先頭で条件を判定します。条件が偽になった瞬間にループを抜けます。無限ループにならないよう、ループ内で条件に関わる変数が変わる処理が必要です。

「iを〜まで〜ずつ」:i を 1 から 5 まで 1 ずつ はi=1,2,3,4,5の5回。2 ずつ増やしながら ならi=1,3,5の3回。「5まで」は5を含みます。

読み方の3ステップ

ステップ1: 全体を把握する

コードを最初から最後まで「ざっと」見て構造を把握します。変数は何個あるか、繰り返しはあるか、最後に何を表示しているか。細かい計算は追いません。

ステップ2: 変数追跡(トレース)

表を作って、1行ずつ変数の値を追いかけます。

行  | i  | sum | 条件    | 出力
----|----|----|---------|-----
1   |    | 0  |         |
2   | 1  | 0  |         |
3   | 1  | 1  |         |
4   | 2  | 1  |         |
5   | 2  | 3  |         |
6   | 3  | 3  |         |
7   | 3  | 6  |         |
8   |    | 6  |         | 6

コツ:変数が変わるたびに新しい行を書く。繰り返しの中は特に丁寧に追う。条件分岐では「どちらに進んだか」を記録する。

ステップ3: 出力を確認する

最後に 表示する で出力される値を確認します。問題で聞かれるのは、ほとんどの場合「出力結果」です。

パターン別攻略

パターン1: 合計を求める

sum ← 0
i を 1 から 5 まで 1 ずつ増やしながら繰り返す
    sum ← sum + i
を実行する
表示する(sum)

読み方:sum ← 0 で合計変数を初期化。sum ← sum + i で今の合計にiを足す。1+2+3+4+5 = 15。出力: 15

パターン2: 最大値を求める

A ← {3, 7, 2, 9, 4}
max ← A[1]
i を 2 から 5 まで 1 ずつ増やしながら繰り返す
    もし A[i] > max ならば
        max ← A[i]
    を実行する
を実行する
表示する(max)

読み方:最初に max を配列の1番目(3)にする。2番目以降を順に見て、maxより大きければ更新。3→7→7→9→9。出力: 9

パターン3: カウントする

A ← {5, 3, 8, 1, 7, 4, 9, 2}
count ← 0
i を 1 から 8 まで 1 ずつ増やしながら繰り返す
    もし A[i] ≧ 5 ならば
        count ← count + 1
    を実行する
を実行する
表示する(count)

読み方:5以上の要素を数える。5, 8, 7, 9 の4つが5以上。出力: 4

パターン4: 交換(スワップ)

temp ← A[i]A[i] ← A[j]A[j] ← temp でA[i]とA[j]の値を入れ替えます。ソートアルゴリズムでよく出ます。

情報Ⅰのアルゴリズム・ソートで詳しく解説しています。

読み間違いやすいポイント5選

ポイント1: ← と = の違い

は代入(xに5を入れる)、= は比較(xが5と等しいか?)。これを間違えると全く違う意味になります。

ポイント2: 繰り返しの範囲

「i を 1 から 5 まで」は i=1,2,3,4,5 の5回繰り返します。「5まで」は5を含みます

ポイント3: 配列のインデックス

配列の添字が0始まりか1始まりかは問題ごとに定義されるので、問題文の「配列の添字は○から始まる」という記述を必ず確認しましょう。

ポイント4: 「そうでなくもし」の判定順序

もし x ≧ 80 ならば
    表示する("A")
そうでなくもし x ≧ 60 ならば
    表示する("B")
そうでなければ
    表示する("C")

x=75の場合:x≧80→偽、x≧60→真→"B"を表示。上から順に判定して、最初に真になったところで終了します。

ポイント5: 繰り返しの中の条件分岐

繰り返しの中に条件分岐がある場合、毎回の繰り返しで条件を判定します。条件を満たさない回では何も起きません。トレース表で「変化なし」の行も必ず書きましょう。

練習問題

問題1

次のプログラムの出力を答えなさい。

x ← 10
y ← 3
z ← 0
x > 0 の間繰り返す
    z ← z + 1
    x ← x - y
を実行する
表示する(z)
表示する(x)

問題2

次のプログラムの出力を答えなさい。

A ← {4, 2, 7, 1, 5}
sum ← 0
i を 1 から 5 まで 1 ずつ増やしながら繰り返す
    もし A[i] > 3 ならば
        sum ← sum + A[i]
    を実行する
を実行する
表示する(sum)

問題3

次のプログラムの出力を答えなさい。

n ← 1
i を 1 から 4 まで 1 ずつ増やしながら繰り返す
    n ← n * 2
を実行する
表示する(n)

解答・解説

問題1の解答: z=4, x=-2

行  | x   | y | z | 条件(x>0)
----|-----|---|---|----------
初期| 10  | 3 | 0 |
1回目| 7  | 3 | 1 | 10>0 → 真
2回目| 4  | 3 | 2 | 7>0 → 真
3回目| 1  | 3 | 3 | 4>0 → 真
4回目| -2 | 3 | 4 | 1>0 → 真
判定 | -2 | 3 | 4 | -2>0 → 偽(終了)

このプログラムは「10を3で何回引けるか」を数えています(割り算の商と余りに相当)。

問題2の解答: 16

A = {4, 2, 7, 1, 5}

i=1: A[1]=4 > 3 → 真 → sum = 0+4 = 4
i=2: A[2]=2 > 3 → 偽 → sumは変わらない
i=3: A[3]=7 > 3 → 真 → sum = 4+7 = 11
i=4: A[4]=1 > 3 → 偽 → sumは変わらない
i=5: A[5]=5 > 3 → 真 → sum = 11+5 = 16

3より大きい要素(4, 7, 5)の合計です。

問題3の解答: 16

初期: n=1 → i=1: n=2 → i=2: n=4 → i=3: n=8 → i=4: n=16。nを4回2倍にしています。つまり 2⁴ = 16 です。

テスト本番のコツ

  1. まず全体を見る:いきなり計算を始めない
  2. トレース表を書く:頭の中だけで追わない。必ず紙に書く
  3. 繰り返しの回数を確認:「何回繰り返すか」を最初に把握する
  4. 選択肢を先に見る:答えの候補がわかると、トレースの方向性が見える
  5. 時間をかけすぎない:1問に10分以上かかったら飛ばす

情報Ⅰの擬似コード読解で、さらに多くの問題パターンを練習できます。

情報Ⅰの変数とif文の解説で基本に不安がある人は、そちらも確認してください。

情報Ⅰ共通テスト対策スケジュールで、全体の学習計画を立てましょう。

まとめ

  • ✅ 独特の表現を覚える(←は代入、=は比較)
  • ✅ 3ステップで読む(全体把握→変数追跡→出力確認)
  • ✅ トレース表を必ず紙に書く
  • ✅ 配列の添字は0始まりか1始まりか問題文で確認する
  • ✅ パターンを覚える(合計、最大値、カウント、交換)
  • ✅ 読み間違いやすいポイントを意識する

DNCLは「慣れ」が大切です。最初は時間がかかっても、10問解けばスピードが上がります。

補足

追加練習:A=10、5より大きい要素だけ合計→6+8+10=24。トレース表テンプレート:列は「ループ回数 | 変数1 | 変数2 | 条件(真/偽) | 出力」。この表を紙に書いてから解き始めましょう。

⚡ JavaScriptでプログラミングの考え方を体験しよう!

DNCLの読解力を高めるには、実際にコードを書く経験が役立ちます。完全無料・登録不要。

JavaScriptレッスン1を始める →
目次

コースで実際に手を動かして学ぼう

レッスンではコードを書きながら基礎が身につきます

HTMLコースを始める →

同じテーマの記事

𝕏 シェア LINE シェア

📣 この記事が役に立ったら

Xでシェア

💬 引用する場合はこちらをご利用ください:

共通テストで使われる擬似言語DNCLの読み方を初心者向けに解説。独特の表現一覧、3ステップの読み方、読み間違いやすいポイント、練習問題つき。

出典: https://start-web-programming.com/blog/joho1-dncl-reading-technique/