steger
?>

Написать прогу в паскале.нужно высчитать минимальные затраты на поклейку обоями комнаты. 3вида обоев(по ширине), 3 вида обоев(3типа обоев)+разные цены на обои, 1 вид клея, из площади комнаты вычесть площадь окон и дверей.

Информатика

Ответы

Альберт Луиза1595
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,' банок клея.')   end end. тестовое решение: введите информацию по рулонам обоев: рулон 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 банок клея.
sadinuraliev263
Ответ в комментарии,для лучшей читаемости кода. program chicla; var a,b,c,d,f,sum: integer;   sr: real; begin  writeln('ââåäèòå ïåðâîå ÷èñëî');   readln(a) ;   writeln('ââåäèòå âòîðîå ÷èñëî');   readln(b);   writeln('ââåäèòå òðåòüå ÷èñëî');   readln(c);   writeln('ââåäèòå ÷åòâåðòîå ÷èñëî');   readln(d);   f: =a+b;   if f> 20 then  begin    f: =f-10;     writeln(f);   end  else    begin    f: =f+10;     writeln(f)    end;   if b> =0 then  begin    a: =a-1;     b: =b-1;     c: =c-1;     d: =d-1;     writeln('1 ÷èñëî ïîñëå óìåíüøåíèÿ íà åäèíèöó= ',a);     writeln('2 ÷èñëî ïîñëå óìåíüøåíèÿ íà åäèíèöó= ' ,b);     writeln('3 ÷èñëî ïîñëå óìåíüøåíèÿ íà åäèíèöó= ' ,c);     writeln('4 ÷èñëî ïîñëå óìåíüøåíèÿ íà åäèíèöó= ' ,d);   end  else  begin    sr: =(a+b+c+d)/4;     writeln('ñðåäíåå àðèôìåòè÷åñêîå = ' ,sr);   end; end.
nikolotovas
A[i]-a[i-1] это сдвиг чисел фибоначчи на 1 вперед т.е. 0,1,1,2,3,5,8,13,21,34,55,89  a[i]-a[i-1]       i       0             1       - подходит       1             2    - подходит       1             3    - подходит       2             4    - подходит       3             5   - подходит       5             6   - подходит       8             7     -не подходит       13             8       21             9       34           10       55           11       89           12 s=1+2+3+4+5+6=21.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Написать прогу в паскале.нужно высчитать минимальные затраты на поклейку обоями комнаты. 3вида обоев(по ширине), 3 вида обоев(3типа обоев)+разные цены на обои, 1 вид клея, из площади комнаты вычесть площадь окон и дверей.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

gbfedak220
gallows-warlike-0z
yrgenson2011801
ВалерийАндреевна1788
fialkaflowers77
Марина
Anna Artem
dddddd68
innaglobal21
vladburakoff5
morozova4956
rinan2013
Drugov_Vladimirovna
Lyalikova
keti0290103