Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

1 Kap 06 Ordnede / Sorterte lister Oppgave nr 06_02 Polynomer Klassehierarki Javadokumentasjon.

Liknende presentasjoner


Presentasjon om: "1 Kap 06 Ordnede / Sorterte lister Oppgave nr 06_02 Polynomer Klassehierarki Javadokumentasjon."— Utskrift av presentasjonen:

1 1 Kap 06 Ordnede / Sorterte lister Oppgave nr 06_02 Polynomer Klassehierarki Javadokumentasjon

2 2 Oppgave L_06_02 main Lag et program i Java som adderer to polynomer og deretter deriverer resultatet. Klassehierarki Javadokumentasjon

3 3 Valg av datastruktur -Bør velge en hensiktsmessig datastruktur. -Polynomledd kan sorteres etter stigende eksponent. To polynomer kan enklest adderes når begge polynomene er sortert. Velger å representere polynomer vha en sortert liste. Kan da velge sortert liste som sortert array eller sortert lenket liste. Klassehierarki Javadokumentasjon

4 4 Ordnede lister / Sorterte lister OrderedList:Listestruktur hvor rekkefølgen har betydning Eks:Innholdsfortegnelse i en bok SortedList:Listestruktur sortert på en nøkkel Eks:Stikkordregister i en bok Klassehierarki Javadokumentasjon

5 5 A_Object I_Comparable I_OrderedList / I_SortedList I_Container A_Container I_SearchableContainer I_OrderedList I_SortedList A_SearchableContainer OrderedListAsArrayOrderedListAsLinkedList SortedListAsArraySortedListAsLinkedList Klassehierarki Javadokumentasjon

6 6 Polynomer Et n-te ordens polynom i x: FaktorEksponent Klassehierarki Javadokumentasjon

7 7 Polynomer Alternativ representasjon Et n-te ordens polynom i x: Alternativ representasjon av polynomer: En sekvens av ordnede tall-par: Klassehierarki Javadokumentasjon

8 8 Polynomer Addisjon - Derivasjon Klassehierarki Javadokumentasjon

9 9 Polynomer Klasser:PTerm - PolynomialAsSortedList PTerm PolynomialAsSortedList Klassehierarki Javadokumentasjon

10 10 Klassen PTerm coefficient exponent getCoefficient getExponent plus differentiate compareTo PTerm Klassehierarki Javadokumentasjon

11 11 Interface I_Polynomial add plus differentiate I_Polynomial Klassehierarki Javadokumentasjon

12 12 Klassen PolynomialAsSortedList SortedListAsLinkedList list getList add plus differentiate PolynomialAsSortedList DList list insert SortedListAsLinkedList add plus differentiate I_Polynomial DList list getList insert find remove accept getEnumeration … OrderedListAsLinkedList … … DList Klassehierarki Javadokumentasjon

13 13 PTerm plus coefficient exponent public PTerm plus (PTerm arg) { if (exponent == arg.exponent) return new PTerm(coefficient + arg.coefficient,exponent) } PTerm Klassehierarki Javadokumentasjon

14 14 PTerm differentiate coefficient exponent public void differentiate ( ) { if (exponent > 0) coefficient =exponent * coefficient exponent =exponent - 1 else coefficient= 0 } PTerm Klassehierarki Javadokumentasjon

15 15 PTerm compareTo coefficient exponent public int compareTo (I_Comparable obj) { PTerm pTerm = (PTerm)obj if (exponent == pTerm.exponent) if (coefficient < pTerm.coefficient) return -1; else if (coefficient > pTerm.coefficient) return 1 else return 0 else return exponent - pTerm.exponent } PTerm Klassehierarki Javadokumentasjon

16 16 Klassen PolynomialAsSortedList add SortedListAsLinkedList list public void add (PTerm pTerm) { list.insert(pTerm) } PolynomialAsSortedList Klassehierarki Javadokumentasjon

17 17 Klassen PolynomialAsSortedList plus [1/2] SortedListAsLinkedList list public I_Polynomial add (I_Polynomial poly) { while p1 and p2 has more elements { add polynomial } while p1 has more elements { add polynomial } while p2 has more elements { add polynomial } PolynomialAsSortedList Klassehierarki Javadokumentasjon

18 18 Klassen PolynomialAsSortedList plus [2/2] SortedListAsLinkedList list public I_Polynomial add (I_Polynomial poly) { while p1 and p2 has more elements { add term fra p1 og/eller p2 } while p1 has more elements { add term fra p1 } while p2 has more elements { add term fra p2 } PolynomialAsSortedList Klassehierarki Javadokumentasjon

19 19 Klassen PolynomialAsSortedList differentiate 1 SortedListAsLinkedList list public void differentiate ( ) { list.accept (new Visitor_Differentiate_PTerm) I_Comparable zeroPTerm = list.find (new PTerm(0,0)) if (zeroPTerm != null) list.remove(zeroPTerm) } PolynomialAsSortedList Klassehierarki Javadokumentasjon

20 20 Klassen PolynomialAsSortedList Klassen Visitor_Differentiate_PTerm public class Visitor_Differentiate_PTermextendsA_Visitor{ public void visit (Object obj){ if obj != null ((PTerm)obj).differentiate( ); } Klassehierarki Javadokumentasjon

21 21 Klassen PolynomialAsSortedList differentiate 2 SortedListAsLinkedList list public void differentiate ( ) { I_Visitor visitor = new A_Visitor( ) { public void visit (Object) { ((PTerm)obj).differentiate( ) } list.accept (visitor) I_Comparable zeroPTerm = list.find (new PTerm(0,0)) if (zeroPTerm != null) list.remove(zeroPTerm) } PolynomialAsSortedList Klassehierarki Javadokumentasjon

22 22 I_OrderedList Forord Innledning DataTyper..

23 23 I_SortedList Alfsen Nilsen Olsen..

24 24 I_Cursor En cursor er et objekt som husker posisjonen til et gitt objekt i en liste og som samtidig kan benyttes til ulike operasjoner knyttet til denne posisjons-opplysningen... cursor

25 25 JBuilder 7 1.Adder DataStructures til JBuilder(utføres kun en gang) 2.Opprett et nytt prosjekt (new project) 3.Opprett nødvendige klasser (new class)

26 26 ENDEND


Laste ned ppt "1 Kap 06 Ordnede / Sorterte lister Oppgave nr 06_02 Polynomer Klassehierarki Javadokumentasjon."

Liknende presentasjoner


Annonser fra Google