Если переписать так, то наверное будет понятнее:
## Код:
```
MODULE Example;

   IMPORT In, StdLog;

   PROCEDURE Calc*;
      VAR k, n, max: INTEGER;
         mas: ARRAY 100 OF INTEGER;
   BEGIN
      (* заполнение массива введёнными данными *)
         n := 0;
         In.Open;
         IF In.Done THEN
            In.Int(mas[n]);
            WHILE In.Done DO
               n := n + 1;
               In.Int(mas[n])
            END
         END;

      (* n ---
         количество введёных данных (заполненных элементов массива) *)

      (* вычисление максимума, вывод результата *)
         IF n > 0 THEN
            max := mas[0];
            k := 1;
            WHILE k < n DO
               IF mas[k] > max THEN
                  max := mas[k]
               END;
               k := k + 1
            END;
            StdLog.Int(max)
         END
   END Calc;

END Example.
```
