Cортировка массива методом "пузырька"
Програма реализирует масив состоящий из string типов елементов и их сортирует до указынавого
елемента с меншего до большего , а дальше (после указынавого елемента) с большего до меньшего елемента. Програма читает данные(текст) с news.txt файла.Ответ выдаёт на екране.
В файле будет текст , сортировка с А до Z.

program prog1;

Type mas=array[1..3000] of Char;

   var    fail              :text;
          k,rezult,n      :integer;
          masyvo_element:integer;
          i,j                 :integer; {indexy masiva}
          s                  :string;
          masyv          :mas;

  BEGIN

    repeat
       writeln ('Vvedite nazvanije faila:');
       writeln('Faily: dom.txt,news.txt');
       Write('>> ');
       readln(s);
          assign(fail,s);
          {$I-}
          Reset(fail);
          {$I+}
     rezult := IOResult;
        if rezult <> 0 then
         writeln('ERROR!');
    until rezult=0;
        {
   While not eof(fail) do
         }
Begin
       writeLn('S kokogo simbola sortiruem?');
      ReadLn(fail,masyv[i]);
      {  }
End;
  Begin
    { metod puzyria  }
  for i:=1 to k-1 do
    for j:=1 to k-i do
       if masyv[j]>masyv[j+1] then
           begin
            masyvo_element:=masyv[j];
            masyv[j]:=masyv[j+1];
            masyv[j+1]:=masyvo_element;
           end;


End;
    Close(fail);
end.


Помогите исправить ошибки и докончить роботу.Человеческое спасибо.