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

Slides:



Advertisements
Liknende presentasjoner
Repetisjon innkapsling static tabell av primitiv datatype LC191D Videregående programmering Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring.
Advertisements

Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring
Litt mer om PRIMTALL.
Programmering i Java versjon august 2004 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Kap 04 Lister. Listestrukturer Listestrukturer hensiktsmessige ved såkalte flyktige tabeller (tabeller med relativt mye innsetting/sletting)
Uke 10 - Sortering, og hvordan lage en klasse for et klassebibliotek 21 okt. 2003, Arne Maus Inst. for informatikk, UiO.
Kontrollstrukturer (Kapittel 3)
Matematisk Induksjon.
1 Java 6 Mer om metoder Tekster Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk Universitetet i Oslo.
1 Litt om OO og programmering Arne Maus. 2 OO og Java (og C++, C#)  Arven fra Simula  Programstruktur i Java  Generering av objekter  Beskyttelse.
Programmering i Java versjon januar 2005 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Kap.8 Sortering og søking sist oppdatert • Del 1 Søking - lineær søking m/u sorterte elementer - binærsøking - analyse • Del 2 Sortering - ”gamle”
Java 12 Mer filbehandling - skrive til fil HashMap Et større eksempel Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk Universitetet.
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
Java 4 Mer om forgreninger While-løkker Ole Christian Lingjærde
Objekt, Instanser og referanser + litt til. Objekter  Instanser  En instans er et objekt av en bestemt klasse  Instanser blir laget ved å kalle klassens.
Java 14 Et eksempel fra bioinformatikk: analyse av biologiske sekvenser Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk Universitetet.
Kap 02 Kombinatorikk Kombinatorikk er den delen av algebra som er tilknyttet nummerering og telling.Kombinatorikk/kombinasjonsanalyse er hensiktsmessig.
Programmering i Java versjon august 2004 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Eiendomregister mars 2002 Arne Maus. import java.util.*; import inf101.*; /* Klasse med main() som starter hele programmet */ class EiendomsregisterMain.
C# for javaprogrammerere
1 Øvingsforelesning Andreas Knudsen Nils Grimsmo
En gang til!? .
Kap 06 Ordnede / Sorterte lister. Ordnede lister / Sorterte lister OrderedList:Listestruktur hvor rekkefølgen har betydning Eks:Innholdsfortegnelse i.
1 App_A_17 Et eksempel på OOP knyttet til 2-dim figurer.
Objekt Orientert Programmering (OOP). Objektorientering (OO)1/6 Objektorientering er en grunnleggende måte å organisere komplekse fenomener på.
Kap 01 Innledning I dette kapitlet skal vi se litt følgende hovedtemaer: - Kursoppbygging - Hva er algoritmer og datastrukturer - Anvendelser - …
Introduksjon til Java 5.0. Hva er nytt i 5.0? Generiske typer For-løkke med iterator (for-hver løkke) Automatisk innpakking av primitive typer Metadata.
1 Kap 08 Kø. 2 Kø - Definisjon En kø (eng queue) er en lineær struktur hvor elementer kan innsetttes kun i den ene enden av listen, kalt bak, og fjernes.
Kap 05 Abstrakte datastrukturer. Arv - Implementering Interface / Abstrakte klasser / Konkrete klasser Concrete classAbstract class Interface extends.
Kap 02 Tabeller / Tabelloperasjoner. Enkeltvariable Les inn nedbørmengde for årets 12 måneder: Les n1 Les n2 … Les n12 n1 n2 n12.
Kap 10 Graf.
Design Patterns Iterator & Mediator. Gruppe 8 Presentasjonsgruppe:Resten av gruppen: Marianne AtesAndrè Johansen Tom Vidar LundeHege-Kristin Johansen.
Programmering i Java versjon desember 2002 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
Programmering i Java versjon august 2004 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
INF 295 Algoritmer og datastrukturer Forelesning 7 ADT Lister, Stakker og Køer Hans Fr. Nordhaug (Ola Bø)
INF 295 Algoritmer og datastrukturer Forelesning 9a Søketrær Hans Fr. Nordhaug (Ola Bø)
INF 295 Algoritmer og datastrukturer Forelesning 6 ADT Lister, Stakker og Køer Hans Fr. Nordhaug (Ola Bø)
INF 295 Algoritmer og datastrukturer Forelesning 9b Balanserte (binære) trær Hans Fr. Nordhaug.
Figur 1 Behov. Figur 2 Behov Figur 3 Prioritering/ressursinnsats.
Andre funksjoner. Her kommer en beskrivelse av søkefunksjoner, knapper og annen funksjonalitet. 2.
OOT Seminar H-97 CORBA Praktisk del. Valg av ORB implementasjon n Har valgt å bruke Visigenic sin ORB implementsjon n ORB’en er 100% Java kodet n Bygger.
Å lese tall fra en fil, klassen Scanner 1.Et Scanner-objekt kan knyttes til et strømobjekt eller til en streng. 2.Kan skanne teksten etter data av ulike.
02 - Java datatyper Grundlæggende om datatyper og variable.
1 Pointere, referencer, struct’s mv.. 2 Erklæringer Eksempel på erklæringer int i, *ip, f ( ), *fip( ), (*pfi) ( ); Erklærer en integer, en pointer til.
Tabeller Dette er en tabell, eller array. Den kan defineres sånn som dette: public int[] heltallsTabell = new int[11]; //Her er 11 tabellens lengde for.
Inflation og produktion 11. Makroøkonomi Teori og beskrivelse 4.udg. © Limedesign
INF 295 forelesning 12 Repetisjon per 17. februar Hans F. Nordhaug (Ola Bø)
INF1000 (Uke 14) Resten av eksamen H03 + del av V05 Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo Are Magnus Bruaset og Anja B.
Objekt, Instanser og referanser + litt til. Objekter  Instanser  Kan sees på som det samme. Personen Per kan være både et objekt og en instans av klassen.
INF Objektorientert programmering
Programmering i Java versjon september 2002 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Ortering Mål: Se på forskjellige måter for sortering.
Object  Klassen i java  Alle klasser arver fra denne om ikke noe annet blir spesifisert  ArrayList.add(Object instans)  Alle elementer formes til Object.
Sorterings- Algoritmer Algoritmer og Datastrukturer.
Befolkning og arbejdsmarked 7. Mikroøkonomi Teori og beskrivelse © Limedesign
INF1000 (Uke 14) Eksamen V06 Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo Are Magnus Bruaset og Arild Waaler.
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
Inf1000 (Uke 10) HashMap og ArrayList
INF1000 (Uke 4) Mer om forgreninger, While-løkker
Inf1000 (Uke 5) Arrayer, filer og tekst
Containerklasser – klassifikation og brug.  Michael E. Caspersen, 2001Introducerende objektorienteret programmeringContainerklasser.2 Mange objekter.
Kapittel 12 Samlingar Samlingar og datastrukturar Ei samling (collection) blir brukt til å oppbevare og handtere andre objekt ArrayList – klassen.
Typeparametrisering Generel kode (generisk kode).
Iterator i Java boolean hasNext() E next() void remove()
Group theory I dette kapitlet skal vi se på utvidelse av lister som vi behandlet generelt i kap 04. Vi skal nå benytte klassehierarkiet som vi utviklet.
BilSalg klassedatastruktur Bil klassedatastruktur
Klassehierarki - Abstrakte datastrukturer
Utskrift av presentasjonen:

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

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

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 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 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 Polynomer Et n-te ordens polynom i x: FaktorEksponent Klassehierarki Javadokumentasjon

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

8 Polynomer Addisjon - Derivasjon Klassehierarki Javadokumentasjon

9 Polynomer Klasser:PTerm - PolynomialAsSortedList PTerm PolynomialAsSortedList Klassehierarki Javadokumentasjon

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

11 Interface I_Polynomial add plus differentiate I_Polynomial Klassehierarki Javadokumentasjon

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 PTerm plus coefficient exponent public PTerm plus (PTerm arg) { if (exponent == arg.exponent) return new PTerm(coefficient + arg.coefficient,exponent) } PTerm Klassehierarki Javadokumentasjon

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

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 Klassen PolynomialAsSortedList add SortedListAsLinkedList list public void add (PTerm pTerm) { list.insert(pTerm) } PolynomialAsSortedList Klassehierarki Javadokumentasjon

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 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 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 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 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 I_OrderedList Forord Innledning DataTyper..

23 I_SortedList Alfsen Nilsen Olsen..

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 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 ENDEND