Скачиваний:
39
Добавлен:
29.03.2016
Размер:
789.79 Кб
Скачать

Пример:

var i:Integer; x:real; i:=SizeOf(x);

...

i:=SizeOf(Single);

Операторы ввода-вывода

Для операций ввода-вывода данных в Object Pascal используется пара операторов read и write. Эти операторы ввода-вывода универсальны и используются при работе с любыми устройствами ввода-вывода такими как, клавиатура, консоль, накопители, порты вводавывода и др. Следует также отметить, что эти операторы обрабатываются компилятором особым образом и поэтому идентификаторы read и write не рекомендуется использовать для именования собственных объектов.

Оператор write

С помощью оператора write осуществляется вывод данных. По умолчанию устройством вывода служит консоль. Синтаксис оператора write имеет следующий вид:

write (<выражение>, <выражение>, ... <выражение>);

Выражение может состоять из одной константы или переменной, например

write('x=', x);

Первое выражение равно 'x=' – это строковая константа. Второе выражение равно x. Это переменная любого простого типа. Следует отметить, что стандартный оператор вывода может работать с переменными только простых и строковых типов. Оператор write после вывода не осуществляет перевод курсора на следующую строку. Для того чтобы после вывода данных курсор переводился на следующую строку необходимо использовать оператор writeln.

writeln (<выражение>, <выражение>, ... <выражение>);

Оператор writeln без параметров переведет курсор на новую строку.

Операторы write и writeln позволяют производить форматированный вывод. Для этого применяется расширенная форма операторов.

writeln (<выражение>:Width, ...);

write (<выражение>:Width, ...);

With – определяет общее число символов отведенных на значение. Значение всегда выводится целиком, даже если оно не помещается в отведенное ему число символов. Эта возможность бывает полезна вывода таблиц. В этом случае параметр Width задает ширину колонки в символах. Пример:

Листинг 2 – Вывод таблицы

{$IFDEF FPC} {$MODE DELPHI}

{$ENDIF}

{$APPTYPE CONSOLE} program formatOut; begin

writeln('Иванов':15, 15:4); writeln('Петров':15, 5:4); writeln('Богданов':15, 150:4); writeln('Красносельцев':15, 18:4);

end.

В результате работы программы на экран будет выведено примерно следующее

Иванов 15 Петров 5 Богданов 150

Красносельцев 18

Для вещественных чисел доступен дополнительный параметр Digits.

writeln (<выражение>:Width:Digits, ...);

write (<выражение>:Width:Digits, ...);

Здесь Digits – число выводимых знаков после запятой, при этом проводится арифметическое округление до указанного знака, например

Листинг 3 – Форматированный вывод вещественных чисел

{$IFDEF FPC} {$MODE DELPHI}

{$ENDIF}

{$APPTYPE CONSOLE} program formatOutReals; const number=3.5645; begin

writeln( number:8, number:8:4, number:8:3, number:8:2, number:8:1, number:8:0);

end.

Вывод программы будет, примерно, таким

3.6E+0000 3.5645 3.565 3.56 3.6 4

Параметр Digits можно указать только совместно с параметром Width. Параметры Width и Digits могут быть целочисленными константами или переменными, например

Листинг 4

{$IFDEF FPC} {$MODE DELPHI}

{$ENDIF}

{$APPTYPE CONSOLE} program formatOutReals; const number=3.5645; var digits, width: byte; begin

write('width '); readln(width); write('digits '); readln(digits); writeln(number:width:digits);

end.

Оператор read

С помощью оператора read осуществляется ввод данных. По умолчанию устройством ввода служит клавиатура. Синтаксис оператора read имеет следующий вид:

read (<переменная>, < переменная >, ... < переменная >);

Оператор read может работать только с переменными простого и строкового типа. При вводе нескольких переменных с помощью оператора read они должны разделяться пробелом. После ввода всех переменных необходимо нажать клавишу «Enter». Если «Enter» был нажат до ввода всех переменных, то курсор будет переведен на следующую строку и, система будет ожидать ввода оставшихся данных, например

Листинг 5

{$IFDEF FPC} {$MODE DELPHI}

{$ENDIF}

{$APPTYPE CONSOLE} program InOutPrg;

Соседние файлы в папке ЛР по программированию FreePASCAL