5-й вариант. обратите внимание на условие: если a больше b, то вычислить a - b. в противном случае, т.е., если b больше или равно a, вычисляется b-a. однако, в неточность. строка else b: =b-a должна выглядеть вот так: else a: =b-a. иначе, в случае, если второе число больше или равно первому, то выводится первое, а результат вычислений нигде не используется и не показывается. в доказательство моих слов давайте рассмотрим два варианта 1) a=5; b=1 условие выполняется, происходит вычисление 5-1, результат которого помещается в переменную a, которая потом выводится на экран. т.е. на экране будет напечатано 4. 2) a=2; b=3 условие не выполняется, переход к блоку else, где происходит вычисление 3-2, результат которого помещается в переменную b. однако, на экран выводится переменная a, которая содержит двоечку. таким образом, либо при постановке допущена ошибка, либо в перечне допустимых вариантов отсутствует правильный ответ.
Нина1449
10.05.2020
//pascalabc.net 3.2 сборка 1318 var n,i,count: integer; s: string; procedure numprin(counter,last: integer; num: string); var i: integer; begin if not ((last=10) and (n-counter< > 1)) then if counter< > n then for i: =last+1 to 9 do numprin(counter+1,i,num+inttostr(i)) else writeln(num); end; begin readln(n); dec(n); count: =0; for i: =1 to 9 do begin s: =inttostr(i); numprin(count,i,s); end; end.