非天マザー by B-CHAN

iPhoneの使い方、IT、ビジネス、金融、経済、不動産、保険、音楽、映画、ニュース、自己啓発その他。

プログラミングで論理演算に感動した子供の頃

MSX

 

 

ボクは幼い頃、MSXと言うパソコンでプログラミングしていました。

今回の話は別にMSXに限らないんですが。

 

プログラムの中で、

 

IF文

 

を多用すると動作が遅くなるので、なるべく使わないように、と学びました。

 

 

論理演算

 

 

そこで登場するのが論理演算です。

 

例えば、MSX-BASICでは、カーソルキーの上方向が押されると数値の1で下方向は5、右方向は3で左方向は7を返す関数があります。

 

STICK

 

と言う関数です。

 

なので、

 

もし、カーソルキーの上が押されたら、縦方向(Y座標)をマイナス1せよ、

 

と書く場合、IF文を使えば、

 

IF STICK(0)=1 THEN Y=Y-1

 

と書くんです。

これを上下左右それぞれに書けばキャラを動かせますが4つもIF文が登場しますね。

そこで、真(TRUE)の際には-1を返すと言う論理演算を使います。

 

Y=Y+(STICK(0)=1)-(STICK(0)=5)

 

とするわけですね。

こうすれば、上方向が押されたらYはマイナス1されますし、下方向が押されたらYはプラス1されます。

IF文をまったく使わずに同じ動作ができるわけです。

 

この発想って、学校の義務教育や高校の数学でも無かったんですよね。

なので当時のボクは感動しまくりでした。

できるだけIF文を使わずにプログラムを書くコトを目標にしていました。

 

いまの義務教育でのプログラミング学習って、見たコトは無いんですが、論理演算は当たり前のように使うんでしょうか?