Download præsentationen
Præsentation er lastning. Vent venligst
Offentliggjort afMathilde Lauritsen Redigeret for ca. et år siden
1
Ændr 2. linje i overskriften til AU Passata Light AARHUS UNIVERSITET AU ARBITRARY PRECISION MICHAEL I. SCHWARTZBACH KRISTOFFER JUST ANDERSEN INSTITUT FOR DATALOGI
2
AARHUS UNIVERSITET AU Overskrift én linje Bold eller Regular TAL MED MANGE CIFRE Ubegrænset antal cifre HugeNat: ikke-negative heltal HugeRat: brøker med ikke-negativ tæller og nævner Alle sædvanlige regneoperationer HugeNat: plus, minus, gange, division, modulo, gcd, = HugeRat: plus, minus, gange, division, reciprok, =
3
AARHUS UNIVERSITET AU Overskrift én linje Bold eller Regular HUGENAT REPRÆSENTATION Java datatype: class HugeNat { HugeNat high; int low; } Low: 4 high: Low: 2 high: Low: 0 high: Low: 1 high:
4
AARHUS UNIVERSITET AU Overskrift én linje Bold eller Regular DATASTRUKTUR INVARIANT Kun visse Java objektstrukturer er lovlige HugeNat værdier Der gælder en invariant : lineær liste kun et-cifrede tal som værdier af low ingen foranstillede nuller Alle operationer (metoder): får lovlige HugeNat værdier skal aflevere lovlige HugeNat værdier
5
AARHUS UNIVERSITET AU Overskrift én linje Bold eller Regular ULOVLIGE VÆRDIER Low:-7 high: Low: 2 high: Low:17 high: Low: 0 high: Low: 8 high:
6
AARHUS UNIVERSITET AU Overskrift én linje Bold eller Regular HUGERAT REPRÆSENTATION class HugeRat { HugeNat d; HugeNat n; } Datastruktur invariant: værdien er d / n n er ikke nul brøken er forkortet, gcd( d, n ) =1
7
AARHUS UNIVERSITET AU Overskrift én linje Bold eller Regular ITERATION VS. LINEÆR REKURSION HugeNat er en lineær datastruktur Den lineære liste skal ofte gennemløbes Iteration bruger fo r- eller while -løkker Lineær rekursion bruger rekursive metodekald Rekursion er ofte meget simplere!
8
AARHUS UNIVERSITET AU Overskrift én linje Bold eller Regular ITERATIV TVÆRSUM HugeNat sumOfDigits(HugeNat h) { HugeNat s = new HugeNat(h.low); while (h.high != null) { s.plus(h.high.low); h = h.high; } return s; }
9
AARHUS UNIVERSITET AU Overskrift én linje Bold eller Regular REKURSIV TVÆRSUM HugeNat sumOfDigits(HugeNat h) { if (high == null) return h.clone(); return sumOfDigits(high).plus(low); }
10
AARHUS UNIVERSITET AU Overskrift én linje Bold eller Regular RATIONELLE TAL ER PERIODISKE Alle brøker har en bestemt decimalrepræsentation: en hel del et præfiks en periode 1/700 = 0.00142857142857142857… 1/700 = 0.00{142857} Hel del 0, præfiks 00, periode 142857
11
AARHUS UNIVERSITET AU Overskrift én linje Bold eller Regular AFHÆNGIGT AF BASIS Base 5: 1/700 = 0.0000{421300} Base 6: 1/700 = 0.00{0150352413} Base 7: 1/700 = 0.0{0033} Base 9: 1/700 = 0.{001033172751354568536386718215} Base 10;: 1/700 = 0.00{142857} Base 14: 1/700 = 0.00{3CC46A1197} Base 16; 1/700 = 0.00{5D9F7390D2A6C40}
12
AARHUS UNIVERSITET AU Overskrift én linje Bold eller Regular FANTASTISKE PRÆMIER
13
AARHUS UNIVERSITET AU
Lignende præsentationer
© 2024 SlidePlayer.dk Inc.
All rights reserved.