SQR関数
SQR(X)
Xの正の平方根(Square Root)、つまり
を求めます。
ただし、数学と同様にX≧0の場合のみを考え、X<0ではエラーが出ます。
Xの正の平方根(Square Root)、つまり
を求めます。ただし、数学と同様にX≧0の場合のみを考え、X<0ではエラーが出ます。
【確認1】SQR関数を用いて
,
,
の値を計算するプログラム
[プログラム]
10 PRINT "SQR(2)=";SQR(2) 20 PRINT "SQR(3)=";SQR(3) 30 PRINT "SQR(4)=";SQR(4) 40 END
[設問]
このプログラムを実行しなさい。
[実行結果]
SQR(2)= 1.4142135623731 SQR(3)= 1.73205080756888 SQR(4)= 2
[解説]
と
は無理数なので小数点以下が無限に続きますが、それではキリがないので適当な位で計算が打ち切られています。
【確認2】キーボードから入力された値X(X≧0)に対し、
を求めるプログラム
[プログラム]
10 INPUT PROMPT "x=":X 20 IF X<0 THEN 30 PRINT "Input non-negative number." 40 PRINT "Retry!" 50 GOTO 10 60 END IF 70 PRINT "SQR(x)=";SQR(X) 80 END
[設問]
このプログラムを実行しなさい。
[解説]
負の数の平方根は計算できないため、X≧0以上の値が入力されるまで10行目〜60行目をループしています。
【問題1】キーボードから入力された2点(a,b),(c,d)の距離を計算するプログラム
[プログラム]
10 INPUT PROMPT "(a,b)=":A,B 20 INPUT PROMPT "(c,d)=":C,D 30 PRINT SQR(_______________)
[設問]
空欄を埋めてプログラムを完成させなさい。
[ヒント]
2点
間の距離公式

【問題2】二次方程式 の実数解を求めるプログラム
[プログラム]
10 INPUT PROMPT "a,b,c=":A,B,C
20 D=B^2-4*A*C
30 IF ___ THEN
40 PRINT "X=";_________________;
50 PRINT ", ";_________________
60 END IF
70 IF ___ THEN PRINT "X=";________
80 IF ___ THEN PRINT "解なし"
90 END
[設問]
空欄を埋めてプログラムを完成させなさい。ただし、a=0という入力は考えないものとする。
組込み関数
平方根の計算は非常に手間がかかることはご存じかと思います。これは、コンピュータで計算をする場合も同様で、平方根を計算しようと思ったら複雑なプログラムを何行も書く必要があります。そして、平方根の計算はよく用いられるため、そのたびに同じプログラムを書くことになります。
そこで、BASICでは平方根の計算などを行う組込み関数があらかじめ用意されています。わたしたちは組込み関数を利用することによってプログラムを効率よく簡単に書くことができるのです。