DNCL擬似言語の書き方|共通テスト情報Ⅰ対策

共通テスト情報ⅠのDNCL(擬似言語)を完全解説。基本文法・読み方のコツ・練習問題3問付き。

2026年5月6日

導入

共通テスト「情報Ⅰ」のプログラミング問題では、DNCL(擬似言語)で書かれたコードが出題されます。

「DNCLの書き方がわからない」「読み方のコツが知りたい」と感じていませんか?

DNCLは日本語をベースにした言語です。ルールを覚えれば、誰でも読み書きできるようになります。この記事では、DNCLの基本文法をすべて解説し、練習問題3問で実力を確認できます。

読み終えたあとには、共通テストのプログラミング問題に自信を持って取り組めるはずです。情報Ⅰのプログラミング分野は配点が大きい重要領域なので、しっかり押さえましょう。

DNCLとは?

DNCL(ディーエヌシーエル) とは、共通テスト「情報Ⅰ」やそのサンプル問題で使われてきた擬似言語(ぎじげんご)の通称です。大学入試センターの公式資料では「共通テスト用プログラム表記」として仕様が示されています(本記事では通称のDNCLと呼びます)。

擬似言語とは、特定のプログラミング言語に依存しない「テスト用の表記」のことです。PythonでもJavaScriptでもない、共通テスト専用の書き方です。

なぜDNCLが使われるのでしょうか?

高校によって授業で扱う言語が異なります。ある学校はPython、別の学校はJavaScriptを教えています。特定の言語で出題すると、不公平が生じます。そこで、どの言語を学んだ人でも読める「共通の擬似言語」が必要になりました。

DNCLの特徴をまとめます。

  • 日本語で書かれているので直感的に読める
  • 文法の種類が少なく、覚える量が限られている
  • 変数や条件分岐など、考え方は他の言語と共通している
  • 共通テスト本番で必ず使われる

つまり、DNCLを理解すれば確実に得点できる分野です。

DNCLの基本文法

ここからDNCLの文法を1つずつ学んでいきます。コード例はすべて共通テストの出題形式に準拠しています。

変数と代入

変数(へんすう) とは、値を入れておく「名前付きの箱」です。DNCLでは ←(左向き矢印) を使って値を代入(だいにゅう)します。

x ← 5
name ← "太郎"
goukei ← 0

x ← 5 は「xという箱に5を入れる」と読みます。=(イコール)ではなく を使います。

変数の値は何度でも上書きできます。

x ← 5
x ← x + 3

2行目を実行すると、x の値は 5 + 3 = 8 に変わります。右辺の x は「今のxの値(5)」を意味します。

表示

計算結果や文字列を画面に出力するには「表示する」を使います。

x ← 10
x を表示する
"こんにちは" を表示する

実行すると、10こんにちは が順番に表示されます。

条件分岐(もし〜ならば)

条件によって実行する処理を変えるのが条件分岐(じょうけんぶんき)です。

x ← 15

もし x > 10 ならば
  "大きい" を表示する
そうでなければ
  "小さい" を表示する
を実行する

x は15です。15 > 10 は成り立つので、「大きい」が表示されます。

3つ以上に分岐させることもできます。

もし score >= 80 ならば
  "優" を表示する
そうでなくもし score >= 60 ならば
  "良" を表示する
そうでなければ
  "可" を表示する
を実行する

条件分岐の詳しい考え方は別記事でも解説しています。

繰り返し(回数指定)

同じ処理を何度も実行するのが繰り返しです。

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

変数 i が1, 2, 3, 4, 5と変化しながら、5回繰り返します。

i を 0 から 10 まで 2 ずつ増やしながら繰り返す
  i を表示する
を実行する

この場合、0, 2, 4, 6, 8, 10が表示されます。

繰り返し(条件指定)

「条件が成り立つ間ずっと繰り返す」書き方もあります。

x ← 1

x < 100 の間繰り返す
  x ← x * 2
を実行する

x を表示する

x は 1→2→4→8→16→32→64→128 と変化します。128になると x < 100 が成り立たなくなり、繰り返しが終了します。

  • 回数がわかっている → 「〜から〜まで〜ずつ」
  • 回数がわからない → 「〜の間」

配列

配列(はいれつ) とは、複数の値をまとめて番号付きで管理する仕組みです。

Tokuten[1] ← 80
Tokuten[2] ← 65
Tokuten[3] ← 92

重要:配列の添字(そえじ)が0と1のどちらから始まるかは、問題によって異なります。 共通テストでは問題文に添字の定義(例:「添字は1から始まる」)が示されるので、解く前に必ず確認しましょう。PythonやJavaScriptは0から始まりますが、共通テストの擬似言語では問題の指定に従います。ここでは添字を1から使う例で説明します。

配列と繰り返しを組み合わせると便利です。

goukei ← 0
i を 1 から 3 まで 1 ずつ増やしながら繰り返す
  goukei ← goukei + Tokuten[i]
を実行する
goukei を表示する

関数(手続き)

処理をまとめて名前をつけたものが関数(かんすう)です。

関数 goukei(a, b) を
  return a + b
と定義する

定義した関数は、次のように呼び出します。

kekka ← goukei(3, 7)
kekka を表示する

goukei(3, 7) を実行すると、a に3、b に7が入り、return a + b で10が返されます。

