Вопрос задан 11.05.2019 в 21:28. Предмет Информатика. Спрашивает Радишевская Кристина.

Написать прогу в паскале.Нужно высчитать минимальные затраты на поклейку обоями комнаты. 3вида

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

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Калесникова Вика.
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 банок клея.



0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Привет! Ниже представлен код на языке Pascal, который позволяет вычислить минимальные затраты на поклейку обоями комнаты.

``` program WallpaperCost;

var width1, width2, width3: real; // Ширина трех видов обоев type1, type2, type3: real; // Цены на три вида обоев area, windowArea, doorArea: real; // Площадь комнаты, площадь окон и дверей glueCost: real; // Цена клея totalCost: real; // Общая стоимость

begin // Ввод данных пользователем writeln('Введите ширину первого вида обоев:'); readln(width1); writeln('Введите ширину второго вида обоев:'); readln(width2); writeln('Введите ширину третьего вида обоев:'); readln(width3); writeln('Введите стоимость первого вида обоев:'); readln(type1); writeln('Введите стоимость второго вида обоев:'); readln(type2); writeln('Введите стоимость третьего вида обоев:'); readln(type3); writeln('Введите площадь комнаты:'); readln(area); writeln('Введите площадь окон и дверей:'); readln(windowArea); readln(doorArea); writeln('Введите стоимость клея:'); readln(glueCost); // Вычисление площади стен area := area - windowArea - doorArea; // Вычисление количества рулонов обоев и общей стоимости totalCost := (area / width1) * type1 + (area / width2) * type2 + (area / width3) * type3 + glueCost; // Вывод результатов writeln('Минимальные затраты на поклейку обоями: ', totalCost:0:2, ' руб.'); end. ```

В этом коде мы считываем данные от пользователя, такие как ширина трех видов обоев, их стоимость, площадь комнаты, площадь окон и дверей, а также стоимость клея.

Затем мы вычисляем площадь стен путем вычитания площади окон и дверей из общей площади комнаты.

Далее мы вычисляем количество необходимых рулонов обоев каждого вида, умножая соответствующую ширину обоев на площадь стен. Затем мы умножаем количество рулонов на соответствующую стоимость и добавляем стоимость клея.

Наконец, мы выводим общую стоимость на поклейку обоями.

Надеюсь, это помогло! Если у вас возникнут еще вопросы, не стесняйтесь задавать.

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос