program GraphFile; uses Graph; function get_num(var f: text): integer; var X: integer; ch: char; begin get_num := -1; if not seekeof(f) then begin ch := #0; X := 0; while not (ch in ['0'..'9']) do read(f, ch); while (ch in ['0'..'9']) do begin X := X * 10 + (Ord(ch) - Ord('0')); read(f, ch); end; get_num := X end; end; var grdriver, grmode, x1, x2, y1, y2, r: integer; f: text; q: 1..4; c: 1..15; i, n: integer; ch: char; begin grdriver := detect; Initgraph(grdriver, grmode, ''); Assign(f, 'f.txt'); Reset(f); while not EoF(f) do begin q := get_num(f); { Read(f, q); } case q of 1: begin x1 := get_num(f); y1 := get_num(f); x2 := get_num(f); y2 := get_num(f); { Read(f, x1, y1, x2, y2); } Line(x1, y1, x2, y2); end; 2: begin x1 := get_num(f); y1 := get_num(f); x2 := get_num(f); y2 := get_num(f); { Read(f, x1, y1, x2, y2); } Rectangle(x1, y1, x2, y2); end; 3: begin x1 := get_num(f); y1 := get_num(f); r := get_num(f); { Read(f, x1, y1, r); } Circle(x1, y1, r); end; 4: begin n := get_num(f); x1 := get_num(f); y1 := get_num(f); { Read(f, n); Read(f, x1, y1); } Moveto(x1, y1); for i := 1 to n-1 do begin x2 := get_num(f); y2 := get_num(f); { Read(f, x2, y2); } Lineto(x2, y2) end; end; end; { Readln(f); } end; Close(f); Readln; end.