Глава 17 .Задача №5.Пользователь вводит в консоль строки (имя + произвольное число пробелов + балл)(пока не введёт строку "end")

Задача №5 .Урок 17

Пользователь вводит в консоль строки вида (имя + произвольное число пробелов + балл):


Вася         485
Коля       555
Юра        61
..........
....
end // признак завершения ввода

(пока не введёт строку end) -- где слева указаны имена участников, а справа -- число баллов.
Используя массив строк и массив целых чисел (пусть оба массива будут максимальной длины =3) считайте отдельно имена и баллы и определите победителя, выведя его имя и полученный им балл.

program pascal_17_5;
type a = array[1..3] of integer; // секция обьявления типов
     b = array[1..3] of string;
     
var max, i, j, num,code, str_int , name , index : integer; // секция обьявления переменных
    s, empty_str, empty_int  : string;
    int_arr : a;
    str_arr : b;
begin // начало тела основной программы
index := 0;
j := 0;
max := 0;
s := '';
while( s <> 'end' ) do
begin
  empty_str := '';
  empty_int := '';
  num := 0;
  readln( s );
  if( s <> 'end' ) then
  begin
    for i := 1 to length( s ) do // обходим строку
    begin 
      if( s[i] <> ' ' ) and ( num = 0 ) then // если условие верно 
        empty_str += s[i] // в пустую строку добавляем элемент
      else
      begin
        if( s[i] = ' ' ) then // если равна пустой строке
        begin
          num := 1; // делаем первый if невыполнимым  
          continue;  //  пропускаем если символ пустая строка
        end;
        if ( s[i] >= '0' ) and ( s[i] <= '9' ) then
          empty_int += s[i]; // добавляем в другую пустую строку символы
      end;
    end;
   j += 1; // индекс массива
   str_arr[j] := empty_str; // добавляем в массив
   Val( empty_int , str_int ,code ); // преобразуем в число
   int_arr[j] := str_int;
  end;
end;

for i := 1 to high( int_arr ) do // обходим integer  массив
begin 
  if( int_arr[i] > max ) then // если значение массива больше max
  begin
    max := int_arr[i]; // присваиваем max значение массива
    index := i; // считаем индекс string массива
  end;
end;
writeln( str_arr[index],' ', 'scored a maximum : ' , max ); // выводим 
readln();   
end.