なでしこ3 DNCL互換実行モード(ver2)について *
大学入試のセンター試験で利用される仮想的なプログラミング言語に「センター試験用手順記述標準言語(DNCL)」があります。
なでしことDNCLは同じ日本語をベースとしたプログラミング言語であり、文法も非常に似ています。しかし微妙なところで違いがありました。そこで、なでしこにDNCL互換モードが実装されました。
DNCLから、なでしこ3の豊富な命令(こちら)を使えるので非常に便利です。
DNCLのバージョンについて *
なお、DNCLには公式にアナウンスされているver1と、いまだ具体的な仕様はないものの将来的に採用が決まっているver2の二つがあります。ver1は説明的な構文を採用しており、ver2はPythonに似た仕様となっています。
本ページでは、ver2について解説します。ver1についてはこちらをご覧ください。
ver1は非常に説明的でプログラムを書くのには向いていないと思っていましたが、ver2はインデントによるブロック構文を採用し、シンプルで実際にプログラムを書くのにも使えます。
サンプルプログラム *
なでしこ3とDNCLの使い分け *
まずは、なでしこ3のノーマルモードでいろいろなプログラム製作を楽しんでください。そして、入試対策が必要になったら問題読解の学習でDNCLモードを使うと良いでしょう。
なでしこ3でDNCL2を使う方法 *
プログラムの冒頭に「!DNCL2」と書いてください。DNCL ver2の互換モードで動かすことができます。以下は、DNCL2で1から10まで足した合計を求めるプログラムです。
DNCLについて *
DNCL ver2 について *
以下の令和7年度大学入学共通テスト「情報」の試作問題、サンプル問題に登場します。
なでしこのDNCLモードについての補足 *
なでしこをDNCL2互換モードにするためには、プログラムの冒頭に「!DNCL2」と記述します。これにより、なでしこがDNCLに沿った動作になるように調整が行われます。
具体的には、なでしこが次のような動作となります。
- (1)配列変数のインデックス番号が0起点となります。(DNCL ver1と異なります)
- (2)二次元配列変数のインデックスの指定順序が逆さまになりません。(DNCL ver1と異なります)
- (3)配列変数の初期化が自動的に行われるようになります。
- (4)DNCLの「もし」文、「繰り返し」文、「*の間」文が利用可能になります。
DNCL2の利用例 *
では、具体的に使ってみましょう。プログラムの冒頭に『!DNCL2』と記述してください。
以下はDNCLで同じプログラムを書いたものです。
もし文 *
DNCLモードでは「もし」文などの制御構文が、DNCLの「もし」文となります。
繰り返す文 *
間繰り返す文 *
(暫定) 関数定義について *
DNCL2には関数定義の例が存在しないため、暫定的に下記のような書式で関数を定義できます。「関数の***を・・・と定義する」と記述して、関数を定義できます。
注意点 *
- なでしこ3のDNCL互換モードは、なでしこの基本構文を、DNCLに合わせて動くよう調整したものです。仮想的な言語であるDNCLの全てのソースコードが動くわけではありません。
- 明らかな問題があれば、こちらまでご報告ください。