Для ввода и вывода данных используются стандартные процедуры ввода и вывода Read и Write, оперирующие последовательными файлами INPUT и OUTPUT. В эти абстрактные файлы происходит ввод-вывод «по умолчанию» при использовании процедур Read и Write.
В программе используются две процедуры ввода: Readln и Read.
Они используются для чтения данных, вводимых с клавиатуры. Общий формат этих операторов следующий:
Read(<список ввода>);
Readln(<список ввода>);
Readln;
Элементами списка ввода могут быть только переменные. Ввод с клавиатуры элементов типа Boolean запрещен. Элементы списка ввода разделяются запятыми.
Пример: Read(a,b,c,d);
Read(<список ввода>) – осуществляет ввод в память ЭВМ (чтение) списка ввода с одной строки. Указатель ввода остается на этой же строке.
Readln(<список ввода>) – осуществляет ввод списка с одной строки и переводит указатель ввода на начало следующей строки.
Readln – переводит указатель ввода на начало следующей строки.
При вводе исходных данных происходит преобразование из внешней формы представления во внутреннюю, определяемую типом переменных. Переменные, образующие список ввода, могут принадлежать либо к целому, либо к действительному, либо к символьному типам.
Операторы ввода при чтении значений переменных целого и действительного типа пропускают пробелы, предшествующие числу (т.е. при вводе числа можно отделять друг от друга пробелами). В то же время эти операторы не пропускают пробелов, предшествующих значениям символьных переменных, так как пробелы являются равноправными символами строк.
Значения исходных данных могут также отделяться друг от друга нажатием клавиш табуляции и Enter.
Также в программе используется две процедуры вывода: Write и Writeln. Они используются для вывода значений переменных на экран монитора. Общий формат этих операторов следующий:
Write(<список вывода>);
Writeln(<список вывода>);
Writeln;
Элементами списка вывода могут быть константы, переменные, выражения. Элементы списка вывода разделяются запятыми.
Пример: Write(a,b,c);
Write(<список вывода>) – осуществляет вывод (запись) списка в одну строку. Указатель записи остается на этой же строке.
Writeln(<список вывода>) – осуществляет вывод списка в одну строку. После вывода последнего элемента списка помещает признак конца строки и переводит указатель записи на начало следующей строки.
Writeln – помещает признак конца строки и переводит указатель записи на начало следующей строки.
Элементом вывода может быть целое или вещественное число (3,42,-1732.3), символ ('а','Z'), строка ('Hello') или логическое значение (True). Кроме того, им может быть именованная константа, переменная, разыменованный указатель или обращение к функции, если она возвращает значение, которое имеет целый, вещественный, символьный, строковый или булевский тип.
Любой элемент списка вывода может быть выведен в формате
a : m,
где a – элемент списка вывода, m – формат, т. е. количество позиций, отводимых для вывода элемента. Выравнивание осуществляется по правому краю поля вывода.
Для вывода действительных чисел формат в общем случае имеет вид: