При этом, если строка короче 50 символов, удлинить её, вставляя равномерно между всеми словами пробелы, пока длина не достигнет 50 символов.
program PascalGuru;
uses crt;
var
f, g: text;
str: string;
{ -------------------------------------------- }
procedure insert_probel(var s: string);
label 1;
var
i: integer;
begin
1:
i := 1;
repeat
if (s[i] = ' ') and (s[i + 1] <> ' ') then
begin
insert(' ', s, i + 1);
inc(i);
end;
inc(i);
if length(s) > 50 then
exit;
until i > 50;
{ --- }
if length(s) < 50 then
goto 1;
end;
{ -------------------------------------------- }
function exchange(s: string): string;
var
i: integer;
x: string;
begin
x := '';
For i := 1 to length(s) do
x := s[i] + x;
exchange := x;
end;
{ -------------------------------------------- }
begin
clrscr;
assign(f, 'f.txt');
reset(f);
assign(g, 'g.txt');
rewrite(g);
while not eof(f) do
begin
readln(f, str);
if length(str) < 50 then
insert_probel(str)
else
str := exchange(str);
writeln(g, str);
end;
writeln('Fail "g.txt" uspeshno zapisan...');
close(f);
close(g);
readln;
end.