Перевод кода из Delphi в PascalABC.net

Узнай цену своей работы

Формулировка задачи:

Кто может перевести этот код? Заранее спасибо

Решение задачи: «Перевод кода из Delphi в PascalABC.net»

textual
Листинг программы
const many: array [1 .. 6] of Integer = (5000, 1000, 500, 100, 50, 10);   // наименование купюр
var  in_kol: array [1 .. 6] of Integer; // количество  заданных купюр
     out_kol: array [1 .. 6] of Integer;// количество потраченных купюр
     sum, tmp: Integer;
     s: string;
begin
// Очищаем массивы
for var i:=1 to 6 do
 begin
  in_kol[i]:=0;
  out_kol[i]:=0;
 end;
// Сумма для выдачи
write('Введите сумму для выдачи sum=');
readln(sum);
// Ввод количества купюр в порядке их наименования
for var i := 1 to 6 do
 begin
  write('Купюр достоинством ',many[i],'=');
  readln(in_kol[i]);
 end;
tmp := 0;
//
for var i := 1 to 6 do
 begin
// Если таких купюр нет или Купюра больше суммы - пропускаем
  if (many[i] > sum) or (in_kol[i] <= 0) then continue;
  tmp := sum div many[i];
// Проверка на количество купюр и их выдача
  if tmp <= in_kol[i] then out_kol[i] := tmp
  else out_kol[i] := in_kol[i];
// Устанавливаем новое значения заданных купюр
  dec(in_kol[i], out_kol[i]);
// Уменьшаем сумму на число выданных купюр
  dec(sum, out_kol[i] * many[i]);
// Еслии раньше времени цикла закончили выдачу -выход
  if sum = 0 then break;
 end;
// Справка
s := ' Выдано: '#13#10;
for var i := 1 to 6 do
if out_kol[i] <> 0 then
s := s + 'Купюры по ' + inttostr(many[i]) + ' в количестве ' + inttostr(out_kol[i]) + ' шт.' + #13#10;
if sum <> 0 then writeln('Не возможно выдать заданную сумму. Только так '+ #13#10 +  s)
else writeln(s);
end.

Объяснение кода листинга программы

  1. Переводим код из Delphi в PascalABC.Net
  2. Задаем массив купюр и их количество в порядке убывания номинала
  3. Вводим сумму для выдачи
  4. Вводим количество купюр в порядке их номинала
  5. Проверяем возможность выдачи купюры (если купюра больше суммы или количество купюр меньше нуля, пропускаем)
  6. Вычисляем количество купюр, которые можно выдать
  7. Уменьшаем количество заданных купюр и сумму на количество выданных купюр
  8. Проверяем, можно ли выдать заданную сумму
  9. Выводим информацию о выданных купюрах
  10. Если сумма не равна нулю, выводим сообщение о невозможности выдать заданную сумму

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.091 из 5
Похожие ответы