Хорошо, я щас изменю решение, чтоб через repeat всё было. Но ещё и объясню, как работает оператор while. В программе запись такова: while (a > b) and (n <> 0) do... В переводе на русский язык ПОКА a>b и n не равно нулю ВЫПОЛНЯТЬ (оператор). То есть цикл будет выполняться, пока a>b и n не равно нулю. А когда хоть одно из этих высказываний станет ложным, цикл прекратится (вспомни алгебру логики, 1 & 0 = 0).