https://github.com/kemiisto/ModernProgr ... al/03/BBCB
https://github.com/kemiisto/ModernProgr ... al/04/BBCB(аналогичная)
В решении задачи 03, автор, наверное, не учитывает, что процедуры чтения не требуют предусловием In.Done:## Код:
```
In.Open;

    sum := 0;
    WHILE In.Done DO
      In.Int(n);
      IF In.Done & (n >= 0) THEN
        sum := sum + n;
      END;
    END;

    StdLog.Int(sum);
```
Если учитывать, получается шаблонная схема полного прохода с фильтрацией:## Код:
```
In.Open;

    sum := 0; In.Int(n);
    WHILE In.Done DO
      IF n >= 0 THEN sum := sum + n END;
      In.Int(n)
    END;

    StdLog.Int(sum);
```
По-моему, это решение более ясное. Надеюсь, уважаемыйkemiisto(автор), согласится.