В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
даниля3
даниля3
28.03.2022 15:48 •  Информатика

Начальнику отдела информатизации, поручили каталогизировать имеющееся у него оборудование в серверной комнате. Для этого он по тебя написать две функций, первая функция 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

Сумма

Показать ответ
Ответ:
Маруся203
Маруся203
29.05.2020 16:09
1. Современный эффективный код

PascalABC.NET 3.3.5, сборка 1659 от 09.04.2018
Внимание! Если программа не работает, обновите версию!

begin
  var (x,y):=ReadInteger2('Введите через пробел два числа:');
  if (x<0) or (y<0) then Writeln('Ввод отрицательных чисел недопустим')
  else begin
    while y>0 do (x,y):=(y,x mod y);
    Writeln('НОД=',x)
    end
end.

Примеры
Введите через пробел два числа: 14 -2
Ввод отрицательных чисел недопустим

Введите через пробел два числа: 32 76
НОД=4

2. Традиционный "школьный" код

var
  x,y,t:integer;

begin
  Write('Введите через пробел два числа: ');
  Read(x,y);
  if (x<0) or (y<0) then Writeln('Ввод отрицательных чисел недопустим')
  else begin
    while y>0 do begin
      x:=x mod y;
      t:=x; x:=y; y:=t
      end;
    Writeln('НОД=',x)
    end
end.
0,0(0 оценок)
Ответ:
ala4ka
ala4ka
29.05.2020 16:09
Var a,b,i,nod:integer
Begin
a:=-1;
b:=-1;
//ввод первого числа
Writeln('Введите первое число');
While a<0 do
begin
readln(a);
if a<0 then writeln('Ввод ошибочен, повторите ввод первого числа');
end;
//ввод второго числа
Writeln('Введите второе число');
While b<0 do
begin
readln(b);
if b<0 then writeln('Ввод ошибочен, повторите ввод второго числа');
end;
//определение минимального числа
if a>b then i:=b else i:=a;
//перебор чисел от минимального до 0 (т.к. НОД не может быть больше минимального числа)
While nod=0 do
begin
i:=i-1;
if (a mod i = 0) and (b mod i = 0) then nod:=i;
end;
//вывод НОД
Writeln('НОД ', a,' и ', b, ' = ', nod);
end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота