М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Bayu1410
Bayu1410
26.11.2020 01:12 •  Информатика

Начальнику отдела информатизации, поручили каталогизировать имеющееся у него оборудование в серверной комнате. Для этого он по тебя написать две функций, первая функция adddevice() - в новый ярлык должна добавлять следующее по порядку устройство серверной с соответствующей остаточной стоимостью, а вторая printlabel() печатать последний заполненный ярлык со всеми устройствами, их стоимостью и суммой по всему ярлыку. Если последний ярлык итак уже был распечатан, а в новый ничего не добавляли, то функция printlabel() ничего не должна делать.

Sample Input:

adddevice('Процессор', 1500)

print_receipt()

adddevice('Оперативная память', 1700)

print_receipt()

adddevice('Монитор', 15200)

adddevice('Принтер', 7300)

adddevice('Клавиатура', 550)

print_receipt()

print_receipt()

adddevice('Монитор', 7150)

adddevice('Мышь', 215)

# Отмена ярлыка. Данный ярлык не печатается.

Sample Output:

Ярлык 1

Процессор - 1500

Итого устройств: 1

Сумма: 1500



Ярлык 2

Оперативная память - 1700

Итого устройств: 1

Сумма: 1700



Ярлык 3

Монитор - 15200

Принтер - 7300

Клавиатура - 550

Итого устройств: 3

Сумма

👇
Открыть все ответы
Ответ:
Стариат
Стариат
26.11.2020
//PascalABC.NET
//Версия 3.3, сборка 1634 (14.02.2018)

begin
  var (cost, t, k) := (Arr(15, 70, 125, 230, 440), Arr(1, 5, 10, 20, 60), new integer[5]);
  var n := ReadInteger('n->');
  for var i := 4 downto 0 do
  begin
    k[i] := n div t[i];n := n mod t[i];
  end; 
  if k[0] * cost[0] >= cost[1] then begin k[0] := 0;inc(k[1]); end;
  if k[0] * cost[0] + k[1] * cost[1] >= cost[2] then 
  begin
    k[0] := 0;k[1] := 0;inc(k[2]); 
  end;
  if k[0] * cost[0] + k[1] * cost[1] + k[2] * cost[2] >= cost[3] then 
  begin
    k[0] := 0;k[1] := 0;k[2] := 0;inc(k[3]);
  end;
  if k[0] * cost[0] + k[1] * cost[1] + k[2] * cost[2] + k[3] * cost[3] >= cost[4] then 
  begin
    k[0] := 0;k[1] := 0;k[2] := 0;k[3] := 0;inc(k[4]); 
  end;
  
  for var i := 0 to 4 do WritelnFormat('{0} билет(ов)- {1} штук(а)', t[i], k[i]);
end.

Пример(1):
n-> 37
1 билет(ов)- 0 штук(а)
5 билет(ов)- 0 штук(а)
10 билет(ов)- 0 штук(а)
20 билет(ов)- 0 штук(а)
60 билет(ов)- 1 штук(а)

Пример(2):
n-> 35
1 билет(ов)- 0 штук(а)
5 билет(ов)- 1 штук(а)
10 билет(ов)- 1 штук(а)
20 билет(ов)- 1 штук(а)
60 билет(ов)- 0 штук(а)
4,7(10 оценок)
Ответ:
naletova1974
naletova1974
26.11.2020

Скорее всего большое приемущество обработки данных с электронных  таблиц  в том ,что при такой обработке  допущение ошибки минимально (  это уже зависит от человека ,где он неправильно ввёл данные ) . Если же обрабатывать таблицу вручную ,то верояность допущения ошибок велика!
Так же преимущество  в том ,что при обработке информации при таблицы  намного быстрее проходит этот процесс ,нежеле ты сама  будешь всё  проверять .
Ну и конечно же  люди сейчас настолько ленивы ,чтобы самостоятельно обрабатывать какую-либо информацию, поэтому мы всё доверяем исскуственному разуму:) 

4,4(89 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