Te propongo la siguiente solución:
uses crt;
type
tregistro=record
nombre:string;
end;
tfichero=file of tregistro;
var
fmezcla, fmujeres,fhombres:tfichero;
registro:tregistro;
begin
assign(fmujeres,'mujeres.dat');
assign(fhombres,'hombes.dat');
assign(fmezcla,'mezclado.dat');
rewrite(fmezcla);
rewrite(fhombres);
rewrite(fmujeres);
reset(fhombres);
reset(fmezcla);
repeat
writeln('introduzca un nombre de var¢n: ');
readln(registro.nombre);
write(fhombres,registro);
until registro.nombre='juan';
close(fhombres);
reset(fmujeres);
repeat
writeln('introduzca un nombre de mujer: ');
readln(registro.nombre);
write(fmujeres,registro);
until registro.nombre='laura';
reset(fmujeres);
reset(fhombres);
reset(fmezcla);
while not eof(fmujeres) and (not eof(fhombres)) do
begin
read(fmujeres,registro);
write(fmezcla,registro);
read(fhombres,registro);
write(fmezcla,registro);
end;
close(fmezcla);
clrscr;
reset(fmezcla);
while not eof(fmezcla) do
begin
read(fmezcla,registro);
writeln(registro.nombre);
end;
readln;
end.