26.01.2014 Views

Noter og opgaver - Institut for Matematik og Datalogi

Noter og opgaver - Institut for Matematik og Datalogi

Noter og opgaver - Institut for Matematik og Datalogi

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

3.19 Rekursive funktioner <strong>Noter</strong> til Pr<strong>og</strong>rammering A<br />

Hvor output af eksemplet så ville blive:<br />

Producent: Skoda<br />

Farve: Rød<br />

Vægt: 1100<br />

Opgave 28: toString metode til tidligere klasser<br />

Opret en toString metode i Cirkel <strong>og</strong> QuadraticEquation klasserne fra det<br />

<strong>for</strong>rige afsnit. Opret et par objekter <strong>og</strong> udskriv dem.<br />

3.19 Rekursive funktioner<br />

Rekursion er helt kort beskrevet en metode der kalder sig selv.<br />

Fra matematikken kender vi fakultet: n! = n ·(n −1) ·(n −2)... 2 ·1. Det er<br />

defineret rekursivt, da n! er det samme som n·(n−1)! (nb. 0! = 1 pr definition).<br />

Det kan vi i JAVA skrive som:<br />

private static int fakultet(int n)<br />

{<br />

if(n == 0 || n == 1) {<br />

return 1<br />

}<br />

else {<br />

return n * fakultet(n-1);<br />

}<br />

}<br />

Flere sorteringsalgoritmer bruger rekursion blandt andet merge sort <strong>og</strong> quicksort.<br />

Opgave 29: Fibonacci tallene<br />

Fibonnacci tallene: 0,1,1,2,3,5,8,13,21... kan defineres rekursivt. Det n’te<br />

fibonaccital f n kan defineres som f n = f n−1 + f n−2 , sammen med f 0 = 0 <strong>og</strong><br />

f 1 = 1. Implementer en rekursiv funktion der kan beregne fibonacci tal, <strong>og</strong> lav<br />

en udskrift af de første 30 fibonnacci tal.<br />

Opgave 30: e - Eulers tal<br />

Som i måske ved: e = 1 0! + 1 1! + 1 2! + 1 3! + 1 4! + 1 5! + ...<br />

Implementer et pr<strong>og</strong>ram der finder e ud fra sumrækkens første 10 led. Hvad<br />

med de første 15 led. (Hint i en løkke er det nemt at rette). Hvor mange led<br />

skal der til før det bliver en god approksimation? (lad os her sige at en god<br />

approksimation er 2,7182818285).<br />

32

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!