where all occurrences of f denote a single variable. 

Readln (f) is equivalent to thl statement 

where all occurrences of f denote a single variable. 

## 12.3. Write 

begin while not eoln(f) do ct(f); Get (f) end 

When using Write on a textfile. the following rules apply. Let f denote a textfile, p, p1, ... , pn dellote WriteParameters, e denote an expression, and m and n denok integer expressions. The actual parameter list for write must have t he following syntax. 

WriteParameterList = "(" ( FileVariall/e I WriteParameter) { "," Write? Irameter } ")" . WriteParameter = Expression [":" Int. ~I'rExpression [":" IntegerExpression]]. 

(a) Write (p1, ... ,pn) is equ,valent to Write (g,p1, ... ,pn). 

where g denotes the textfil: program parameter Output. 

(b) Write (f, p1, ... , pn) is quivalent to the statement begin Write (f, p1) .... ; Write (f, pn) end where all occurrences of 1 denote a single variable. 

(c) Write (f, p) is an error if! is undefined or not in generation mode. 

(d) Each write parameter has one of the following forms: 

e e:m e:n : n 

e represents the value to h' "written" on f, and m and n are so-called field-width parameters. It is an error if either m or n is less than I r equal to zero. The type of e must be either Integer, Rr II. Char, Boolean, or a string type. The expression n IT I Y occur only if e is of type Real (see Section 12.3.3). f fI is omitted, a default value is assumed. The default val Ie is implementation-defined if e is oftype Integer, Real. or Boolean. The default value for type Char is 1, and the d ~ fault value for a string type is the number of component~ in the string. 

If the representation of the value of e requires fewer than m characters, then il is preceded by an adequate number of spaces so that ex .lCtIy m characters are written. 

