profile
Размещено 5 лет назад по предмету Информатика от Аккаунт удален

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

  1. Ответ на вопрос
    Ответ на вопрос дан Аккаунт удален
    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 банок клея.



Не тот ответ на вопрос, который вам нужен?
Найди верный ответ
Самые новые вопросы
tegysigalpa2012
Русский язык - 6 лет назад

Помогите решить тест по русскому языку тест по русскому языку «местоимение. разряды местоимений» для 6 класса 1. укажите личное местоимение: 1) некто 2) вас 3) ни с кем 4) собой 2. укажите относительное местоимение: 1) кто-либо 2) некоторый 3) кто 4) нам 3. укажите вопросительное местоимение: 1) кем-нибудь 2) кем 3) себе 4) никакой 4. укажите определительное местоимение: 1) наш 2) который 3) некий 4) каждый 5. укажите возвратное местоимение: 1) свой 2) чей 3) сам 4) себя 6. найдите указательное местоимение: 1) твой 2) какой 3) тот 4) их 7. найдите притяжательное местоимение: 1) самый 2) моего 3) иной 4) ничей 8. укажите неопределённое местоимение: 1) весь 2) какой-нибудь 3) любой 4) этот 9. укажите вопросительное местоимение: 1) сколько 2) кое-что 3) она 4) нами 10. в каком варианте ответа выделенное слово является притяжательным местоимением? 1) увидел их 2) её нет дома 3) её тетрадь 4) их не спросили

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.