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

Урок 17. Явное приведение типа в Паскаль -- преобразование строки в число

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

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

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

var s: string;
    i, n, max, win: integer;
    points: array [1..3] of integer;
    names,nums: array [1..3] of string;
    toggle: boolean;
begin
  n:=1;
  while (s <> 'end') do
  begin
    writeln('write name and points');
    readln(s);
    if (s = 'end') then break;
    toggle := true;
    for i:=1 to length(s) do
      begin
        if (s[i] <> ' ') then
           begin
             if (toggle = true) then
               names[n] := names[n] + s[i] // имена в массив
             else
               nums[n] := nums[n] + s[i]   // очки в (строчный) массив 
           end
        else
          if ((length(names) <> 0) and (toggle = true)) then
            toggle := false
      end;
    n :=n + 1;
  end;

  for i:=1 to high(nums) do
    val(nums[i], points[i]);  // преобразование типа массива

  for i:=1 to high(points) do
    begin
      if (points[i] > max) then
        begin
          max := points[i];
          win := i;     // индекс победителя
        end
    end;

  writeln('winner name: ', names[win]);
  writeln('winner points: ', points[win]);
  readln();
end.
//write name and points
//human 2
//write name and points
//octopus 8
//write name and points
//cat 4
//write name and points
//end
//
//winner name: octopus
//winner points: 8