第一章 プログラムの基本

4 プログラミングU IF〜THEN〜
IF(もし、条件が合えば)THENの右にある命令を実行する命令語である。
行番号
命令文
説 明
10
A=5 5をAに格納
20
B=-6 -6をBに格納
30
C=A+B Bの内容をAの内容に加算して結果をCに格納
40
IF C<0 THEN GOTO 70 C<0ならば70行へジャンプ
50
IF C=0 THEN GOTO 70 C=0ならば80行へジャンプ
60
PRINT "+":GOTO 90 +を出力した後に90行へジャンプ
70
PRONT "-":GOTO 90 -を出力した後に90行へジャンプ
80
PRINT "0":GOTO 90 0を出力する
90
END おわり
(PR-5)
 実行すると、C=5-6<0となって、40行から70行にジャンプして、70行を実行するために「-」を出力しておわる。
 もし、30行で、C=0ならば、50行から80行を実行して「0」を出力しし、さらに90行でおわる。
 もし、30行でC>0ならば、60行で「+」を出力しておわる。


練習問題
 つぎのプログラムはAの内容とBの内容を乗算して、その結果が正ならば「+」を、負ならば「-」を表示するプログラムである。( )の中に適切な字句もしくは記号の組合せの番号を選びなさい。ただし、A、Bともに0ではないものとする。
10A=2
20B=-1
30C=A*B
40IF C( イ )0 THEN GOTO ( ロ )
50PRINT "+":GOTO 70
60PRINT "-"
70END
(PR5-2)



解説
 40行で、もし、C>0ならば50行にジャンプして「+」を表示することができるが、演算結果が負の場合でも、50行を実行して、やはり「+」を表示してしまう。
10A=2 2をAに格納
20B=-1 -1をBに格納
30C=A*B Bの内容とAの内容の積をCに格納
40IF C<0 THEN GOTO 60 Cが負ならば60行にジャンプ
50PRINT "+":GOTO 70 +を表示して70行にジャンプ
60PRINT "-" -を表示する
70END おわり
(PR-6)
正解3



練習問題
 つぎのプログラムは消費電力60[W]の白熱球Lと、60[Ω]の抵抗Rに100[V]を加えたときの消費電力を比較して、消費電力の大きい方の文字のLもしくはRを表示する。
 ( )の中に適切な字句または記号の組合せの番号を選びなさい。ただし、白熱球の消費電力の変数をLW、抵抗の消費電力の変数をRWとする。
10LW=60
20RW=100*100/60/td>
30IF LW
40IF LW=RW THEN GOTO ( ロ )/td>
50PRINT "R":GOTO ( ハ )/td>
60PRINT "L":GOTO ( ニ )/td>
70PRINT "L=R"/td>
80END


解説
10 60をLWに格納する
20 RWにI*I*Rを計算した数値を格納する
30 LW>RWならば「L」を表示するために、60行にジャンプする
40 LW=RWならば、70行にジャンプする
50 LW>RW及びLW=RWでもないLW
60 Lを表示して80行へジャンプする
70 L=Rを表示して80行へ移る

10LW=60
20RW=100*100/60
30IF LW
40IF LW=RW THEN GOTO 70
50PRINT "R":GOTO 80
60PRINT "L":GOTO 80
70PRINT "L=R"
80END
(PR-7)
正解 1

目次 inserted by FC2 system