Процедуры ввода и вывода Процедуры ввода Процедура read Для ввода какой-то величины надо следующим образом обратиться к этой процедуре: read(v) Здесь v – т.н. параметр ввода, в качестве которого можно использовать любую переменную типа real, integer или char (переменные других типов, в частности логического, указывать нельзя). В отношении ввода в Паскале действуют следующие соглашения. 1) Тип вводимой величины должен соответствовать типу переменной v 2) Вводимые числа должны записываться согласно правилам Паскаля. 3)процедура read не дает никакого приглашения к вводу, т.е. не показывает на экране никакого символа или текста, подсказывающего пользователю, что он должен что-то вводить. Если надо, то такое приглашение автор программы должен обеспечить сам.
клавиатура --> буфер ввода --> программа readln readln(v 1,v 2,...,v n ) (n 1) Это обращение эквивалентно следующим двум обращениям: read(v 1,v 2,...,v n ); readln
Процедуры вывода Процедура write write(z) write(z 1,z 2,...,z n ) (n 1) Параметр вывода (z i ) может быть выписан в одной из следующих трех форм: e e:m e:m:n где е - выражение типа real, integer, boolean, char или т.н. строка, а m и n - целые выражения с положительными значениями. Под строкой понимается любая последовательность символов, заключенная в (одинарные) кавычки, например: ' это строка'.
Элемент е Выражение е определяет ту величину, которая выводится,: на экран выводится значение этого выражения - число, слово true или false, символ или строка (символы и строки выводятся без кавычек). Элемент m Пусть для изображения значения е нужно d символов Если m=d, то все понятно Если m>d, то ַַַַַַַַַַ m-d d m
Если m<d, т.е. для значения е указано меньше позиций, чем надо, тогда m игнорируется – выводится ровно столько символов (d), сколько надо для е. Элемент n Этот элемент можно указывать, только если е - вещественное выражение e:m:n – вещественное число выводится в т.н. форме с фиксированной точкой: ַַַַַ[-]a 1 a 2...a k.b 1 b 2...b n n m
e:m - вещественное число выводится в т.н. экспоненциальной форме: [±]a 1. a 2 a 3...a k E±p 1 p 2 p 3 p 4 (k=m-8) m Процедура writeln writeln writeln(z 1,z 2,...,z n ) (n 1) эквивалентно последовательности: write(z 1,z 2,...,z n ); writeln;