Программа подсчитывает оптимальное количество ящиков, коробок, одиночных дискет, которые необходимо купить при наименьших затратах- Pascal(Паскаль)

Program zad_4;
 
Uses
      Crt;
 
Const
      d1=11.50;
      k12=114.50;
      y12=1200.55;
 
Var
      kol, kolYA, kolKOR, kolD       : integer; {Переменные для хранения количества дисков}
      cenaYA, cenaKOR, cenaD, cenaVS : real;    {Переменные для хранения цены}
 
Begin
 
 ClrScr;
 
 WriteLn('Введите количество дискет, которое Вы хотите купить');
 ReadLn(kol);
 
 {Поиск количества дисков в коробках, ящиках}
 kolYA  := kol div 144;
 kolKOR := (kol mod 144) div 12;
 kolD   := (kol mod 144) mod 12;
 
 {Находим, сколько мы заплатим отдельно за диски, без коробок и ящиков}
 cenaD := d1*kolD;
 
 {Проверка оптимальности покупки одиночных дискет}
 If cenaD > k12 Then
    Begin
     cenaD  := 0;
     kolD   := 0;
     KolKOR := kolKOR + 1;
    End
 Else
    cenaD := d1*kolD;
 
 {Находим, сколько мы заплатим отдельно за диски, без коробок и ящиков}
 cenaKOR := k12*kolKOR;
 
 {Проверка оптимальности покупки одних коробок, без ящиков}
 If cenaKOR > y12 Then
    Begin
     cenaKOR := 0;
     kolKOR  := 0;
     kolYA   := kolYA + 1;
    End
 Else
    cenaKOR := k12 * kolKOR;
 
 {Находим стоимость покупки}
 cenaYA := y12 * kolYA;
 cenaVS := cenaYA + cenaKOR + cenaD;
 
 {Вывод на экран полученных результатов}
 WriteLn;
 Write('Если бы Вы покупали просто дискеты, то заплатили бы');
 WriteLn(d1*kol:8:2,' рублей');
 WriteLn;
 Write('При помощи программы Вы заплатите ',cenaVS:6:2,' если купите ');
 WriteLn(kolYA, ' ящиков, ',kolKOR, ' коробок и ',kolD, ' дисков');
 
 ReadKey;
 
End.

Leave a Comment

− 4 = 1