DNCLの読み方のコツ

コツ1: 日本語の文章として読む

DNCLは日本語で書かれています。プログラムだと身構えず、日本語の文章として声に出して読んでみましょう。「iを1から5まで1ずつ増やしながら繰り返す」は、そのまま意味が通じます。

コツ2: インデント(字下げ)に注目する

条件分岐や繰り返しの「中身」は、字下げ(インデント)されています。

もし x > 0 ならば
  ここが中身(条件が成り立つとき実行される)
そうでなければ
  ここも中身(条件が成り立たないとき実行される)
を実行する

字下げされた行は「その構造の内側にある」ことを意味します。フローチャートと対応させると、プログラムの流れが視覚的に理解できます。

コツ3: トレース(手動実行)で確認する

トレースとは、プログラムを1行ずつ手動で実行し、変数の値を追いかけることです。紙に変数の表を書き、1行実行するごとに値を書き換えます。

x ← 2
x ← x * 3
x ← x + 4

トレース結果: 1行目→x=2、2行目→x=6、3行目→x=10。共通テストでは「実行結果を答えよ」という問題が頻出です。トレースができれば確実に正解できます。

練習問題3問

学んだ文法を使って問題を解いてみましょう。

問1: 変数と条件分岐(易)

次のプログラムを実行したとき、表示される値を答えなさい。

a ← 8
b ← 5
c ← a - b

もし c >= 5 ならば
  c ← c * 2
そうでなくもし c >= 3 ならば
  c ← c + 10
そうでなければ
  c ← 0
を実行する

c を表示する
解答と解説を見る

解答: 13

c ← 8 - 5 = 3c >= 5 は不成立、c >= 3 は成立(3は3以上)。c ← 3 + 10 = 13

問2: 繰り返しと配列(中)

次のプログラムを実行したとき、表示される値を答えなさい。

Data[1] ← 3
Data[2] ← 7
Data[3] ← 1
Data[4] ← 8
Data[5] ← 4

count ← 0

i を 1 から 5 まで 1 ずつ増やしながら繰り返す
  もし Data[i] >= 4 ならば
    count ← count + 1
  を実行する
を実行する

count を表示する
解答と解説を見る

解答: 3

4以上の値は 7, 8, 4 の3つ。これは「条件を満たす要素を数える」パターンです。アルゴリズムの基本としてよく出題されます。

問3: 関数と複合処理(難)

次のプログラムを実行したとき、表示される値を答えなさい。

関数 saidai(hairetsu, n) を
  max ← hairetsu[1]
  i を 2 から n まで 1 ずつ増やしながら繰り返す
    もし hairetsu[i] > max ならば
      max ← hairetsu[i]
    を実行する
  を実行する
  return max
と定義する

Score[1] ← 55
Score[2] ← 82
Score[3] ← 67
Score[4] ← 91
Score[5] ← 73

best ← saidai(Score, 5)
heikin ← (55 + 82 + 67 + 91 + 73) / 5
sa ← best - heikin

sa を表示する
解答と解説を見る

解答: 17.4

saidai関数で最大値91を取得。heikin = 368 / 5 = 73.6sa = 91 - 73.6 = 17.4

共通テストでの出題パターン

パターン1: 穴埋め問題

プログラムの一部が空欄になっており、選択肢から正しいコードを選ぶ形式です。基本的な処理パターン(合計、最大値、カウント、探索)を覚えておきましょう。

パターン2: 実行結果の予測

完成したプログラムを読み、実行結果を答える形式です。トレースを正確に行う練習を繰り返しましょう。

パターン3: エラー箇所の特定

プログラムに誤りがあり、期待通りに動かない原因を見つける形式です。よくある誤りのパターン:

  • 繰り返しの範囲が1つずれている(添字のミス)
  • 条件の不等号が逆(>< の取り違え)
  • 変数の初期値が不適切

共通テスト情報Ⅰの対策として、過去問や模試で出題形式に慣れておくことが重要です。

まとめ

  • ✅ DNCLは共通テスト専用の日本語ベースの擬似言語
  • ✅ ← で代入、「もし〜ならば」で条件分岐
  • ✅ 繰り返しは「〜から〜まで〜ずつ」と「〜の間」の2種類
  • ✅ 配列の添字が0始まりか1始まりかは問題文で必ず確認する
  • ✅ 関数は「関数 名前(引数) を ... と定義する」で作る
  • ✅ 読み方のコツは「日本語として読む」「インデントに注目」「トレースする」

DNCLは文法の種類が少ない言語です。この記事の内容を覚えれば、基本は十分です。あとは練習問題を繰り返し解いて、トレースのスピードを上げましょう。代入と比較の違いが曖昧な人は代入と比較の詳細解説も確認しておくと安心です。

🎯 次のステップへ進もう!

DNCLの基本を理解したら、まずはトレースの練習で定着させましょう。採点つき・全14問・無料・登録不要。

情報Ⅰ DNCLトレース練習へ →

記事でさらに理解を深めたい人はこちら:

目次

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

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

HTMLコースを始める →

同じテーマの記事

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

Xでシェア

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

共通テスト情報ⅠのDNCL(擬似言語)を完全解説。基本文法・読み方のコツ・練習問題3問付き。

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