07.01.2015 Views

Opgaver

Opgaver

Opgaver

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

import java.awt.*;<br />

public class Koch<br />

{<br />

private static Crayon pencil = new Crayon(Color.black,1);<br />

}<br />

/**<br />

* kochLine tegner en Koch-linje af orden n >= 0.<br />

* @param n Ordenen af den Koch-linje der tegnes<br />

* @param dir Retning fra start til slutpunkt i grader<br />

* @param len Afstand mellem kurvens start og slutpunkt<br />

*/<br />

private static void kochLine(int n, int dir, double len)<br />

{<br />

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

pencil.turnto(dir);<br />

pencil.move(len);<br />

}<br />

else if(n > 0) {<br />

kochLine(n - 1,dir,len/3);<br />

kochLine(n - 1,dir - 60,len/3);<br />

kochLine(n - 1,dir + 60,len/3);<br />

kochLine(n - 1,dir,len/3);<br />

}<br />

}<br />

public static void main(String[] args)<br />

{<br />

pencil.jumpto(50,150);<br />

kochLine(1,0,300);<br />

pencil.jumpto(50,250);<br />

kochLine(2,0,300);<br />

pencil.jumpto(50,350);<br />

kochLine(3,0,300);<br />

pencil.jumpto(50,450);<br />

kochLine(4,0,300);<br />

}<br />

Bemærk, at vi foretager 4 rekursive kald, og at vi her har et eksempel på<br />

en rekursiv metode, hvor en ikke-rekursiv formulering forekommer at være<br />

32

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

Saved successfully!

Ooh no, something went wrong!