procedure vread(f: string; var r: scalar; var v: vector); var i,n: integer; s1,s2,s3,sf: scalar; s: longstring; t: text; begin { vread } write('(vread ',trim(f)); flush(output); reset(t,f); readln(t,n); if n0) then rtowinfty(u); end; sf:=sone; szero(s3); for i:=vdim to n do begin with s1 do begin readln(t,s); srset(s,l); if trunc and (l.si<0) then rtowinfty(l); readln(t,s); srset(s,u); if trunc and (u.si>0) then rtowinfty(u); end; sprod(sf,s1,s2); sunion(s3,s2,s1); s3:=s1; sprod(sf,r,s1); sf:=s1; ismult(i+1,sf); end; sabs0(s3,v[vdim]); end; write(')'); flush(output); end { vread };