コメントとは,プログラムの処理内容を説明するために書く注釈のことです。自分の作ったプログラムを読むのは自分だけではありません。他の人が読んでも何をしているのかわかりやすいように適切にコメントをいれます。でも,RCXCCもNQCも外国製のソフトウエアであり,日本語には対応していませんので,コメントは英語もしくはローマ字で書く必要があります。
  さて,ここで覚えておかなくてはいけないことは,NQCコンパイラに「ここはプログラム本文ではなく,コメントですよ」と示すために,下記の表記を使う必要があるということです。

/*  ここはコメントです */ (C言語のコメントのスタイル)

/* と */ではさまれている部分がNQCコンパイラにコメントと理解されます。

コメントが複数行のわたる場合は,

/* 複数行のながーいコメントです。
この行もコメントです。 */

のように記述できます。

また,//でコメントを始めることもできます。

// これもコメントです。 (C++ という言語のスタイル)


3-2.スペース  

 NQCはフリーフォーマットのプログラム言語ですから(フリーフォーマットとはどこに何を書くべきか決まっていないという意味です),スペースには意味はありません。例えば,変数Xに2を代入するコードを(プログラムの一部あるいは全部をコードと呼ぶこともあります)  X = 2; と書いても,X=2;と書いてもコンパイラにとっては同じ意味になります。
 スペース(Space)やタブ(Tab)は人間が読みやすいように入れれば良いのです。


3-3.数値の書き方

 例えば,X = 2;の2のようにプログラム中に数値を直接書くことがあります。これを数値定数と言います。数値定数は10進数と16進数で書くことができます。

X = 10;   //変数Xに10進数の10を代入します。
X = 0x10; //変数Xに16進数の10(10進数の16)を代入します。

通常は10進数だけを使えば良いでしょう。


3-4.変数  

 変数は32個までしか使用できません。これはMindStormsの頭脳RCXの制限です。とは言ってもMindStormsのプログラムを作成する場合,32個も変数を使うことはまずないでしょう。NQCの変数はすべて16ビットの符号付整数型です。この一種類しかないのです。16ビットの符号付整数型では,-32,768から32,767の範囲の数値を記憶できます。
  変数はすべてグローバル変数ですから(グローバル変数とは,プログラム全体で使える変数のことです),後述するタスクやサブルーチンの外に定義します。


3-5.定数  

 プログラミングでは,定数を定義して使うことがよくあります。コード中に直接,数値を書くよりも数値に名前を付けて定義しておいたほうが読みやすく,プログラムの変更も簡単だからです。定数には,組み込み定数とユーザー定義定数の2種類があります。組み込み定数とはNQCが用意している定数のことです。次章で説明します出力ポートを指定するOUT_A, OUT_Cなどがその例です。ユーザー定義定数とは,プログラマが自分で定義できる定数です。NQCで定数を定義するには#define命令を使います。  

#define TURN_TIME 85

この例では,85という数値にTURN_TIMEという名前を付けています。定数は変数と区別するために大文字で書かかれることが多いようです。


3-6.ステートメント(命令)  

X = 2; のようなコードをステートメントといいます。ステートメントはセミコロン(;)で終了しなくてはいけません。


3-7.予約語  

 予約語とはNQCコンパイラによって予約されている言葉です。あなたが作成するプログラムの中で変数名や関数名に予約語を使ってはいけません。コンパイラは予約語に出会うと特別な意味に解釈するからです。次のものが予約語として登録されています。  

__sensor, abs, asm, break, const, continue, do, else, false, for, if, inline, int, repeat, return, sign, start, stop, sub, task, true, void, while


次の章では,ロボットをNQCで作成したプログラムで実際に動かしてみましょう。