|
1.if〜then、直訳するともしも〜するならば
さて、ここからがプログラムらしくなってきます。
if〜thenというのは【もしも】という意味です。
例えば、if A=1 then print "Aは1です" という文があったとします。
これは もし A=1 ならば print "Aは1です"という意味です。
つまりAが1であるなら「Aは1です」を表示せよという意味になります。
実際にプログラムを書いて確認してみましょう。
2.プログラムを書いてみよう
-if1.bas-
#!/usr/bin/scriba
A=1
print "Content-Type: text/html; charset=euc-jp\n\n"
print "<html><body>"
if A=1 then print "Aは1です"
print "</body></html>" |
▼実行結果
では、if構文のところを少し変えてみましょう
-if2.bas-
#!/usr/bin/scriba
A=1
print "Content-Type: text/html; charset=euc-jp\n\n"
print "<html><body>"
IF A=2 THEN print "Aは2です"
print "</body></html>" |
▼実行結果
何も表示されませんね。これはAが2でない為です。
3.2行以上の場合
THEN の後が2行以上(複数行)ある場合です。
-if3.bas-
#!/usr/bin/scriba
A=1
print "Content-Type: text/html; charset=euc-jp\n\n"
print "<html><body>"
IF A=1 THEN
print "Aは1です"
print "<br>"
print "1行目です"
END IF
print "</body></html>" |
▼実行結果
このように
IF 条件 THEN
条件にあった場合
END IF
という感じに書きます。最後にEND IFを書くことがポイントです。
4.ELSE
ELSEを使ってみましょう。
THEN の後が2行以上(複数行)ある場合です。
-if4.bas-
#!/usr/bin/scriba
A=2
print "Content-Type: text/html; charset=euc-jp\n\n"
print "<html><body>"
IF A=1 THEN
print "Aは1です"
ELSE
print "Aは1以外です"
END IF
print "</body></html>" |
▼実行結果
最初にAに2を代入しました。
IF A=1 ですが、Aは1ではありませんのでTHENの後ろのprint命令は実行されません
ここでELSEの登場です。条件に満たなければELSE以下が実行されます。
それでAは1以外ですが表示されたわけです。
ELSEの使い方は以下の通りです。
IF 条件1 THEN
条件1にあった場合
ELSE
条件に満たない場合
END IF
ここで注意です。
IF A=1 THEN print "Aは1です"
ELSE print "Aは1以外です"
上記のような書き方は出来ません。
ELSEを使う場合は必ずEND IFが必要です。
5.ELSE IFの使い方
ELSE IFは以下のように使います。
IF 条件1 THEN
条件式1にあった場合
ELSE IF 条件2 THEN
条件2にあった場合
ELSE
条件に満たない場合
END IF
ではプログラムしてみましょう。
-if5.bas-
#!/usr/bin/scriba
A=2
print "Content-Type: text/html; charset=euc-jp\n\n"
print "<html><body>"
IF A=1 THEN
print "Aは1です"
ELSE IF A=2 THEN
print "Aは2です"
ELSE
print "Aは1・2以外です"
END IF
print "</body></html>" |
▼実行結果
変数Aには2が入っています。
最初のIFですが、A=1ではありません。
と、いうわけでELSE IFが評価されます。A=2なので条件に一致しました。
ELSE IFの中身が表示されて終わりです。
理解できないという方はA=2の部分を1や3などに変更して見てください。
6.条件式の書き方
| = |
等しければ |
|
<> |
等しくなければ |
| < |
〜より小さければ(未満) |
|
<= |
以下 |
| > |
〜より大きければ |
|
>= |
以上 |
このような記号(比較演算子)が利用できます
ではプログラムを書いてみましょう。
-if6.bas-
#!/usr/bin/scriba
A=2
print "Content-Type: text/html; charset=euc-jp\n\n"
print "<html><body>"
print "Aは",A,"です<br>"
IF A>1 THEN print "Aは1より大きいです<br>"
IF A=2 THEN print "Aは2です<br>"
IF A<>2 THEN
print "Aは2以外です<br>"
ELSE
print "×Aは2以外です<br>"
END IF
IF A>=2 THEN print "Aは2以上です<br>"
IF A<=2 THEN print "Aは2以下です<br>"
print "</body></html>" |
▼実行結果
Aは2です Aは1より大きいです Aは2です ×Aは2以外です Aは2以上です
Aは2以下です
|
以上とより大きいとの違いは何なのでしょうか?
以上以下の以とはその数を含んでと考えると簡単です。
Aは2以上の整数というとその数を含むので2,3,4,5...(無限)....のことですね。
Aは2以下の整数というとその数を含むので2,1,0,-1....(無限)...のことですね。
整数とは 0 とそれに 1 ずつ加えていって得られる数のことです
簡単に言うと少数でない数字のことですね。
7.条件を満たすことを真という
条件を満たすことを真といいます。英語でTRUEです。
プログラムの世界では英語・日本語どちらもよく使いますので、頭の隅に記憶して置いてください。
条件が満たさないことは偽といいます。英語ではFALSEです。
IFをもう一度整理しましょう。
IF 条件式 THEN 条件式が真の時実行
IF 条件式 THEN
条件式が真の時
ELSE
条件式が偽の時
END IF
IF 条件式1 THEN
条件1が真の時
ELSE IF 条件式2
条件2が真の時
ELSE
条件式1も2も偽の時
END IF
ちなみに数字の1は真,0は偽となります。
-if6.bas-
#!/usr/bin/scriba
print "Content-Type: text/html; charset=euc-jp\n\n"
print "<html><body>"
IF 1 THEN print "真です<br>"
IF 0 THEN print "真です<br>"
print "</body></html>" |
▼実行結果
0は真ではないので、真ですとは表示されません。
この項目は今、理解できなくても構いません |
|