プログラミング学習をするときに必要となる知識はの一つが、論理演算子(ろんりえんざんし)です。
論理って聞くと、堅苦しい感じがするけど、出てくる記号は3種類だけだよ。
小学生でも分かるように詳しく説明していくから心配しないでね。
論理演算子ってなに?
プログラミングでは、条件を設定しながら処理していくって話したよね。
まだの人は、以下の記事を読んでね。
↓
条件ってなに?小学生でも分かる!プログラミングの基本知識
主な論理演算子は3種類だよ。
種類 |
記号 |
使い方 |
意味 |
AND |
&& |
A and B |
AもBも |
OR |
|| |
A or B |
AかBどちらか |
NOT |
! |
!A |
Aでない |
論理演算子は条件式に入れて使うことが多いよ。
それぞれを詳しく説明していくね。
「AもBも」の使い方
「私もあなたも宿題が終わったら、一緒に遊びましょう」という会話を条件式にしてみると
if ( 私の宿題終わる and あなたも宿題終わる ) {
一緒に遊ぶ
}
というように書くよ。
+——– 一緒に遊ぶ
| 一致
|
私の宿題終わる and あなたも宿題終わる
|
| 不一致
|
+——– 一緒に遊べない
2つの条件を一度に見るときに便利なんだよ。
でも、もしも「and」を使わないとしたら
if ( 私の宿題終わる ) {
if ( あなた宿題終わる ) {
if ( 一緒に遊ぶ ) {
}
} else if ( あなた宿題終わる ) {
if ( 私宿題終わる ) {
if ( 一緒に遊ぶ ) {
}
}
と、なるんだ。
+——– 一緒に遊べない
| 不一致
|
私の宿題終わる
|+——– 一緒に遊べない
| 一致| 不一致
||
+——– あなた宿題終わる
|
| 一致
|
+——– 一緒に遊ぶ
同じことを条件にしているはずなのに、「and」を使わないと処理が難しく感じるよね。
「AかBどちらか」の使い方
「お誕生日のケーキはショートケーキがいい?それともチョコケーキ?」という会話を条件式にしてみると
if ( ショートケーキ or チョコケーキ ) {
買う
}
というように書くよ。
+——– 買う
| 一致
|
ショートケーキ or チョコケーキ
|
| 不一致
|
+——– 買わない
「or」を使わないとしたら
if ( ショートケーキ ) {
買う
} else if ( チョコケーキ ) {
買う
}
と、なるんだ。
図で書くと
+——– 買う
| 一致
|
ショートケーキ
|+——– 買う
| 不一致| 一致
||
+——– チョコケーキ
|
| 不一致
|
+——– 買わない
「and」のときよりは複雑じゃないけど「or」を使ったほうがシンプルだよね。
「Aでない」の使い方
「いちごは果物ではない」という文章を条件式にしてみると
if ( !(いちご=果物) ) {
野菜だよ
}
というように書くよ。
+——– 野菜
| 一致
|
いちごは果物ではない
|
| 不一致
|
+——– 果物
「or」を使わないとしたら
if ( いちご=果物 ) {
果物だよ
} else if ( いちご=野菜 ) {
果物だよ
}
図で書くと
+——– 果物
| 一致
|
イチゴは果物?
|+——– 野菜
| 不一致| 一致
||
+——– 野菜?
|
| 不一致
|
+——– その他
やっぱり「not」を使う方がシンプルだよね。
実は、シンプルに書くというのはとっても大事なんだ
なぜシンプルに書くべき?
ソースコードの書き方は、人によって違うんだ。「and」を使って書く人もいれば、「and」を使って書くのが嫌いな人もいます。
足し算で10になる式も
5+5
1+9
4+6
と作れるよね。
だから最後は、動けばOK!という気持ちも大事だから、どんな書き方をしても良いんだよね。
でも、
1+1+1+1+1+1+1+1+1+1
と書かれた式よりも
5+5が求めやすいように
答えが同じでも、人が見た時に結果が分かりやすい。ということも大事なんだ。
なぜかというと?
その方が間違いも少ないし、見直したときに分かりやすいからね。
でも、ソースコードは何度も書き直すことができるから、最初は思いつくまま書いてみて、気づいたときに直すのがいいと思う。
今は、シンプルで分かりやすい方が良いってことだけ覚えておいてね。
まとめ
比較演算子についてまとめるよ
- A and B・・・AもBも
- A or B・・・AかBか
- not A・・・Aではない
分からなくなったら、言葉で書いてみて、自分が分かりやすい文章をソースコードに置き換えてみるといいよ。
タイトルとURLをコピーしました
コメント