楽屋裏 - Else If

楽 屋 裏
e-Gadget


思い込みとは怖いものだ。

Ifにまつわる話です。

これまで、Basic言語一般で使える記法 ElseIf が、CasioBasic には無いので、Else If は可読性が悪くなって使えないものとばかり思っていたのですが、思い込みだと言うことが分かりました。

Else If は結構使えます!


何のことかと言えば...

変数Eが、0、1、2、3 と異なる値になるとき、Eの値に応じて処理を切り替える...これは、Else If と言う記法を使えば、見やすいプログラムが書けるのですが、それが出来ないと思っていたばっかりに、確かめもせずに、If 文の入れ子構造が複雑になって使えず、不便だなぁ、と...

Else If の入力方法は、単に If を入力し、続けて Else を入力するだけです。

Else If を使えば、以下のように可読性を犠牲にせず、スッキリと書けます。

If E=3:Then
[処理3]
Else If E=2:Then
[処理2]
Else If E=1:Then
[処理1]
Else If E=0:Then
[処理0]
IfEnd
IfEnd
IfEnd
IfEnd


但し、If と同数の IfEnd を最後にまとめて書きます。


このように便利な Else If は使えないと思っていたので、Goto / Lbl を使って同じ構文を作って使っていました。Goto を使うのは出来れば避けたいところですが、正しく使えば役に立つ事例として、私は考えていました。

E=3⇒Goto 3
E=2⇒Goto 2
E=1⇒Goto 1
E=0⇒Goto 0
Goto Z

Lbl 3
[処理3]

Goto Z

Lbl 2
[処理2]

Goto Z

Lbl 1
[処理1]

Goto Z

Lbl 0
[処理0]

Goto Z

Lbl Z



一時の恥は一生の得 ということで、これからは Else If を必ず検討しようと思います。

懺悔にも近いこんなことを書いたのは、少し前 藤堂様 とのやりとりで、Goto は用法・用量を守って正しく使えば良い、と私の主張をし、その効用の1例として、上の複数条件分岐を例として挙げたのです。

それを、キチンと訂正したいと思ったので、別エントリーに書くことにしました。

藤堂様、失礼しました。


但し、一言だけ言い訳をしますと、

switch(E) {
    case 3:
       
[処理3]
        break;
    case 2:
        [処理2]
        break;
    case 1:
        [処理1]
    case 0:    
        [処理0]
}


といった、C言語風の処理は、Else If では出来ないのです。
case 3:case 2: では、break; がありますが、case1:case 0: では break; が省略されています。
break; によって siwtch( )文を抜けます。

Eが3や2、そして0 の時は、それぞれ対応する処理を行います。

ところが、Eが1の時は [処理1] に続いて [処理0] を行います。[処理1] の後に break; が無いためです。

私が作った構文では、Goto Zbreark; に相当するので、C言語と同等の柔軟性がありますが、Else If の記法 にはそのような柔軟性が有りません。

(言い訳終わり) (^^;)


...と言うことで、CasioBasicコマンドリファレンスIf 文 の項目も修正しました。

但し、Goto は用法・用量を守って正しく使いましょう! は撤回せずにおきます。





応援クリックをお願いします。励みになりますので...

人気ブログランキングへ


FC2ブログランキングへ


keywords: fx-5800PCasioBasicElse If複数条件分岐プログラミング入門プログラム関数電卓

リンク集 | ブログ内マップ
関連記事

テーマ : プログラム関数電卓
ジャンル : コンピュータ

コメントの投稿

非公開コメント

最新記事
最新コメント
カテゴリ
C# (3)
検索フォーム
Visitors
Online Counter
現在の閲覧者数:
プロフィール

やす (Krtyski)

Author:やす (Krtyski)
since Oct 30, 2013


プログラム関数電卓は、プログラムを作り・使ってナンボ!

実際に触って気づいたこと、自作プログラム、電卓プログラミングについて書いています

おもしろい・役に立つならクリックしてください。励みになります。
にほんブログ村 IT技術ブログ 開発言語へ
にほんブログ村


人気ブログランキングへ


FC2ブログランキングへ


写真: 「4駆で泥んこ遊び@オックスフォード郊外」

リンク
月別アーカイブ
Sitemap

全ての記事を表示する

RSSリンクの表示
最新トラックバック
ブロとも申請フォーム

この人とブロともになる

QRコード
QR