AX

電霊ログ

私のやってるサイト、電子の言霊の活動ログ

カテゴリークラウド

タグリスト

最近のトラックバック

月別アーカイブ(タブ)

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  • [HSP超入門] 条件分岐4

if は直訳すると、もしも という意味になります。
ですので今までの

if a<10 :mes a


というプログラムは、
「もしも a が10より小さかったら a を表示する」と簡単に訳せます。
しかし日本語にした事で1つ疑問がわきます
それは、
「もしも a が10より小さかったら a を表示する」
「そうでなければ」という処理です。
今までやってきた知識だけで考えると、

if a<10 :mes a
if a>=10 :mes a


で出来るのでは?と思ってしまいます。
これは日本語で言うと、
「もしも a が10より小さかったら a を表示する」
「もしも a が10より大きいか同じなら a を表示する」
となり、結果は同じでも 同じ意味では無い事が分かります

どういう事かと言うと「そうでなければ」というのは、一方が決まればもう一方も決まるという性質があるからです。
たとえば、机の上にりんごが2つあるとします、その中の1つは普通のおいしいりんごで、もう1つは毒入りのりんごです。この中のどれが毒入りのりんごかが分かればもう片方を調べなくても、毒入りではない事が分かるという事です。
逆に安全なりんごが分かれば、毒入りりんごも分かるということです。(例えが悪いのは気にしない)
もちろんこんな状況は普通ありませんし、どちらか一方が必ず安全という確かな情報が必要ですが、大雑把に言うとそういう性質なのです。

そして片方を選んだら、もう片方は選ばないと言う事です。
道にたとえると、歩いている途中で道が2つに分かれているとします、そして右の道を選んだとしたら左の道は通らないと言う事です。

前置きが長くなりましたね・・・。
それでは「そうでなければ」という処理はどうすれば良いのでしょう?
実はそういう命令が用意されているのです。
それは else という命令です。エルスと読みます。
「例」

a=10
b=10
if a=b :mes a :else :mes b


これは変数a,b に数を代入して、if 命令で aとbを比較しています。
この if の部分を、また日本語風に言い直すと、
もしaとbが同じなら、mes a を表示。しかし そうでなければ mes b を表示
と成ります。else の部分が そうでなければ に相当します。
(ちなみに「else」 を辞書で調べると「そのほかの」,「 別の」と出ました)

else の書き方を簡単に説明します
else は必ず if とセットで使わないと エラー が出ます。ですので if が無いのに else を書いてはいけません。
そして書く場所ですがこれが結構重要です、
if の後の 命令の後に else を書きます。さらにその後に、そうでない時の命令を書きます。
if 条件式    :命令    :else    :命令

こんな感じです。

条件が一致した時の処理がいらない時は次のように省略する事が出来ます
if 条件式    :else    :命令

こうすると一致した時は何もせずに次の行へ行き、
一致しない時だけ命令を実行させる事が出来ます。

if と else はよく使う命令の1つでとても重要な物です、ここでしっかり覚えておいた方が、後で楽になってきます。要するに基礎の部分です。これは自分の手で色々試して覚えていくしかありません。「こうすればこうなる」とか、「こういう風にはできないんだ」とか発見していってください。(「習うより慣れろ」ですね)


とこんな風に説明して来ましたが、分かりましたか?
説明が下手でうまく表現出来ていないところもあり、分かりづらいと思いますが、ゆっくり考えていけば分かると思います。
まえにもいいましたが、自分に一番分かりやすいようにイメージしてくださいね。そうすれば理解できるはずです。
それにわからなくても、コメントとして質問してくれれば良いので、くじけないでくださいね。
では今回はここまでです。
関連記事

コメント

コメントの投稿

   管理者にだけ表示を許可する
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。