Другие языки программирования и технологии

Помогите составить задачу по паскалю

Тупо так:
var
T : Text;
N : Longint;
S, S1 : String;
begin
Assign(T, 'input.txt');
Reset(T);
ReadLn(T, N); ReadLn(T, S);
Close(T);
while N > 0 do begin Dec(N); S1 := S[1]; Delete(S, 1, 1); S := S + S1; end;
Assign(T, 'output.txt');
Rewrite(T, S);
Close(T);
end.
Если немного подумать, то можно вот так:
var
T : Text;
N : Longint;
S, S1 : String;
begin
Assign(T, 'input.txt');
Reset(T);
ReadLn(T, N); ReadLn(T, S);
Close(T);
N := N mod Length(S); { остаток от деления - чтобы не крутить строку лишний раз }
while N > 0 do begin Dec(N); S1 := S[1]; Delete(S, 1, 1); S := S + S1; end;
Assign(T, 'output.txt');
Rewrite(T, S);
Close(T);
end.
А если ещё немного подумать, то можно вот так:
var
T : Text;
N : Longint;
S : String;
begin
Assign(T, 'input.txt');
Reset(T);
ReadLn(T, N); ReadLn(T, S);
Close(T);
N := N mod Length(S); { остаток от деления - чтобы не крутить строку лишний раз }
S1 := Copy(S, 1, N); Delete(S, 1, N); S := S + S1; { обрезать N символов слева и дописать их справа }
Assign(T, 'output.txt');
Rewrite(T, S);
Close(T);
end.
Санек Бобров
Санек Бобров
55 442
Лучший ответ
len=length(s);
for j:=1 to n do begin
x:=s[1];
for k:=2 to len do
s[k-1]:=s[k];
s[len]:=x
end;
за небольшое вознаграждение помощь гарантирована