/workshop/processing90minutes/main

Processingでプログラム基礎入門

このページでは,プロセッシングを利用して,一般的なプログラムの文法を 学習します.四則演算やif文,for文といった最低限抑えるべき内容と その文法を学習します.Processingを利用していますが,基本的にはArduinoや Openframeworks等Cベースの入門となります.

変数

プログラムでは扱う変数の種類によって,データ型が異なります.例えば0-10000を扱う 場合と,0.00000-1.00000を扱うような場合では,データ型はそれぞれint, floatと なります.代表的なデータ型は次のようになります.

  • int:整数を扱う場合
  • float:浮動小数点を扱う場合
  • String:文字列を扱う場合(Arduinoはデフォルトでは利用できません)

四則演算

プログラミングにおいて,基本となる足し算,引き算,掛け算,割り算を学習します. この基本的な文法は多くの言語において同じ文法になります.まずはProcessingを立ち上げ 次のコード(プログラム記述部分)をコピーアンドペーストし,Runボタンを押して実行 してみましょう.するとProcessingの下の黒い領域に「2」と表示されます.Runボタンを押すと 小さな窓(200x200)が出現しますが,ここには特になにも表示されないのでご注意ください.

足し算
int a; // 整数型の変数名aを宣言.変数名aはユーザが勝手に決めることができます
a = 1 + 1; // そのaに1+1を代入
print(a);  // aの値を画面下に表示

同様に引き算,掛け算,割り算を実行してみましょう

引き算
int a;
a = 1 - 1;
print(a);
掛け算
int a;
a = 2 * 2;
print(a);
引き算
int a;
a = 10 / 5;
print(a);

以上のように足し算,引き算,掛け算,割り算はそれぞれ,+, -, *, /の記号で用いることができます.ちなみに%だと余りを計算します.

if文(条件分岐)

ifは最も基本的且つ重要な構文になります.変数や文字列等のある条件を満たす時とそうでない時に処理を分ける ことができます.例えば変数aが50より大きい場合と,0以下の場合と,そうでない場合を分けるには次のように記述します.

int a;
a = 51;
if( a > 50 ){
  print("over 50");
}
else if( a <= 0 ){
  print("under 0");
}
else{
  print("other case");
}  

どちらが大きい,小さいを表すにはまず大小記号となる<,>を記述し,その後それが以下/以上を示す場合には, <=,>=という具合にイコールの記号を追記します.また,等しいを示す場合は == とイコールを2つ用います. 例えば,aの値に1,2,3のいずれかが代入された場合,それぞれの値が1,2,3のいずれかで有るかを判定するif文 は次のように記述できます.

int a;
a = 2;
if( a == 1 ){
 print("a == 1");
}
else if( a == 2 ){
 print("a == 2");
}
else if( a == 3 ){
 print("a == 3");
}

上記を実際に実行し,正しくa==2のif文の中だけ実行できているか確認してください.

switch文(条件分岐)

条件分岐にはif文の他,switch文も利用することができます.場合によってはswitch文の 方がプログラミングの可読性が高いこともあるので,一応知っておきましょう.先ほどのif文での 1,2,3の数値判定をスイッチ文で書き換えると次のようになります.

int a;
a = 2;
switch(a)
{
 case 1:
   print("a == 1");
   break;
 case 2:
   print("a == 2");
   break;
 case 3:
   print("a == 3");
   break;
}

for文(繰り返し)

次に繰り返し文の代表と言える,for文を使ってみます.例えば10回同じような処理を行う場合, 似たような事を十回分コーディングするのは少し大変です.頑張れば出来なくはないですが,例えばこれが 100万回になった場合,人力でやるのは困難になります.これがたった一回分の記述で「あとはこの部分の 変数を変更しながら100万回自動で繰り返してね」というプログラムを実行できるのがfor文になります. まずは下記を実行してみてください.

int i;
for( i = 0; i < 10; i++ ){
  print(i);
}

「0123456789」と表示されたかと思います.このプログラムは単にforで始まる{}の中を10回繰り返す だけでなく,その間に変数iを一つずつ増やしながら繰り返しを行っています.この繰り返し用の変数iを 利用して,
for( 最初のiの値; 繰り返しの条件; 繰り返す度に行う処理 )
という構文になっています.つまり,i=0でスタートしたこのforループは,繰り返される度にiの数が 一つづつ増えていき,その繰り返しはi < 10の条件を満たす限り続く.ということです.なので結果として iを0〜9まで増加させていき,10になった段階で,ループの繰り返し条件から外れるため,このfor文は終了 することになっています.

while文(繰り返し)

for文の他にもwhile文を利用することで繰り返しを作成できます.for文では初期変数代入,繰り返し条件, 繰り返す度に行う処理を明示する必要がありましたが,while文では繰り返し条件だけを記述します.例えば 先のfor文をwhile文で記述し直すと下記のようになります.

int i;
i = 0;
while( i < 10 ){
  print(i);
  i++;
}

実行結果は同じになりますが,i = 0, i++をプログラム中に自分で場所を選んで記述しておく必要があります.


Copyright (c) 2015 Tetsuaki BABA all rights reserved.