Page 7 - Informatyka na czasie. Podejście zachłanne w rozwiązywaniu problemów. Podręcznik klasa 3
P. 7

4. Podejście zachłanne w rozwiązywaniu problemów


                                                                             Fragment kodu
                 1.  const int N = 9;                                        źródłowego programu
                 2.  const float NOMINALY[N] = {5, 2, 1, 0.50, 0.20, 0.10,   Wydawanie reszty
                 3.                           0.05, 0.02, 0.01};
                 4.
                 5.  void WydajReszte(float reszta)
                 6.  {
                 7.      int i = 0;
                 8.      while (reszta>0 && i<N)
                 9.      {
                 10.         if (reszta >= NOMINALY[i])
                 11.         {
                 12.             cout << NOMINALY[i] << endl;
                 13.             reszta = reszta - NOMINALY[i];
                 14.         }
                 15.         else i++;
                 16.     }
                 17. }

                 W linii 1 zdefiniowaliśmy stałą N, która określa liczbę nominałów,
               a w liniach 2–3 stałą tablicową o nazwie NOMINALY, wypełnioną war-  Stała tablicowa
               tościami nominałów. Słowo const przed typem i nazwą tablicy ozna-
               cza, że zawartość tablicy nie może się zmienić w trakcie wykonywania
               programu.
                 W liniach 5–17 jest zapisana funkcja WydajReszte typu void, któ-  Funkcja niezwracająca
               rej zadaniem jest wyznaczanie i wypisywanie na ekranie kolejnych   wartości (typu void),
               nominałów potrzebnych do wydania reszty. Monet któregoś nomina-  s. 248 
               łu w wydawanej reszcie może nie być wcale, a monet innego nominału
               może być kilka. Dlatego też przed przejściem do kolejnego nominału
               (linia 15) sprawdza się warunek z linii 10.
                 Rysunek 4.3 przedstawia przykładowe wywołanie programu
               Wydawanie reszty.












               Rys. 4.3. Wywołanie programu wydawanie_reszty.exe dla kwoty 4 zł 78 gr


                 Ćwiczenie 4
                 W pliku wydawanie_reszty.cpp zapisz pełen kod źródłowy programu
                 i skompiluj go. Sprawdź działanie programu dla różnych wartości
                 reszty, w tym dla 7.30, 7.79 i 7.85.

                                                                                              67
   2   3   4   5   6   7   8   9   10   11   12