Статья 396

В ходе его выполнения должна все время уменьшаться, пока не станет или отрицательным числом. Тогда цикл рано или поздно закончится. Однако, увы. Про случай следовало бы вспомнить раньше. Действительно, и при 0 выполнение цикла не окончится никогда, пока компьютер в исправности и включен.
Но так и должно быть. Ведь мы пытаемся установить, делится на у или нет, а делить отличное от нуля число на нуль запрещено. Хотя в блок-схеме программы операция деления не используется, в ней реализован подход, эквивалентный делению. Поэтому не только не определено, но и вычисления в цикле не могут завершиться с определенным результатом, если программа работает правильно. Вместе с тем, программу, способную впадать в бесконечный цикл, правильной считать не хочется.
Немного оправившись от постигшей нас неудачи в доказательстве правильности, подумаем а так же уж плохо обстоят дела.