0
Петля в Eiffel следующий формат:Транслейтинг Eiffel петли для языков, которые не поддерживают инвариантов цикла/варианты
from
Init
invariant
Invariant
until
Exit
variant
Variant
loop
Body
end
Как бы вы перевести выше Эйфелеву псевдо-кода на языке, который не поддерживает инвариантов цикла/варианты? Предположим, что такой целевой язык имеет команду assert
для проверки инварианта/варианта.
Извините: не 'Variant' предикат как' Invariant'? – Elena
@Elena, 'Variant' - выражение целочисленного типа. Существует тег, связанный с ним, как и с другими утверждениями, но, в отличие от других утверждений, он не является булевым. –
Итак, в основном Эйфель проверяет, что 'Variant' уменьшается на каждой итерации, оставаясь неотрицательной, не так ли? – Elena