# i:=1 to 8 do begin

i:=1 to 8 do begin {Цикл по значению длины комнаты} max:=St2(i)-1; fillchar(B,sizeof(B),0); B[0,0]:=1; for j:=1 to 20 do begin {Цикл по значению ширины комнаты} for k:=0 to max do {Сечение с номером k} for l:=0 to max do{Сечение с номером l} if Can(k,l,i) then B[k,j]:=B[k,j]+B[l,j-1];{Совместимость сечений «зарыта» в функции Can(k,l,i)} A[i,j]:=B[0,j]; end; end; end; Остался открытым вопрос о совместимости сечений. В этом случае необходимо различать понятия совместимость сечений в целом и совместимость в отдельном разряде. При анализе последнего входными данными являются значения разрядов сечений и информация о предыстории процесса (до текущего разряда) - целое или нецелое количество плиток уложено (значение переменной b). Выходными данными - признак - целое, нецелое количество плиток, требуемых для перевода сечения l в сечение k, или решение о том, что анализ продолжать не следует - сечения несовместимы. В данном случае этапу написания логики предшествует

Индекс
Элементарные функции Линейные уравнения Нелинейные уравнения Случайные числа