niedziela, 14 października 2012

Spotkanie 4. Rozwiazywanie problemów.

Algorytm – w matematyce oraz informatyce skończony ciąg jasno zdefiniowanych czynności, koniecznych do wykonania pewnego rodzaju zadań. Ma on przeprowadzić system z pewnego stanu początkowego do pożądanego stanu końcowego. Badaniem algorytmów zajmuje się algorytmika. Algorytmy występują też w życiu codziennym, przykładem są przepisy kulinarne, które krok po kroku ukazują nam jak mamy przygotować daną potrawę.

Problem kasjera - kasjer ma wydać resztę, przy użyciu minimalnej liczby monet. Rozwiązanie oparte na algorytmie zachłannym, czyli wykonuje zawsze działanie, które wydaje się w danej chwili najkorzystniejsze. Najpierw używamy monety o największej dopuszczalnej wartości, redukując w ten sposób problem do wypłacenia mniejszej kwoty.

Algorytm ten można przedstawiać na wiele sposobów, oto kilka z nich:

Sposób 1. Opis słowny algorytmu wydawania reszty.

Dane: Kwota pieniędzy do wydania, nominały banknotów i bilonu uporządkowane malejąco
Wyniki: Ilość poszczególnych nominałów banknotów i bilonu
Krok 1: Ustalenie wartości początkowych
Krok 2: Sprawdzamy, ile razy najwyższy nominał mieści się w kwocie do wydania
Krok 3: Obliczamy resztę do wydania: poprzednia kwota - obliczona ilość * nominał
Krok 4: Przechodzimy do niższego nominału
Krok 5: Jeśli reszta do wydania = 0 [stop] w przeciwnym razie powtarzamy kroki 2 - 4


Sposób 2. Schematy blokowe.
 lub 


Jak widać, schemat drugi jest nieco bardziej skomplikowany od pierwszego, jednakże oba przedstawiają to samo.


Sposób 3. Rozwiązanie w Excelu.



Sposób 4. VBA


Po kliknięciu w przycisk „Wydanie reszty” pojawia się nam okno, w którym wpisujemy kwotę reszty do wydania. Po kliknięciu „ok” ukazuje się nam …


Sposób 5. Turbo Pascal

Turbo Pascal to jeden z podstawowych programów do pisania innych programów, obecnie jest rzadko używany – został wyparty przez inne, jednakże dzięki jego prostocie możemy z łatwością użyć go do rozwiązania problemu kasjera.


Sposób 6. C++

Tak jak wyżej.

Brak komentarzy:

Prześlij komentarz