カテゴリー
Processing

Processing(Step1)

開発環境のセットアップ

Processingの導入

下記サイトよりダウンロードして使うことができます。https://processing.org/download/

下の画像にある赤丸に囲まれた部分から自分のパソコンにあったソフトウェアを選択してくだい。ダウンロードが終了したら、デスクトップにショートカットを作って置くと次から使いやすいです。

ソフトの起動

まずは、起動してみましょう。すると、次の画面になるので、矢印のファイル(File)から日本語設定をしましょう。最初から設定されている場合は次へ進みましょう。

以下の3点に気をつけて設定してください。

  • 言語が日本語かどうか
  • フォントをMacなら”Osaka”、Windowsなら”Ms Gothic”に変更する。(コード内のコメントが日本語にならない場合)
  • テキストの複雑な入力を有効にするにチェックを入れる

画面の見方

下の画像の通り、エディタ部分にコードを記述し、実行。コンソールに出力されるようになっています。1つ1つのファイルはスケッチと呼ばれます。

はじめに、以下のコードをエディタにコピー&ペーストして実行を押し、結果を確認してみましょう。

println("Hello World!");

成功すると、以下の画像のようにコンソールに”Hello World!”が表示されます。これが、プログラミングの第一歩となります。

スケッチの保存

左上のファイルから保存をすることができます。保存先はわかりやすい場所に設定しておくと良いです。また、”開く”から自分の保存したスケッチを読み込むことができます。

プログラミングの基本

プログラムは上から

行単位でコードを記述していきますが、基本的には上から順に実行されていきます。そのため、記述する順番には気をつけなければいけません。

コメントを書く

以下のコードのように、プログラムを記述した後に「//」または「/*~*/」を用い入力されたものはコメントと呼ばれます。これは、ソースコードの一部として認識されないので、どんな処理を行うプログラムなのか残しておくものです。他の人が見ても分かりやすいように常に書いておくことを意識しましょう。また、コードを書く時にはセミコロン(;)を忘れないようにしましょう。

println("Hello World!");//Hello Worldの文字列を出力
println("Hello World!");/*Hello Worldの文字列を出力*/

変数と型

リテラル

リテラルとは、プログラミング用語を1つで、値を表しています。あなたが普段使う数字や文字などは、ソースコードを記述する際には、違う扱い方をしなければなりません。例えば、このように記述されます。

2020 //整数リテラル
2020.0 //浮動小数点リテラル
"2020" //文字列リテラル

*同じ数字でも文字として記述する場合は、””(ダブルクォーテーション)で囲まなければいけません。平仮名、カタカナ、漢字でも同じです。

変数と型

まずはじめに変数とは、値を格納しておく入れ物のようなものと考えておくといいでしょう。

int a = 5; //int型の変数aを宣言して5を代入する
float b = 3.14 //float型の変数bを宣言して3.14を代入する
String str = "Hello World!" //String型の変数strを用意して文字列Hello World!を代入

上のように記述すると、a, b, strにはそれぞれ5, 3.14, HelloWorld!と値が代入されます。

上のコードにあるintfloatStringといったものは型と呼ばれます。変数は入れ物といいましたが、どんな入れ物を入れるか決めるのが、型になります。例えば、intを記述すれば、その入れ物には整数しか入れられません。小数点や、文字を保持することができないのです。型には以下のような種類があります。この項目では、よく使う型を挙げています。

Primitive(プリミティブ)型 …基本的な整数、浮動小数点といったものを扱う型

  • int: 整数を扱う型。-2147483648から+2147483647までの32bitの値を扱えます。
  • long:intと同じで整数を扱えますが、64bitの値を扱えます。-9223372036854775808から+9223372036854775807までの値が使えます。
  • float:浮動小数点を扱う型です。簡単に言えば、円周率などの3.14など小数点を持つ型で32bitまで、扱えます。
  • double:floatと同じ、浮動小数点を扱う型ですが、64bitまで扱え、小数第6以上等の高い精度が必要なものに使います。
  • char:16bitの整数を扱う型ですが、プロセッシングでは、文字1文字を使うときに多用されます。例えば、”あ”を保持したいときなど。
  • boolean:true(真) or false(偽)のどちらか1つを扱います。YesかNoのように2種類の状態を何かを処理したいときに使います。

Composite(コンポジット)型…沢山のデータを扱うときに使う型。種類は色々ありますが、まずはString型を覚えておくと良いでしょう。

  • String:文字列を扱う型で、char型では1文字ですが、これは複数の文字を扱う時に使用します。

変数の宣言

