паскаль оператор розгалудження.Один диск стоит 10 грн. а блок за 10 дисков 90 грн.Как...

0 голосов
40 просмотров
паскаль оператор розгалудження.
Один диск стоит 10 грн. а блок за 10 дисков 90 грн.Как оптимально сделать покупку на суму С>100 грн. Введите С, выведите калличество блоков и отдельных дисков.

Информатика (80 баллов) | 40 просмотров
Дан 1 ответ
0 голосов

Program znanija;
const
  PRICE_ONE_DISK = 10;
  PRICE_TEN_DISK = 90;
  EMPTY = 0;
  INPUT_MONEY = 'Введите количество денег: ';
  OUTPUT_PRICE = 'Купленно: ';
  OUTPUT_ONE_DISK = ' - по одному диску';
  OUTPUT_TEN_DISK = ' - по десять дисков';
  OUTPUT_MANEY = 'Осталось денег: ';
  CHAR_TABS = Chr(9);
var
  sumMoney : integer;
  countOneDisk : integer := 0;
  countTenDisk : integer := 0;
begin
  write(INPUT_MONEY);
  read(sumMoney);
 
  while((sumMoney - PRICE_TEN_DISK) >= EMPTY) do
  begin
    inc(countTenDisk);
    sumMoney := sumMoney - PRICE_TEN_DISK;
  end;
 
  while((sumMoney - PRICE_ONE_DISK) >= EMPTY) do
  begin
    inc(countOneDisk);
    sumMoney := sumMoney - PRICE_ONE_DISK;
  end;
 
  writeln(OUTPUT_PRICE);
  writeln(CHAR_TABS, countTenDisk, OUTPUT_TEN_DISK);
  writeln(CHAR_TABS, countOneDisk, OUTPUT_ONE_DISK);
  writeln(OUTPUT_MANEY, sumMoney);
end.

(574 баллов)