program editor;
uses
  crt;
const
  MAXLIN=50;
type
  Texto=array[1..MAXLIN] of string[80];

procedure edita_texto(var dados:Texto; var cont:integer);
var
  linha:string[80];
begin
  clrscr;
  writeln('Digite o texto... para terminar digite FIM.');
  writeln;
  linha:='';
  cont:=0;
  while linha <> 'FIM'
  do begin
       readln(linha);
       if linha<>'FIM'
       then begin
              cont:=cont+1;
              dados[cont]:=linha;
            end;
      end;
end;

procedure grava_arquivo(var arqtxt:text; dados:Texto; nlin:integer);
var
  cont:integer;
begin
  for cont:=1 to nlin
  do writeln(arqtxt,dados[cont]);
end;

var
  txt:Texto;
  nlin:integer;
  arq:Text;
  nomarq:string;
begin
  write('Nome do arquivo: ');
  readln(nomarq);
  assign(arq,nomarq);
  rewrite(arq);
  edita_texto(txt,nlin);
  grava_arquivo(arq,txt,nlin);
  close(arq);
end.


