1 Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnychAndrzej Majkowski informatyka +
2 Razem można więcej – podstawy pracy grupowej Andrzej Ptasznik
3 Algorytm wydawania resztyAlgorytm wydawania reszty to znany problem algorytmiczny jak wydać określoną kwotę mając do dyspozycji zbiór nominałów. Najczęściej omawiane rozwiązania: Metoda zachłanna Metoda dynamiczna Dwa warianty algorytmu: Nieokreślona liczba poszczególnych nominałów Określona liczba poszczególnych nominałów
4 Algorytm wydawania resztyProponowane rozwiązanie Podejście obiektowe Wykorzystanie rekurencji w metodzie konstruktora klasy
5 Elementy rozwiązania algorytmuDeklaracja klasy Nominal class Nominal { public int Wartosc; public int Liczba; public Nominal(int war, int li) Wartosc = war; Liczba = li; } Atrybuty klasy Metoda konstruktora Kolekcja obiektów klasy Nominal określa warunki realizacji algorytmu.
6 Elementy rozwiązania algorytmuDeklaracja klasy Element Składowe statyczne Metody Klasy Kolekcja Element jest podstawą rozwiązania algorytmu wydawania reszty.
7 Elementy rozwiązania algorytmuMetoda Start public static void Start() { Nominaly.Add(new Nominal(200, 1)); Nominaly.Add(new Nominal(100, 3)); Nominaly.Add(new Nominal(50, 1)); Nominaly.Add(new Nominal(20, 15)); Nominaly.Add(new Nominal(10, 3)); Nominaly.Add(new Nominal(5, 16)); Nominaly.Add(new Nominal(2, 7)); Nominaly.Add(new Nominal(1,10)); foreach (Nominal tmp in Nominaly) if (tmp.Wartosc > MaxNominal) MaxNominal = tmp.Wartosc; } Ustalenie zbioru dostępnych nominałów Ustalenie wartości składowej MaxNominal nominałów Zadaniem metody jest inicjacja dostępnej kolekcji nominałów
8 Elementy rozwiązania algorytmuKonstruktor klasy Element Wywołanie konstruktora klasy Element Znaleziono rozwiązanie Przy określonych warunkach w konstruktorze wywoływany jest kolejny konstruktor klasy Element.
9 Elementy rozwiązania algorytmuMetoda Main Istota rozwiązania sprowadza się do utworzeniu obiektu klasy Element Wynik działania dla zadanej kwoty
10 Wykorzystanie algorytmuObszar definiowania zadania Obszar prezentacji wyniku
11 Wykorzystanie algorytmuGraficzna prezentacja wyszukanej reszty. Ustalanie parametrów zadania Przykładowe działanie programu
12 Podsumowanie Analiza rozwiązania algorytmu i odpowiedź na pytania:Czy algorytm gwarantuje znalezienie rozwiązania w zbiorze nominałów (o ile rozwiązanie istnieje)? Czy algorytm gwarantuje wydanie reszty najmniejszą liczbą nominałów? Czy algorytm umożliwia odnalezienie wszystkich możliwych kombinacji utworzenia zadanej kwoty z dostępnego zbioru nominałów? Wykorzystując omówiony algorytm można tworzyć programy symulujące działanie różnych urządzeń.
13