Если я правильно понял задание,то исходя из выше сказанного вот что у меня получилось:
- Код: Выделить всё
- var
 start,track:byte;
 i,timeout,n:byte;
 que:string;
 kwant:integer;
 f:text;
 begin
 assign(f,'C:\Files for Program Pascal\Disk.in');
 reset(f);
 read(f,timeout);
 readln(f);
 kwant:=0; start:=0;
 que:='';
 while not eoln(f) do begin
 read(f,n);
 que:=que+chr(n);
 end;
 readln(f);
 while length(que)>0 do begin
 track:=ord(que[1]);
 if track>start then
 for i:=start+1 to track do begin
 inc(kwant);
 if (kwant mod timeout=0) and (not eof(f)) then begin
 while not eoln(f) do begin
 read(f,n);
 que:=que+chr(n);
 end;
 readln(f);
 end;
 end
 else if track<start then
 for i:=start-1 downto track do begin
 inc(kwant);
 if (kwant mod timeout=0) and (not eof(f)) then begin
 while not eoln(f) do begin
 read(f,n);
 que:=que+chr(n);
 end;
 readln(f);
 end;
 end;
 delete(que,1,1);
 inc(kwant);
 if (kwant mod timeout=0) and (not eof(f)) then begin
 while not eoln(f) do begin
 read(f,n);
 que:=que+chr(n);
 end;
 readln(f);
 end;
 start:=i;
 end;
 close(f);
 writeln(kwant);
 readln;
 end.
Проверьте правильность решения и понимания задания.




