Program Lab_1_3;
uses crt, Types, Transf, IOGeom;

(****************************************
 * Transformarea coordonatelor:
 * Deplasarea si rotatia unui set de puncte 
 ****************************************)

const
  filein  = 'Puncte.txt';
  fileout = 'Lab_1_3.txt';
   
var
  p: TabelPuncte;
  nr, i: integer;
  a, b, alfa: real;

begin
  clrscr;

  { Citirea datelor din fisierul <filein>, daca exista }
  nr := readf_puncte(filein ,p);

  { Citirea coordonatelor punctelor de la tastatura }
  if nr = 0 then nr := introdu_puncte(p);
  
  writeln;
  writeln('Introdu coeficientii deplasarii: ');
  write(' a = '); readln(a);
  write(' b = '); readln(b);
  writeln;
  writeln('Introdu unghiul de rotatie: ');
  readln(alfa);
  
  { Afisarea coordonatelor inainte de transformare }
  write_puncte(p, nr);

  { Deplasarea setului de puncte }
  depl_rot_set_puncte(p, nr, a, b, alfa);

  { Afisarea rezultatului }
  write_puncte(p, nr);

  { Salvarea rezultatului in fisierul <fileout> }
  writef_puncte(fileout, p, nr);

  readkey;
end.
