const n = 9;type tWP = record naim: string; wide: real; leng: real; cost: real end;var WallPaper: array[1..n] of tWP; lr, wr, hr, ww, hw, wd, hd, gc, sg: real; i, nw, nd, nPanel, nWP, nRolls, index: integer; p, nPanRoll, ng, cg, C, Cmin: real;begin writeln('Введите информацию по рулонам обоев:'); for i := 1 to n do begin with WallPaper[i] do begin write('Рулон ', i, ', наименование: '); readln(naim); write('ширина, длина, стоимость: '); readln(wide, leng, cost); end; end; writeln('Длина комнаты, ширина комнаты, высота оклейки'); readln(lr, wr, hr); writeln('Ширина окна, высота окна, количество окон'); readln(ww, hw, nw); writeln('Ширина двери, высота двери, количество дверей'); readln(wd, hd, nd); writeln('Стоимость обойного клея и площадь, которую им можно оклеить'); readln(gc, sg); p := 2 * (lr + wr) - nw * ww - nd * wd; //периметр оклейки ng := p * hr / sg; if ng > int(ng) then ng := int(ng) + 1; //количество банок с клеем cg := gc * ng; // общая стоимость клея Cmin := 32768; nRolls := 0; index := 0; for i := 1 to n do with WallPaper[i] do begin // Требуемое количество полотнищ, т.е. сколько раз // ширина рулона укладывается по периметру оклейки nPanel := Trunc(p / wide); if p - nPanel * wide > 0 then nPanel := nPanel + 1; // Определяем, сколько полотнищ получается из одного рулона // при заданной высоте оклейки. nPanRoll := leng / hr; // Вычисляем, сколько потребуется рулонов nWP := Trunc(nPanel / nPanRoll); if nPanel - nWP * nPanRoll > 0 then nWP := nWP + 1; C := nWP * cost + cg; // Cтоимость поклейки обоев if Cmin > C Then begin Cmin := C; index := i; nRolls := nWP end; end; with WallPaper[index] do begin writeln('Минимальные расходы на оклейку в сумме ', CMin:0:2); writeln('получаются при использовании ', nRolls, ' рул. обоев ',naim); writeln('шириной ', wide * 100:0:2, ' при цене ', cost:0:2, ' руб.'); writeln('за рулон длиной ', leng:0:0, ' м. и ',ng,' банок клея.') endend.Тестовое решение:Введите информацию по рулонам обоев:Рулон 1, наименование: Гладкиеширина, длина, стоимость: 0.8 10 190Рулон 2, наименование: Гладкиеширина, длина, стоимость: 0.9 10 210Рулон 3, наименование: Гладкиеширина, длина, стоимость: 1.2 8 240Рулон 4, наименование: Ромбикширина, длина, стоимость: 0.8 10.5 210Рулон 5, наименование: Ромбикширина, длина, стоимость: 0.9 10 230Рулон 6, наименование: Ромбикширина, длина, стоимость: 1.1 8.5 240Рулон 7, наименование: Тисненыеширина, длина, стоимость: 0.8 10 218Рулон 8, наименование: Тисненыеширина, длина, стоимость: 0.9 9.5 224Рулон 9, наименование: Тисненыеширина, длина, стоимость: 1 9 235Длина комнаты, ширина комнаты, высота оклейки8.5 6.2 2.4Ширина окна, высота окна, количество окон1.6 1.2 1Ширина двери, высота двери, количество дверей0.95 2.2 2Стоимость обойного клея и площадь, которую им можно оклеить85 3.1Минимальные расходы на оклейку в сумме 3255.00получаются при использовании 7 рул. обоев Гладкиешириной 90.00 при цене 210.00 руб.за рулон длиной 10 м. и 21 банок клея.