type point = record x, y: extended; end; function add(p, q: point): point; var tmp: point; begin tmp.x := p.x + q.x; tmp.y := p.y + q.y; add := tmp; end; function scalar(p, q: point): extended; begin scalar := p.x * q.x + p.y * q.y; end; procedure read_point(var p: point); begin read(p.x, p.y); end; procedure print_point(p: point); begin write(p.x :0:6, ' ', p.y :0:6); end; var p, q, s: point; begin read_point(p); read_point(q); print_point(add(p, q)); end.