Webで学ぶセンター試験数学−BASICプログラミング > IF文

IF文

IF文

IF 条件 THEN 処理
(条件)が真ならば(処理)を行う。
(条件)が偽ならば次の行へ進む。
IF 条件 THEN 処理A ELSE 処理B
(条件)が真ならば(処理A)を、偽ならば(処理B)を行う。
その後、次の行へ進む。

比較演算子

数学
BASIC = < > <= >= <>

【確認1】Xの絶対値を出力するプログラム(その1)

[プログラム]

  10  INPUT X
  20  IF X>=0 THEN PRINT X
  30  IF X<0 THEN PRINT -X
  40  END

[実行結果]

【確認2】Xの絶対値を出力するプログラム(その2)

[プログラム]

  10  INPUT X
  20  IF X<0 THEN X=-X
  30  PRINT X
  40  END

[実行結果]

(i) 10を入力した場合

  

(ii) -10を入力した場合

  

[解説]

 このプログラムは、確認1のプログラムを書き換えたものです。

 20行目において、Xが負であればXに−Xを代入して符号を反転しています。

【問題1】入力された値が正/0/負のいずれであるか判定をするプログラム

[プログラム]

  10  INPUT X
  20  IF ___ THEN PRINT X;"is positive."
  30  IF ___ THEN PRINT X;"is negative."
  40  IF ___ THEN PRINT X;"is zero."
  50  END

[実行結果]

(i) 10を入力した場合

  

(ii) -10を入力した場合

  

(iii) 0を入力した場合

  

[設問]

 実行結果を参考にして空欄を埋め、キーボードから入力された値Xが正の数であるか負の数であるか、それとも0であるか判定するプログラムを完成させなさい。

【問題2】絶対値を求めるプログラム

[プログラム]

  100 INPUT "x=";X
  110 IF X>=1 THEN PRINT X ELSE PRINT -X
  120 END

[設問]

 A君は絶対値を求めるために次のプログラムを作りました。

 このプログラムを実行してみると、X=3を入力したときは3が出力され、X=-3を入力したときは3が出力されます。また、X=1を入力したときは1が出力され、X=-1を入力したときは1が出力されます。

 しかし、このプログラムには誤りがあります。その誤りを指摘し、正しく動作するようにプログラムを変更しなさい。

【問題3】二次方程式ax^2+bx+c=0の異なる実数解の個数を求めるプログラム

[プログラム]

    10  INPUT PROMPT "a,b,c=":A,B,C
    20  D=___________
    30  IF ___ THEN PRINT "This equation has two solutions."
    40  IF ___ THEN PRINT "This equation has a solution."
    50  IF ___ THEN PRINT "This equation has no solutions."
    60  END

[設問]

 空欄を埋めてプログラムを完成させなさい。


<< 前のページトップページ次のページ >>
inserted by FC2 system