uses crt;
var g,t:string;
begin
clrscr;
writeln('Введите список городов, окончание ввода точка:');//окончание можете свое придумать
t:='';
repeat
readln(g);
if length(g)>4 then t:=g;
until g='.';//тогда и здесь поменять
if t='' then write('Городов из более 4 букв нет!')
else write('Последний город из более 4 букв - ',t);
readln
end.
Следующий вариант
uses crt;
var g, t:string;
t1:text;
x,k, a:integer;
c:char;
begin
clrscr;
write('a=');
readln(a);
if a>0 then
begin
writeln ('введите список городов, окончание ввода точка*:');
t:='';
repeat
readln(g);
if length(g)>4 then t:=g;
until g='.';
if t='' then write ('городов из более 4 букв нет!')
else write ('последний город из более чем 4 букв - ',t);
readln
end
else
begin
assign(t1, 'doc.txt');
reset(t1);
while not eof(t1) do
begin
readln(t1,g);
if length(g)>4 then t:=g;
readln(t1);
end;
writeln(x);;
close (t1);
writeln('последний город из более чем 4 букв - ',t);
end;
end.