26.07.2013 Views

Operativsystem: .............................................................

Operativsystem: .............................................................

Operativsystem: .............................................................

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

}<br />

}<br />

int n=int.Parse(Console.ReadLine());<br />

hanoi(n,"A","B","C");<br />

Console.Read();<br />

//rekursiv funktion der kalder sig selv:<br />

public static int potens(int x,int y){<br />

}<br />

//stop betingelsen er naar y er lig 0 – og det sker paa et eller andet tidspunkt!!:<br />

if(y==0)return 1;<br />

//Hvis y ikke er 0 kaldes potens() igen blot med y-1:<br />

else return x*potens(x,y-1);<br />

//rekursiv funktion der løser det berømte problem Hanois taarne:<br />

//de 3 holdere hedder A, B og C<br />

//der flyttes fra fx A over C til B osv:<br />

public static void hanoi(int n,string init,string end,string temp){<br />

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

Console.WriteLine("Flyt ring fra {0} til {1}",init,end);<br />

}<br />

else{<br />

hanoi(n-1,init,temp,end);<br />

Console.WriteLine("Flyt ring fra {0} til {1}",init,end);<br />

hanoi(n-1,temp,end,init);<br />

}<br />

}<br />

Som det ses i potens() bliver funktionen ved med at kalde sig selv indtil der nås en STOP betingelse<br />

dvs indtil tallet y er 0.<br />

Alle rekursive funktioner skal have en stop betingelse ellers ville de kalde sig selv uden ende som<br />

spejle der spejler hinanden uendeligt!

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

Saved successfully!

Ooh no, something went wrong!