> -- Vlad писал(а):
> Принято. Но может быть можно как-нибудь "развернуть" эти 1..8 проверок? :)Можно сделать и одну проверку, конечно, если уж очень сильно хочется:## Код:
```
PROCEDURE UnwindedLoop (from, to, count);
VAR c: INTEGER;
BEGIN
   c := cound DIV 8;
   WHILE c > 0 DO
      to^ := from^; INC (from);      to^ := from^; INC (from);
      to^ := from^; INC (from);      to^ := from^; INC (from);
      to^ := from^; INC (from);      to^ := from^; INC (from);
      to^ := from^; INC (from);      to^ := from^; INC (from);
      DEC (c)
   END;
   CASE count MOD 8 OF
   | 7:
      to^ := from^; INC (from);      to^ := from^; INC (from);
      to^ := from^; INC (from);      to^ := from^; INC (from);
      to^ := from^; INC (from);      to^ := from^; INC (from);
      to^ := from^
   | 6:
      to^ := from^; INC (from);      to^ := from^; INC (from);
      to^ := from^; INC (from);      to^ := from^; INC (from);
      to^ := from^; INC (from);      to^ := from^
   | 5:
      to^ := from^; INC (from);      to^ := from^; INC (from);
      to^ := from^; INC (from);      to^ := from^; INC (from);
      to^ := from^
   | 4:
      to^ := from^; INC (from);      to^ := from^; INC (from);
      to^ := from^; INC (from);      to^ := from^
   | 3:
      to^ := from^; INC (from);      to^ := from^; INC (from);
      to^ := from^
   | 2:
      to^ := from^; INC (from);      to^ := from^
   | 1:
      to^ := from^
   | 0:
   END
END UnwindedLoop;
```
