> -- Comdiv писал(а):
> В случае невозможности прочитать - , x остаётся неинициализированной

Вот так было бы правильно?
## Код:
```
PROCEDURE MW*;
VAR
x : INTEGER;
BEGIN
   In.Open; In.Int(x);
   IF In.Done THEN
      Out.Int(x,1); Out.String(" в квадрате это ");
      Out.Int(Quadrat(x),1);
      Out.String("."); Out.Ln;
   END
END MW;
```


Давно не заходил в этот модуль, и никогда не анализировал, так что удивился, что глобальная переменная не соответствует соглашению об именовании переменных.
Должно быть## Код:
```
IF In.done THEN
```
с маленькой буквы.

Видимо это объясняется тем, что для книги так надо
> -- Цитата:
> This module is provided for compatibility with the book "Programming in Oberon" by Reiser/Wirth. It is useful when learning the language. It is not recommended for use in production programs.