型を利用して、変数を宣言しましょう。プログラムで使うためには、使いますよと始めに書いておかなければなりません。以下のように初めに、宣言をして後に数字を代入しても良いし、宣言時に値を決めておくこともできます。注意として、”=”は普通なら同じと意味ですが、プログラミングでは代入という意味もあることを頭に入れておいて下さい。

int a; //int型の変数aを宣言
a = 5; //変数aに5を代入
float f = 5.5; //float型の変数fを宣言し、5.5を代入

演算子

四則演算

基本的なルールは数学で習った計算のルールに沿って、計算を行います。以下はコードでの表記の仕方です。

1 + 1 //足し算(プラス)
2 - 3 //引き算(マイナス)
4 * 5 //掛け算(アスタリスク)
6 / 3 //割り算(スラッシュ)
7 % 3 //余剰演算子(パーセンテージ)答えは7/3の余りの1

()を使えば、普段の計算通り、先に計算する方を指定することもできます。

(1 + 1) * 4 //答え8

また、変数の宣言時にも計算結果を代入することができます。

int a = 3;
int b = 2 * 3; //b = 6
int c = a * 4; //c = 12

文字列

以下のコードのように文字列でも足し算を行うことができます。ただし、引き算はできないので、注意が必要です。

String a = "Hello";
String b = "World";
String c = a + c ; //Hello World

条件式

コードを書いていくと条件によって、異なる処理をしたい場合がでてくると思います。そんな時に条件式が必須になってきます。以下がその書き方です。主に大なり、小なり、イコールといった数学のルールに沿った書き方をします。

a >= 5 //aは5以上である
a > 5 //aは5より大きい(5は含まない)
b <= c //bはc以下である
b < c //bはcより小さい(cは含まない)
x == 10 //xは10と等しい

また、複数の条件を使うこともできます。「&&」でandの意味、「||」でorの意味になります。これを使うことで複雑な処理ができるようになるので、覚えておきましょう。

x > 1 && x < 10 //xは1より大きいかつ10より小さい
x <= y || 5 > z //xはy以下またはzが5より小さい
x == 1 && y == 5 && z == 7 //xは1かつyは5かつzは7

関数

関数はメソッドとも呼ばれ、ある機能を持った命令のことです。これを知っておくことで色々なコードを記述することができますので、是非覚えておきましょう。例えばこちらです。println()は文字列を表示する関数です。()の中身は引数と呼ばれ、この中に入力するものによって出力されるものが変わります。

println("Hello World!");

*関数によっては戻り値と呼ばれる値を返すものもあり、その戻り値によって他の処理をする場合もあります。

関数一覧はこちらから

条件分岐、繰り返し構文

ある条件の時に実行したい処理がある場合には、以下の3つの文を利用してプログラムを組みます。

繰り返し構文、条件分岐

同じ処理を何度もしたいけど、沢山書くのは大変、そんな時に使うのが繰り返し構文になります。

for文

for()の中に書かれた条件だけ、{}内の処理が繰り返されます。

for (初期化式; 条件式; 再初期化式) 
{
    //繰り返し実行される
}

例えば、以下のように書いた場合、iの値が5になるまでprintlnをi回繰り返すということになります。

for(int i = 1; i <= 5; i = i + 1)
{
    println(i);
}

while文

for文と同じように繰り返し実行するもので、この2つを上手く使い分けてコードを書いていきましょう。

while(条件式)
{
    //条件式を満たしている間だけ繰り返し実行する
}

先ほどのfor文をwhile文で直したものが以下のようになります。

int i = 1; //int型の変数iを用意して1を代入
while(i <= 5) //iが5以下の間
{ 
    println(i);
    i = i + 1; //iの数を1増やす
}

if~else文

この文は、ある特定の条件で実行する内容を変えたいときに使います。

if(条件式)
{
    //条件式が真であるときのみこのブロック内のコードが実行させる
} 
else 
{
    //どの条件式も満たさないとき
}

例えば、入力された値が5より大きいならYes、そうでないならNoという処理をしたいなら以下のように書きます。

int a = 5;
if(a > 5)
{
    println("Yes");
} 
else 
{
    println("No");
}

switch文

3つより沢山の選択肢から何かを選ぶときには使いやすい文です。上のif文を使っても記述できますが、こちらの方が分かりやすいかもしれません。

switch(条件式) {
	case :
	case :
	case :
	case :
	default:break;
}

例えば、数字1,2,3の中から2が出たときに正解とするなら、以下のようになります。注意として条件式には整数に変換できる型のみが使用できます(byte、char、intなど)。また、case毎にbreakがない場合以下が勝手に実行されるので、気をつけましょう。

int a = 2;
switch(a) {
	case 1:
               println("不正解");
        break; 
	case 2:
               println("正解");
               break;
	case 3:
               println("不正解");
              break;
	default:
                println("該当しません");
                break;
}