忍者ブログ
RoboCup Junior Japan Rescue Kanto OB

             2005~2013
[1]  [2]  [3
PICの記事は新しく作ったPICカテゴリーに移送されました。

これで少しはわかりやすくなった・・・かな?


今日は半月ほど前に書いたProgramカテゴリー記事の続きです

なんか「条件文について」ということになっているようですので、それについて書いていこうと思います。


まず条件文にある、「条件」についてですが、

条件とはなんでしょうか?


例えば、学校に行くときに自転車を使っている人がいるとしましょう。

その人は普通、天気を見て、晴れていたら自転車で、雨だったら歩いて、学校に行きますよね。

この時この人は、「天気」を判断して自転車で行くか、歩いていくかを決めますね。

この「天気」、この「天気が晴れか雨か」がこの場合の条件になっています。

まぁ図解するとこうなりますよね。
こんな感じの条件が成り立つ・・・といいな。
晴れだったら自転車、雨だったら徒歩。まぁ大体こんな感じですよね。


これが条件、つまり条件文というのはこれをC言語の文にしたもの、

つまり条件によって実行する文を変える処理構文ということです。


それでその条件に当てはまるのが、変数の値だったり、センサーの値だったり・・とする訳です。


それでこの条件文を使ったプログラムがこちら。




#include <stdio.h>
int main(void)
{
     int x;
     printf("点数を入力してください。");
     scanf("%d",&x);

     if(x>=60){
           printf("点数は%d点です。/n",x);
           printf("あなたは黒点です。/n");
      }
     else{
          printf("点数は%d点です。/n",x);
          printf("あなたは赤点です。/n");
      }
     return 0;
}




高専生おなじみの赤点判定プログラムです。

まず点数を入力させて、それが60点以上なら黒点、60点未満なら赤点を表示させる

通称「現実を見せるプログラム」です。血も涙もないプログラムとも言うそうです。

それでこのプログラムですが、最初にscanfで、値の入力を行い、そのあとでifという文があります。

これが先ほど言った条件文なのです。

このfi(条件式)で条件式が正しければ、その下の{}で括られた文を実行し、

条件式が正しくない場合は、その下のelse{}で囲われた部分の文を実行します。

このように使われるのがif文です。

因みにifの中に更にifをいれることもできるし、elseの方は省略することもできます。

さらに言うとelseの部分を、else if(条件文)と書く事で、上のif文の条件が正しくなかったときに更にif文を作る、

みたいなプログラムを作ることもできます。



とりあえずこれが基本的なifの条件式の書き方です。

でも、実はまだ条件分というのはあったりします。


今度の記事では、これ以外の条件文に付いて書いていこうと考えています。

それではー


(^・ω・)ノRadiumProduction in RoboCup Junior
改悪だろこれ。見にくい・・・(笑) 

という訳で、以前お話しした耀に今回は、scanf文のもっとコアな使い方について説明したいと思います。

前回の話では、通常はscanfの文は


こんな風や、

scanf("%c",&s);

こんな風に

scanf("%d",&x);


記述することで、キーボードから値を入力することができるものであるというで辺りで終わったかと思います。


今回はこの入力をもっと複雑に行う方法について紹介します。

例えばこんな感じのプログラム。

#include <stdio.h>
int main(void)
{
     char s;
     printf("PIC講習は終了しましたか?(y/n)");
     scanf("%[yn]",&s);
     printf("貴方の答えは%cです。",s);
     return 0;
}



このプログラムだと、scanfは小文字のyとnしか認識しません。

yかn以外の文字や数字が入力された場合は、強制的に読み取りを中止します。

つまりyかn以外の返答は無視されるようなプログラムが作成できます。


このように[]内で指定した文字のみを入力し、それ以外を入力しないシステムを、スキャン集合指定子といいます。

なんだかフィルタのようなものですよね。実際そんな感じです。



でも、この読み取る文字が例えば、数字以外、なんて感じにしたい場合に、これだと大変ですよね。

なので逆に今度は「読み取らない文字」を指定する方法を紹介します。

#include <stdio.h>
int main(void)
{
     char s;
     printf("評価を入力してください(A~Zランク)");
     scanf("%[^0123456789\n]",&s);
     printf("評価ランクは%cです。",s);
     return 0;
}

このように読み取らない文字を指定する場合は、先程と同じように指定したい文字を[]で囲います。

そして指定する文字の前に^を付けます。これで読み取らない文字の指定をすることができます。


このプログラムで読み取らない文字は0から9の数字と\nという記号です。

これは\とnではなく、\nで一つの記号を意味しています。記号の意味はズバリ、「改行」です。

C言語においては、改行を\nという記号で示しているのです。これをそのまま改行記号といいます。

だから例えばprintfで








と表示したい場合は

printf("あ




");

と記述するのではなく、

printf("あ\nい\nう\nえ\nお\n");


と記述すればいいという訳です。


また先程の0から9の指定は

scanf("%[^0-9\n]",&s);

このようにハイフンを使って簡略化することができます。

これは全てのコンパイラで対応している訳ではないんですが、

一般的に使える方法なので覚えておくとさらに便利ですね。



まだまだscanfには色々と複雑な記述方法がありますが、

scanfだけをいつまでもぐだぐだやっている訳にもいかないので、

scanfの話はこの辺で一度終了とさせていただきます。

まぁまた時間があればこの話はしていこうかな。

それで次回ですが、次回はいよいよ条件式、まずはif文について書いていこうと思います。


それではまたまた。

(^・ω・)ノRadiumProduction in RoboCup Junior
プログラムの記事の続きです。

前回は文字の出力の仕方について記載したかと思います。

今度は逆に文字を入力するときについて記載しようと思います。


入力した文字(一文字)を出力するプログラムはこんな感じ




#include <stdio.h>
int main(void)
{
     char s;
     printf("文字を入力してください。");
     scanf("%c",&s);
     printf("入力された文字は%cです。",s);
     return 0;
}

数字だとこんな感じになります。

#include <stdio.h>
int main(void)
{
     int x;
     printf("数字を入力してください。");
     scanf("%d",&x);
     printf("入力された数字は%dです。",x);
     return 0;
}

とまぁこのようなプログラムになります。数字の時はint型を、

文字の時はchar型を使っている。ただそれだけの違いですね。

それで大体感じで分かるとは思いますが、このプログラムはどちらも入力された値を変数に入れて、

そのままprintfで出力するというものです。

プログラムを実行して、キーボードで文字や数字(文字の場合は一文字のみ)を入力すると、

その入力した文字が表示されるというものですね。




pirntfがわからなければこちらの記事を参照ください。


このプログラムで値の入力を行っているのが、6行目のscanfという文です。

文の書き方はprintfに似ていますね。括弧があって、””でくくわれていて・・・

一般的なscanf文の書き方はこのようになっています

scanf("変換指定文字",&値を入れたい変数名);

この変換指定文字というのがprintfでもでてきた%dや%cのことです。

int型の整数のときには%dを、char型の文字の時には%cを使います。

またfloat型やdouble型の時は一般的に、%fを使います。指数表示させたい時は%eになります。




値を入れたい変数名とはそのままの意味です。上のプログラムだとsとかxになります。

ここで重要なのが、printf文の時はカンマの後にすぐ変数名になりましたが、

scanf文の場合は、カンマと変数名の間に&が入ります。


なぜこれが必要かという話はアドレスというものを理解しなくてはなりません。

その話はこのペースだとだいぶ先になるので、今はこういうものだと割り切ってください(笑)

まぁこのような感じでscanf文は使います。


次のProgram記事ではscanf文のもうちょっと発展した使い方を紹介します。


それでは

(^・ω・)ノRadiumProduction in RoboCup Junior
という訳で以前の続きです。

といっても半月ほど前ですね。

この時は、「変数」という箱があるよ。なんて話を適当にしたと思います。


それで今回はまた別の話として、画面に文字を表示させる方法について紹介したいと思います。

例えば、画面にLuzと表示させるプログラムはこんな感じ。

#include <stdio.h>

int main(void)
{
     printf("Luz");
     return 0;
}
 

まぁこんな数行でLuzという文字をPCの画面に表示することができます。

見ればわかると思うのですが、ここで、実際に画面に文字を表示させる命令をしている文が5行目の

printf("Luz");

です。ここに書かれているprintfというものは”でくくった中の文字を表示することができる関数というものです。

要するにこのように書けば、"で囲われている部分の文字を画面に出力する。という命令になります。

それに、以前紹介したおまじないを付け加えることで、このようなプログラムができる訳です。

ここではprintf以外の命令は行っていないのでpirntf以外は全部おまじないですね。

因みに囲う文字は世界標準だと基本的に半角英数のみですが、

日本語の使えるPCであれば、日本語を表示することもできます。

まぁつまり日本にあるPCなら大抵日本語の表示ができるということです。

日本語の表示をするときもこんな風に

printf("るーす");

という感じで打てば大丈夫です。何ら変わりはありません。

なんでこのようなことができるかというと・・・半角だろうと全角だろうと

結局全部PCにしてみれば文字は数字の集合体であるということは以前説明したかと思いますが、

PC側が「その数字の集まりを文字に置き換えられれば」どんな文字でも出力することはできるんですね。

例えば日本語のPCなら数字の集まりを半角英数+日本語の文字として認識することができ、

中国語のPCなら半角英数+中国語の文字として認識することができ・・・といった具合です。


だからPCが日本語に対応していれば、printfに日本語を書いても、

その日本語をPCが理解して画面に出力することができるという訳です。

ちょっとムツカシイというか意味深な説明ですが、まぁこんなところでしょう。


因みにこのpirntfは変数の値も出力させることができて


例えば変数aの値を出力したければ

printf("%d",a);

となります。

これでaの値(数字)が出力されます。



具体的なプログラムだと

#include <stdio.h>

int main(void)
{
     int a=5;
     printf("aの値は%dです。",a);
     return 0;
}


こんな風にかけて、これだと出力結果は

aの値は5です。

となります。

要するに%dと書いたところに変数の値の数字が入って、

その入る変数を”のくくりの後にあるカンマの後に書くことで、変数の値を出力しているという訳です。

難しく言うと%dにaの値を代入している、ということになりますが、これの方がわかりやすいかな?

複数の変数の値を出したい場合は、

printf("aの値は%dで、bの値は%dです。",a,b);

とこのようになります。

因みに%dについてですが、これは変数がint型の時は%dでいいのですが

char型の時は%cに、float、double型の時は%fになります。

こういうのもちゃんち理由があり、また、他にもきっちりした区分けがあるのですが、

とりあえずややこしくなるので今回はこの話は省略で。


pirntf関数はまぁこのようにして使います。

他にも画面に文字を出力する関数はありますが、他のものはまた今度ということで。

次回は逆にキーボードから値をプログラムに入力する方法を紹介します。


それでは。

(^・ω・)ノRadiumProduction in RoboCup Junior
一昨日のプログラムの記事の続きです 。

今日はいきなりですが、変数というものについてのお話をしようと思います。


変数とは、まぁ所謂箱です。

プログラム上でいう箱なんです。


まぁ何を入れる箱かというと、具体的には値、即ち数値です。

ROBOLABでいうところのコンテナというやつです。

例えばセンサーの値だったり、時間の値だったり、まぁ色々です。

そういった数字を入れておく箱みたいなものだと思っていてください。


そんでもって変数は計算を行うこともできます。変数内の値を足したり引いたり・・・と色々できます。


また変数にはいくつか種類があって、この種類を型といいます。変数の型には、よく使うもので・・・

説明(簡易)
char 文字の格納に使われる。
int 整数の格納に使われる。 
float 少数の格納に使われる。 
double 少数の格納に使われる。 

このようなものがありますね。

まぁあとはlongとかshortとかbyteとかがあるかな。

変数という概念はC以外でもあっちこっちにあるので、結構言語によって色々な型があったりします。

なので、たくさんの言語を知っていると、こんがらがること必須ですが、その辺りは「慣れ」ですね。


それで変数の使い方ですが、変数は使用する前に、「変数の定義」をしなくてはありません。

これは、コンパイラに「このプログラムではこの変数を使いますよ」ということを教える為のもので、

変数を使う際には必ず変数ごとに必要な作業です。

変数の定義はプログラム上ででき、このように書くと変数の定義ができます。


型 変数名;


型は先程紹介した、intやchar等のところから使いたい型の種類を、選んで書いて

変数名の所には任意の文字を書いてください(半角英数一部記号が使えます。)

但し、最初の文字はアルファベットでないとコンパイルが通りません。

また、大文字、小文字は区別されますが、基本的に小文字を使うのが慣例です。

この辺りの理由はまた今度説明するかもです。


なので例と挙げるとこんな感じ。

int x;

char s;

float a;

double b;


これでint 型の変数xと、char型の変数sと、float型の変数aと、double型の変数bが定義されました。

これで例えば、

x=10;

とすることでxという変数に10という数字を入れることができます。


これを実際のプログラムにすると、

#include "stdio.h"

int main(void)
{
     int x;
     x=10;
     return 0;
}

となります。最初の一行は今はおまじないと覚えていてください。また今度説明します。

プログラムは基本、int main(void)というもので囲われた中に書くことになります。

この辺りも今はおまじないで大丈夫です。

Cには最初の段階だと結構の頻度でおまじないが出てきます。

最初の段階でこのおまじないを理解しようとするとC言語はまず理解できなくなるので

あっちこっちの参考書でも、この辺をおまじないにする傾向は強いようです。

という訳でプログラムの中を説明します。

このプログラムではまずint型の変数xを定義して、そのあとでxに10を代入しています。

それだけの意味のないプログラムです。


(因みにreturn 0;も今の段階ではおまじないです。とりあえず書けば動く。それだけです。)


また変数の値を計算する場合は

足し算なら(x+10の結果をxに代入する)

x=x+10;

引き算なら(x-10の結果をxに代入する)

x=x-10;

かけ算なら(x×10の結果をxに代入する)

x=x*10;

割り算なら(x÷10の結果をxに代入する)

x=x/10;

と書くことができます。

だからこのプログラムだとxの値は

#include "stdio.h"

int main(void)
{
     int x;
     x=10;
     x=x+10;//(この段階でx=20)
     x=x-10;//(この段階でx=10)
     x=x*10;//(この段階でx=100)
     x=x/10;//(この段階でx=10)
     return 0;
}

という訳でこのプログラムだと最終的にxは10になることになります。(あ。戻った(笑))


変数は基本的にこんな感じで使います。また変数の計算の方法や定義の方法はもっと短く書く方法などもありますが


今日はその辺りは省略させて頂きます。

とりあえず最初はこのくらいかな。

次は画面への表示の方法について書いていこうと思います。

(^・ω・)ノRadiumProduction in RoboCup Junior
といってもまだ基本中の基本ですけど。

とりあえず。書いていこうと思います。


例えばまずこんな簡単なプログラム。

#include "stdio.h"

int main(void)
{
     printf("このブログは普通に読むと、どうも「酔う」らしいので読むときは酔い止め推奨です。 \n");
     return 0;
}

こんなプログラムを打って、コンパイルして、実行してみると、


このブログは普通に読むと、どうも「酔う」らしいので読むときは酔い止め推奨です。 


という文字が画面に出力されてプログラムが終了します。

まぁこのように、プログラムを使うことで、何かのデータを画面などに表示(出力)させることができます。


また、このようなプログラムを打つと

#include "stdio.h"

int main(void)
{
     int i;
     printf("値を入力してください。 \n");
     scanf("%d",&i);
     printf("入力された値は%dです。 \n",i);
     return 0;
}


値を入力してください。
10
入力された値は10です。 


という風な出力の結果が得られます。

まぁこのように、このプログラムではキーボード等からデータを受け取ること(入力)ができます。


また、このようなプログラムを書くと


#include "stdio.h"

int main(void)
{
     int i;
     printf("値を入力してください。 \n");
     scanf("%d",&i);
     i=i+10;
     printf("入力された値は%dです。 \n",i);
     return 0;
}



値を入力してください。
10
入力された値は20です。


と、このように、このプログラムでは、データ同士の計算(演算)をすることができます。


このように、大体のプログラムというものは、

・外部からのデータの入力

・入力された値を演算

・演算された結果を出力


この3つの動作の1パターンの連続で成り立っているものなのです。まぁ多少の例外はありますけど・・・。

という訳でまずは、この3つの動作を簡単に行うことのできるプログラムを使ってこの3つを説明していこうと思います。


でもその前に、データの入力をするにも、そのデータの演算をするにも、データの出力をするにも、

そのデータを保存する場所がなければ、データなんて扱えませんよね?

という訳で次回はこのデータを保存する場所。変数について書いていこうと思います。

それでは今日はこの辺で。


(^・ω・)ノRadiumProduction in RoboCup Junior
やっぱりAtomだと限界が・・・Core2Duoのノートが欲しい。

なんて考えている今日この頃です。

でも買っちゃうと僕のノーパが5台に・・・それはちょっと多すぎる(笑) 

まぁ4台でもレポートやるにはこれくらいないときついですね。個人的には。


そんな感じで今日は以前に予告したようにコンパイラの話です。

とりま、コンパイラってなんでしょうって話は全壊前回したと思います。

詳しくはC言語基コンパイラ言語についての記事を参照して下さい。

といっても、全然詳しく書かれてないですけど(笑)

まぁここではとりあえず、「コンパイラ=翻訳機」である。といった感じのことは説明したと思います。

でもちょっと英語できる人だと疑問に思うのがこの点、

コンパイルは英語にするとcompile

これを日本語に直訳すると「編集する」という意味になるんです。


まぁ翻訳も編集のひとつかもしれませんが、そもそも翻訳するだけなら”とらんすれーしょん”でいいと思いませんか?

なんでわざわざコンパイルというんでしょうか。


まぁコンパイルの語源はともかく、結局コンパイラって、翻訳の為のものではあるけど、

「翻訳だけ」している訳じゃないんです。寧ろこっちの方が翻訳より大事かも知れないですね。

そのコンパイラが担当しているもうひとつの役目とは何か。という話ですが、その前に。

皆さん。プログラムって完璧に書けますか?

100%ミスなしでプログラム、作れます?

まぁ簡単なプログラムならできるでしょうけど、

複雑なプログラムなら大体1個や2個は気が付かない打ちミスとかがでてきます。


そのミスをそのまま放置して、機械語に翻訳させて、

ロボットに送ってその間違ったプログラム、実行させたらどうなると思います?


どうなるんでしょうね(笑)

静かにお亡くなりになるかも知れないし、いきなりロボットは真赤に輝きだすかもしれない。

頭のいいLEGOだったらFileErrorで済むかもしれませんけど・・・。ちょっと怖いですよね。

だからみんなちゃんと、プログラムは確認してからロボットに送りますが、それでも確認しているのも人間なので

やっぱり抜けが出ますよね。

でも、こういった打ちミス等の構文的なミスをした際に、

PC側でロボットに送られる前にそれがチェックできたら便利だと思いません?

そう思った先人達はそういった機能、即ちエラー発見機能を作ってしまいました。


それでそれをコンパイラに搭載してしまいました。つまり、翻訳の時に間違いがあったら

「ここおかしいぞ」と教えてくれるようなものを作ってしまったのです。

これによってコンパイラの機能は「翻訳」だけではなく、「エラー検出」も加わることになり、

文字通りプログラムの編集者として世に送り出されることになったのです。(ということらしいです)


因みに現実の翻訳家は明らかに文法とかがおかしかったりしても、

大体翻訳家の方で勝手に脳内修正して翻訳するらしいのでまだ翻訳作業に関しては現実の方が上ですね。


あ。エラーの検知といっても、明らかにやりたいことと違うプログラムを書いたり、括弧がなかったりしても

文法的にさえあっていれば、コンパイルは大体通っちゃうので

コンパイルが通ったからと言って実際に動かしたいように動くかというと、それはまた別の話だったりします。

これは現実の翻訳家でも同じですね。「これ明らかにおかしいだろー」って文章があっても、

とりあえず原文を尊重して原文のまま訳すのが翻訳家の仕事ですから。
まぁ最近は原文の著者に確認を取るケースも増えてきているらしいですが・・・


という訳でこの「翻訳」と「エラー検知」がコンパイラの2つの大きな役割です。という記事でした。

なのでコンパイルが正しく行われないと、プログラムを実行したり、ロボットに送ったり、ができないようになっています。

つまり、プログラムをロボットに送る前には必ず「コンパイル」という手順を踏まないといけません。


それを踏まないままプログラムを送信したり、実行しても、送ったプログラムは実行されません。

その場合は何も実行されないor最後にコンパイルして送信したプログラムが実行されるような仕様になっています。


因みにROBOLABNTX-GとかNQCNXCNBCの場合はプログラムの送信ボタンを押すと、

勝手にコンパイル+送信を一気にやってくれていたりします。


(^・ω・)ノRadiumProduction in RoboCupJunior
また新しいカテゴリーができてしまいました。回路がアリならプログラムもアリだろ!っていう発想で作ってみました。


まぁ。今回は一回目ということもありますので昔お世話になったROBOLABについての記事を書こうと思ったのですが、

ROBOLABってよくよく考えたらタイル式なので、紹介をするのにいちいちタイルの写真が必要になってしまう・・・

これは非常にめんどくさいのでいきなり「C言語」というものを紹介しようかと思っています。

まぁ今日は簡単なところから、

まず、C言語ってなんでしょう。とりあえず調べてみたら・・・

C言語(Cげんご)は、1972年にAT&Tベル研究所のデニス・リッチー (Dennis M. Ritchie) が主体となって作ったプログラミング言語である。英語圏では単に C と呼称されており、日本でも文書や文脈によっては同様に C と呼称される。 UNIXの移植性を高めるために開発された経緯から、オペレーティングシステムカーネル向けの低レベルな記述ができることを特徴としている。byうぃきぺでぃあ

へぇ。結構新しいんだ・・・。なんてことは置いておいて。

要するにプラグラムするための言語なんです。ソフトのことじゃないんです。

言語というからには、どこかの世界で通じる言葉なんですよね。


じゃあどこの世界でこの言葉は通じるのか。

とりあえず、地球上でこの言葉が通じるのは人間とコンパイラというものだけです。ロボットには通じません。



まぁこの辺でふたつほど疑問が出てきますよね。

コンパイラって何?ということと、ロボットには通じない?というあたりでしょうか。

このふたつの疑問、これは人間がロボットにプログラムを送る仕組みを説明すれば、同時に理解することができます。

まぁ、普通は人間がプログラムを書いてそれをロボットに送るので順序的には人間が一番最初になりますが、

それだと説明が難しいので、今回はあえて一番最後にあたるロボットから説明をしていこうと思います。



まずロボット、この中には小さいコンピューター、「マイコン」が入っていて、

それが人間でいう脳になってロボットを動かしている、という話はしたかと思います。


でもその脳はちょっと頭が悪い・・・というより人間の頭の構造とだいぶ違うので、

人間が理解できるような、文字で書かれた言語なんてものは到底理解できないんです。

じゃあマイコンはどんな言語が理解できるか、それは数字です。しかも1と0だけの二進法でしか理解ができません。

つまり、PCからロボットに送るプログラムは、1と0の羅列だけで表現しなくてはなりません。


でも、人間が直接そんな1と0との羅列だけで表されたプログラムなんか書けると思いますか?


まぁ一般人には無理ですね。なので人間側はわかりやすいように文字でプログラムを書く訳です。

でも、それでは使う言語が違うので人間は直接ロボットに命令を与える(プログラムを送る)ことができないですよね。

日本語のできないアメリカ人と、英語のできない高専生では会話になりませんよね。それと同じです。


そこで何が必要かというと・・・何が必要だと思います?まぁ現実の世界だと・・・




通訳ですよね(笑)

まぁそれ同じように、人間が書いた言語とロボットが理解できる1と0の羅列、これを機械語といいますが、

このふたつを翻訳できる「なにか」が必要になるわけです。

まぁその何かが翻訳機「コンパイラ」という訳です。

まぁこれはソフト・・・の部類なのかな?一応exeファイルだし。

まぁこれに人間が書いた言語を入れると勝手にロボットが理解できる機械語に変換してくれるよーっていう代物です。


という訳でプログラムを送る流れとしては、



人間がPCの前の椅子に座る

PCの電源を入れる

パスワードを入れてOSを起動させる

プログラムを書く

打ち間違える

打ち直す

プログラムが完成する

コンパイルさせる

コンパイルされたファイル(機械語)をロボットに送る。

ロボットが動く

ロボカップジュニアで世界優勝!


といった感じです。だったらいいなぁ。

まぁそういうことなので人が書いたプログラムは直接ロボットに送っても理解されず、

コンパイラという翻訳機にしか理解してもらえない。という訳です。


因みに一時期うちの学校で、人間相互でC言語を使ってコミュニケーションを図っていたこともありましたが、

あれはどうにお勧めできません。やっぱりC言語は人対コンパイラの構図以外では使わない方が無難です。


まぁそんな感じのC言語です。

まぁこのようにコンパイラがあって、プログラムを一度変換して実行や送信をしなくてはいけない言語を

「手続き型言語」と呼びます。その中でもこういった形式の言語はコンパイラ言語と呼びますね。

BとかCとかDとかがこれに該当しますね。あとはJAVAとかC++とかもそうですね。あとTex(言・・・語・・・?)とか・・・

LEGOでいうならNQC、NXC、RobotC全部そうですね。ROBOLABNXT-Gも中身はコンパイラ言語です。


それと対照にコンパイルが入らない言語もあります。

それを「スプリクト言語」といいます。

これはなんでコンパイルがいらんかというと、基本的にこの言語たちはPC内でしか使わない言語なんですね。

だからわざわざ機械語に翻訳しなくても理解できちゃうんです。(まぁホントはちょっと違うけど・・・)

特にWeb系列の言語には多いですね、JAVAスプリクトとかHTMLとかパイソンやエクセルのVBAもそうじゃないかな?

一部怪しいですが気しない方向で。

とまぁこんな感じ終わってみればC言語というよりコンパイラ言語の説明になってしまっていましたね(笑)

次回のProgram記事では、このコンパイラについてもうちっと詳しく説明します。

実際のC言語の書き方とかについては、もうちょい先になりそうですね。


ところで、回路、プログラムときたら次に来るのは・・・ロボットの機械構造・・・ですよね?

一番苦手分野なので微妙な記事になるかもですが、今後はLEGOブロックに関してを中心に

機械構造についてのカテゴリーも増やしていこうかと考えております。

それでは。

(^・ω・)ノRadiumProduction in RoboCupJunior
カレンダー
09 2019/10 11
S M T W T F S
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
最新CM
[06/08 ONE RoboCuper]
[01/24 sk]
[09/25 ONE RoboCuper]
[11/19 big]
[11/11 お馬さん]
かうんた
らじぷろ目次
らじぷろ検索機
プロフィール
HN:
Luz
年齢:
25
性別:
男性
誕生日:
1994/02/15
職業:
大学生
趣味:
ラボ畜
自己紹介:
初めまして。Luzと申します。
某大学の情報学科に入りました。のんびりと生活を送るのが今年の夢です。
めーる
radiumproduction☆yahoo.co.jp
※☆を@に変更して下さい。
バーコード

PR

忍者ブログ 2007-2018,Powered by Radium-Luz-Lα+-Rescatar in RadiumProduction [PR]


Related Posts Plugin for WordPress, Blogger...