Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
paskal.doc
Скачиваний:
71
Добавлен:
10.06.2015
Размер:
1.28 Mб
Скачать

Процедуры ввода-вывода

Для выполнения операций ввода-вывода служат четыре процедуры: Read, Readln, Write, WriteLn.

Процедура чтения Read

Процедура чтения 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

Процедуры записи Write, WriteLn

Процедура записи Write производит вывод числовых данных, символов, строк, булевских значений.

Формат процедуры Write:

Write (y1,y2, . . . yn);

или

Write (fv,y1,y2, . . . ,yn);

где y1, y2, …, yn- переменные допустимых типов данных; fv- имя файла, куда производится вывод.

Для вывода на принтер fv равно Lst. Чтобы устройство Lst стало доступным, необходимо подключить модуль Printer с помощью зарезервированного слова Uses:

Uses Printer;

Var

. . .

Begin

Write (234); {выражение представлено значением}

Write(A+B-2);{выводится результат выражения}

Write(Lst, ’Результат вычислений = ’, Result);{данные выводятся на принтер}

End.

Процедура записи WriteLn аналогична процедуре Write, единственное отличие заключается в том, что после вывода последнего в списке значения для одной процедуры WriteLn данные для следующей процедуры WriteLn будут выводиться с начала новой строки.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]