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

PRINT文

PRINT文

PRINT 数値
(数値)を出力する。
PRINT 式
(式)の計算結果を出力する。
PRINT "文字列"
「"」(ダブルクォート)で囲まれた(文字列)を出力する。

算術演算子

数学 × ÷
BASIC + - * /

 BASICではかけ算に「*」(アスタリスク)、割り算に「/」(スラッシュ)を用いる点が数学と異なるので注意が必要です。なお、数学では「×」を省略することや、「・」を用いることもありますが、BASICではそのどちらもできません。 他に計算に使う記号としては、「^」(ハット)」があり、これはべき乗を表す記号です。(aのb乗)をBASICではa^bと書きます。

 計算の優先順位は数学と同じであり、( )を用いて計算の順序を制御することもできます。ただし、{ }や[ ]は使用せず、すべて( )で表記する点に注意して下さい。つまり、数学では2×{ 3+4÷( 5−6 ) }と書く式をBASICでは2*(3+4/(5-6))と書きます。

【確認】次のプログラムを実行し、PRINT文の動作を確認しましょう。

(1) PRINT 数値

[プログラム]

  10  PRINT 2008
  20  END

[出力結果]

  2008

[解説]

 各行の最初に書かれている数字を行番号と呼びます。BASICのプログラムはこの数字が小さい行から順に実行されます。1,2,…ではなく、10,20,…とふってあるのは、プログラムの変更時に間に行を追加しやすくするためです。

 END文はそのプログラムの終わりを意味し、通常最後の行に書きます。

(2) PRINT 式

[プログラム]

  10  PRINT 7+6?5*4/3^2
  20  END

[出力結果]

  10.7777777777778

[解説]

 BASICで行われる計算は、電卓のように計算できるけた数に限りがあります。そのため、小数点以下の表示しきれない部分は四捨五入されます。このときに発生する誤差を丸め誤差といいます。

(3) PRINT "文字列"

[プログラム]

  10  PRINT "こんにちは"
  20  END

[出力結果]

  こんにちは

【問題】 どのように出力されるか予想してから、次のプログラムを実行してみましょう。

(1)

[プログラム]

  10  PRINT -10^2
  20  END

(2)

[プログラム]

  10  PRINT 10^20
  20  END

(3)

[プログラム]

  10  PRINT "10/3"
  20  END

【解説】

(1)

 「PRINT 式」は(式)の計算結果を出力します。累乗の演算子「^」(ハット)は減算の演算子「-」よりも優先順位が高いため、-10^2は-(10*10)となり、その計算結果は-100となります。

[出力結果]

  -100

(2)

 このプログラムも「PRINT 式」の構文を用いているので、(式)の計算結果である100000000000000000000が出力されると予測されます。しかし、BASICでは非常に大きな数値は指数表記されるため、1.E20という出力が得られます。これは、を意味しています。

[出力結果]

  1.E20

(3)

 3.33333333333333が出力されると思う方もいらっしゃるかもしれませんが、プログラムの10行目をよく見ると10/3は「"」(ダブルクォート)で囲まれています。つまり、このプログラムは「PRINT "文字列"」であり、「"」で囲まれた10/3は文字列としてそのまま出力されます。

[出力結果]

  10/3

セミコロン

【確認】次のプログラムを実行し、「;」(セミコロン)の働きを確認しましょう。

(1)

[プログラム]

  10  PRINT 1
  20  PRINT 2
  30  END

[出力結果]

  1
  2

[解説]

 PRINT文を複数回実行すると、それぞれの出力は改行されて表示されます。

(2)

[プログラム]

  10  PRINT 1;
  20  PRINT 2
  30  END

[出力結果]

  1  2

[解説]

 「;」(セミコロン)を用いることで、PRINT文の出力の改行を抑止することができます。そのため、出力結果が(少し離れて)横に並ぶことになります。

(3)

[プログラム]

  10  PRINT 1;2
  20  END

[出力結果]

  1  2

[解説]

 「;」(セミコロン)を用いることで、複数のPRINT文をひとつにまとめることができます。また、「;」(セミコロン)を用いているため、それらは改行されず横並びに出力されます。

(4)

[プログラム]

  10  PRINT "1+2=";1+2
  20  END

[出力結果]

  1+2= 3

[解説]

 このプログラムは「PRINT "文字列"」と「PRINT 式」を「;」(セミコロン)で組み合わせたものです。以下のプログラムと同じ動作をします。

[同じ動作をするプログラム]

  10  PRINT "1+2=";
  20  PRINT 1+2
  30  END

コロン

 「,」(コロン)も「;」(セミコロン)のようにPRINT文の改行を抑制します。「,」(コロン)は「;」(セミコロン)より広く間隔を空けます。

【確認】

(1)

[プログラム]

  10  PRINT "0.1=";0.1,
  20  PRINT "1.0=";1.0
  30  END

[出力結果]

  0.1= .1                 1.0= 1

[解説]

 0.1など整数部分が0の小数は、整数部分を省略して表示されます。また、1.0など小数部分が0の小数は、整数部分のみが表示されます。

(2)

[プログラム]

  10 LET x=10^99
  20 LET X=X*10
  30 END

[実行結果]


[解説]

 電卓と同じように、BASICにも数値の扱える桁数に上限があり、それを超えてしまうと桁あふれオーバーフローともいう)というエラーが発生してしまいます。


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