Задача про опредление победителя

Решение задачи номер 5 из 17 урока с использованием процедуры, которая разбирала бы очередную строку, изменяя по ссылке значения двух переменных (одна для имени и одна для количества баллов) .

 

program project1;
  var
    I, Code,k,max,o,j: Integer;
    namePoZn,chisloPoZn,f:array [1..100] of string;
  type
    Arr = array [1..100] of string;
   Procedure q (chislo: Arr; var name,t:Arr);
     begin
       for k:=1 to Length(t[j]) do
         if  ( ( (t[j,k]>='a') and (t[j,k]<='z') ) or ( (t[j,k]>='A') and (t[j,k]<='Z') )) then
           name[j]:= name[j]+t[j,k]
         else
           if ( (t[j,k]>='0') and (t[j,k] <='9') ) then
             chislo[j]:= chislo[j]+t[j,k];
       Val(chislo[j], I, Code);
       if I>=max then
         begin
           max:=I;
           o:=j;
         end
     end;
  begin
    j:=1;
    while f[j] <> 'end'  do
      begin
        write('Massiv ',j,': ');
        readln(f[j]);
        if f[j] <> 'end' then
          q (chisloPoZn,namePoZn, f )
        else
         break;
        j:=j+1;
      end;
    writeln(' Imya pobeditelya: ',namePoZn[o]);
    writeln('Kolichtstvo ballov pobeditelya : ', max );
    readln();
  end.