Читайте также:
|
|
Рассмотрим организацию ввода и вывода данных с терминального уст- ройства. Терминальное устройство - это устройство, с которым работает пользователь, обычно это экран (дисплей) и клавиатура.
Для ввода и вывода данных используются стандартные процедуры ввода и вывода Read и Write, оперирующие стандартными последовательными файлами INPUT и OUTPUT.
Эти файлы разбиваются на строки переменной длины, отделяемые друг от друга признаком конца строки. Конец строки задается нажатием кла- виши ENTER.
Для ввода исходных данных используются операторы процедур ввода:
Read(A1,A2,...AK);
ReadLn(A1,A2,...AK);
ReadLn;
Первый из них реализует чтение К значений исходных данных и прис- ваивание этих значений переменным А1, А2,..., АК. Второй оператор реализует чтение К значений исходных данных, пропуск остальных значе- ний до начала следующей строки, присваивание считанных значений пере- менным А1, А2,..., АК. Третий оператор реализует пропуск строки ис- ходных данных.
При вводе исходных данных происходит преобразование из внешней формы представления во внутреннюю, определяемую типом переменных. Пе- ременные, образующие список ввода, могут принадлежать либо к целому, либо к действительному, либо к символьному типам. Чтение исходных данных логического типа в языке ПАСКАЛЬ недопустимо.
Операторы ввода при чтении значений переменных целого и действительного типа пропускает пробелы, предшествующие числу. В то же время эти операторы не пропускают пробелов, предшествующих значе- ниям символьных переменных, так как пробелы являются равноправными символами строк. Пример записи операторов ввода:
var rV, rS: Real;
iW, iJ: Integer;
chC, chD: Char;
................
Read(rV, rS, iW, iJ);
Read(chC, chD);
Значения исходных данных могут отделяться друг от друга пробелами и нажатием клавиш табуляции и Enter.
Для вывода результатов работы программы на экран используются операторы:
Write(A1,A2,...AK);
WriteLn(A1,A2,...AK);
WriteLn;
Первый из этих операторов реализует вывод значений переменных А1, А2,...,АК в строку экрана. Второй оператор реализует вывод значений переменных А1, А2,..., АК и переход к началу следующей строки. Третий оператор реализует пропуск строки и переход к началу следующей строки.
Переменные, составляющие список вывода, могут относиться к целому, действительному, символьному или булевскому типам. В качестве элемен- та списка вывода кроме имен переменных могут использоваться выражения и строки.
Вывод каждого значения в строку экрана происходит в соот- ветствии с шириной поля вывода, определяемой конкретной реализацией языка.
Форма представления значений в поле вывода соответствует типу пе- ременных и выражений: величины целого типа выводятся как целые деся- тичные числа, действительного типа - как действительные десятичные числа с десятичным порядком, символьного типа и строки - в виде сим- волов, логического типа - в виде логических констант TRUE и FALSE.
Оператор вывода позволяет задать ширину поля вывода для каждого элемента списка вывода. В этом случае элемент списка вывода имеет вид А:К, где А - выражение или строка, К - выражение либо константа целого типа. Если выводимое значение занимает в поле вывода меньше позиций, чем К, то перед этим значением располагаются пробелы. Если выводимое значе- ние не помещается в ширину поля К, то для этого значения будет отве- дено необходимое количество позиций. Для величин действительного типа элемент списка вывода может иметь вид А:К:М, где А - переменная или выраже- ние действительного типа, К - ширина поля вывода, М - число цифр дробной части выводимого значения. К и М - выражения или константы целого типа. В этом случае действительные значения выводятся в форме десятичного числа с фиксированной точкой.
Пример записи операторов вывода:
............
var rA, rB: Real; iP,iQ:Integer;
bR, bS: Boolean; chT, chV, chU, chW: Char;
............
WriteLn(rA, rB:10:2);
WriteLn(iP, iQ:8);
WriteLn(bR, bS:8);
WriteLn(chT, chV, chU, chW);
Дата добавления: 2014-12-19; просмотров: 146 | Поможем написать вашу работу | Нарушение авторских прав |