.
中高生のための
今から始めるプログラミング
ボ、ボクの成績大丈夫かなぁ--if関数
最終更新日:2004/02/11

<<BACK ↑HOME NEXT>>

 1  if文について
 突然ですが、"if"ってどういう意味だか知っていますか?
中学校で勉強する単語ですね。意味は「もしも」という、現実かそうでないかを質問する時に使うものです。
前に勉強した"input"を使って数を入力したとします。その数の大きさによって判定をしたり、判定したあとにコメントを付ける事もできます。
"if文"では「then(そのとき、そうならば)」、「else(さもなくば、そうでなければ)」、「end if(ここまででif文は終わりです)」という言葉も使います。
下は使い方の例です。
 
〜入力例〜
 
10 input a
20 if a=50 then
30 print "大当たり〜"
40 else
50 print "残念でした(^_^;"
60 end if
99 end
 
〜出力例〜
 
a=50 の場合
 
? 50
大当たり〜
 
a≠50 (a=51)の場合
 
? 51
残念でした(^_^;
どうでしょうか?仕組みが分かりましたか?
 
 

 2  留年がきわどい成績計算
 中学生にはちょっと関係が無いかもしれませんが、高校•高専•大学では「留年」というものがしばしば自分や友達の身に降りかかってくることがあります。
 もちろんテストの得点が大きな原因となります。では、皆さんのテストの点数を計算してみましょう!
下の出力例に近くなるようにプログラミングしてみましょう。
ちなみに(yy以上を x=>yy と書きます)
 
? 60
国語 60 点
? 60
数学 60 点
? 60
英語 60 点
? 60
社会 60 点
? 59
理科 59
--------------
合計 299 点
--------------
コメント
悪い事言わないから来年に懸けなさい
? 60
国語 60 点
? 60
数学 60 点
? 60
英語 60 点
? 60
社会 60 点
? 60
理科 60 点
--------------
合計 300 点
--------------
コメント
日ごろの行いをよくすれば助かるかもね
どうでしょう?ちょっと難しいかもしれませんね。解答はここから
 

 3  ネスト(入れ子)を含んだif文
 先ほどif文では「AならばB、そうでなければC」という内容でしたね。
ここでは条件をたくさん持つif文を勉強します。「ネストを含む〜」とも言います。
下のプログラムの例を参考にしましょう。
〜入力例〜
 
110 input a
120 if a=50 then
130 print "大当たり〜"
140 else
150 if a>=50 then
160 print "もっと少ないっす"
170 else
180 if a<=50 then
190 print "もっと多いよ!"
199 end if
999 end
 
〜出力例〜
 
a=50 の場合
 
? 50
大当たり〜
a=>50 (a=51)の場合
 
? 51
もっと少ないっす
a=<50 (a=49)の場合
 
? 49
もっと多いよ!
 
このif文(ネストを含む)を利用して下のプログラムを作成しましょう!
 
*成績判定プログラム*

1.5教科(国数英社理)の得点を入力する。ただし、100点満点とする。
2.点数が500点  …ひょっとしてカンニングした(笑)?
     450点以上…スゲーよ!
     400点以上…さすがだねぇ
     350点以上…やっと射程距離に入れたかな?
     300点以上…もうひと踏ん張り!ガンバレ!
     200点以上…努力、努力、ひたすら努力。
さぁ、トライしてみましょう! 解答はこちら
 

<<BACK ↑HOME NEXT>>

Copyright (C) 2003-2004 Shohei Ohsawa, Naoyan Okada & Fumiya Miyakawa. All rights reserved.