Input/ja

From Free Pascal wiki
Jump to: navigation, search

Deutsch (de) English (en) français (fr) 日本語 (ja) 한국어 (ko) русский (ru) 中文(中国大陆)‎ (zh_CN)

2A - 入力 (著者: Tao Yue, 状態: 原文のまま修正なし)

入力とはプログラムに入ってくるもののことである。キーボードから入ることもあれば、マウス、ディスクのファイル、スキャナー、ジョイスティックなどなどから入ってくることもある。

マウス入力については詳しく取り上げない。その理由は、文法がマシン次第で異なるからである。加えて、今日のイベント・ドリブンのウインドウOSがたいていマウス入力を扱ってくれるからである。

データの読み込みの基本フォーマットは以下の通りである。

read (変数リスト);

Variable_List はカンマで区切られた変数識別子のリストである。

readは特殊な行末文字で行が区切られた一連の文字として入力を扱う。一方、readlnは値を読み込んだ後、行末文字の後に自動的に移動することで次の行へと飛ぶ。

readln (変数リスト);

ユーザから次のような入力を受け取ったとしよう。a, b, c,そして d はみな整数である。

45 97 3
1 2 3

ここでは readreadln の命令文の例を、適当な変数に読み込まれた値と共に示す。

Statement(s) a b c d
read (a); 45 97
read (b);
readln (a); 45 1
read (b);
read (a, b, c, d); 45 97 3 1
readln (a, b); 45 97 1 2
readln (c, d);

整数として読む場合、数字が見つかるまでスペースはすべて読み飛ばされる。そうして、数字ではない文字(空白に限らず)が出てくるまで続くすべての数字が読まれる。

8352.38

上の入力から整数が読み込まれると、その値は 8352 となる。もし、その後に文字を読み込めば、その値は '.' になるだろう。なぜなら読み取りヘッドは最初の英数字で止まるからである。

2つの整数を読み込もうとしたとしよう。それはうまくいかない。なぜなら、コンピュータが2番目の変数を満たすデータを探したとき、 '.' を見つけ、それが読み込むべきデータではないので止まってしまうからである。

実数データでも、コンピュータは空白をスキップする。そして、読める限りの数値を読み込む。しかし、多くの Pascal コンパイラはひとつ追加の制限を設けている。それは省略された実数は許されず、 0. ではじまらなくてはならないということである。従って、 .678 は不適切でコンピュータは実数として読めない。しかし、 0.678 は問題がない。

引数リストの識別子がすべて変数であることを確認しておこう。定数には数値を割り当てられないし、リテラル値にも数値は割り当てられない。

previous contents next