Задача 53-г. Глупый винчестер.
 Добавлено: 27.02.2013 23:03:42
Добавлено: 27.02.2013 23:03:42Здравствуйте Олег Виленович!Что-то долго я силился понять что нужно сделать в этом задании.Значит так,начальное положение головки считаем за 0,считываем из файла сначала период проверки очереди,затем строки с цифрами это будут номера дорожек.Перемещение головки от начальной до следующей равно 1 кванту+1 квант на чтение/запись дорожек.Например нужно переместиться с 0 до 10 дорожки и с 10 до 5.Значит время передвижения головки от начальной точки до нужной дорожки и чтение/запись с них будет равно  17 квантам(15 на передвижение головки,2 на чтение/запись данных с дорожек,по 1-ому обороту на каждую).По истечении периода добавляем в очередь новые числа(дорожки) если конечно они не закончились.
Если я правильно понял задание,то исходя из выше сказанного вот что у меня получилось:
Проверьте правильность решения и понимания задания.
			Если я правильно понял задание,то исходя из выше сказанного вот что у меня получилось:
- Код: Выделить всё
- 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.
Проверьте правильность решения и понимания задания.