Процедура чтения Read обеспечивает ввод числовых данных, символов, строк и т.д. для последующей их обработки программой.
Формат процедуры Read:
Read (x1, x2, …, xn);
или
Read (fv, x1, x2, …, xn);
где x1, x2, …, xn- переменные допустимых типов данных; fv- переменная, связанная с файлом, откуда будет выполняться чтение.
Значения x1, x2, …, xn набираются минимум через один пробел на клавиатуре и высвечиваются на экране. После набора данных для одной процедуры Read нажимается клавиша ввода Enter.
Значения переменных должны вводится в строгом соответствии с синтаксисом языка Паскаль. Если соответствие нарушено (например, х1 имеет тип Integer, а при вводе набирается значение типа Char), то возникают ошибки ввода-вывода. Сообщение об ошибке имеет вид: I/O error XX, где ХХ - код ошибки.
...
Var
I:Real;
J:Integer;
K:Char;
Begin
Read(I,J,K);
...
Первый вариант ввода данных: 21,5 23 ’B’
Второй вариант ввода данных: 34 ’A’ 12,4
Первый вариант обеспечивает правильный ввод данных, так как набираемые значения 21,5 23 ’B’ соответствуют типам переменных I, J, K в процедуре Read. Второй вариант ввода вызовет ошибку, так как для переменной I типа Real вводится значение типа Char.
|
|
Если в программе имеется несколько процедур Read, данные для них вводятся потоком, т.е. после считывания значений переменных для одной процедуры Read данные для следующей процедуры Read набираются в той же строке, что и для предыдущей, до окончания строки, затем происходит переход на следующую строку.
...
Var
A, B, Sum1: Integer;
C, D, Sum2: Real;
...
Begin
Read (A, B);
Sum1:=A+B;
Read (C, D);
Sum2:=C+D;
...
End.
В результате на экране появятся те данные, которые пользователь вводит с клавиатуры. Например:
12 34 12,5 34,5
Процедура чтения ReadLn
Процедура чтения ReadLn аналогична процедуре Read, единственное отличие заключается в том, что после считывания последнего в списке значения для одной процедуры ReadLn данные для следующей процедуры ReadLn будут считываться с начала новой строки.
...
ReadLn (A, B);
Sum1:=A+B;
ReadLn (C, D);
Sum2:=C+D;
...
После набора на клавиатуре значений для A и B курсор автоматически перейдет на новую строку, где будут набираться данные для C и D.
Например:
12 34
12,5 34,5