05.09.2013 Views

Att skriva och presentera rapporter - Teknisk-naturvetenskaplig ...

Att skriva och presentera rapporter - Teknisk-naturvetenskaplig ...

Att skriva och presentera rapporter - Teknisk-naturvetenskaplig ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

• Fokusera på icke­triviala delar <strong>och</strong> undvik onödiga detaljer.<br />

• Sök en balans mellan detaljer <strong>och</strong> övergripande idéer. En<br />

algoritmbeskrivning som är väldigt detaljerad kan vara lätt att direkt<br />

implementera, men besvärlig att förstå <strong>och</strong> att analysera.<br />

• Det är ofta lämpligt med en numrerad lista i flera nivåer<br />

(indentering).<br />

• Fokusera inte för mycket på syntaxen. Till skillnad från ett<br />

programmeringsspråk är syntaxen för pseudokod inte helt bestämd<br />

på förhand. Det viktiga är att vara konsekvent <strong>och</strong> tydlig.<br />

• Om algoritmen är stor eller komplex är det ofta en bra idé att<br />

försöka dela in beskrivningen av den i mindre delar för ökad<br />

läsbarhet.<br />

• Använd inte semikolon <strong>och</strong> andra onödiga tecken som vanligtvis<br />

används i t.ex. Java <strong>och</strong> C. Läsaren är en människa <strong>och</strong> inte en<br />

kompilator!<br />

• Det är ofta bra att ange tydligt vad algoritmen tar som indata <strong>och</strong> ger<br />

som utdata.<br />

En algoritmbeskrivning för Euklides algoritm kan t.ex. se ut som i exemplet<br />

nedan (Algoritm 1). Observera att vi inte behöver ange att a <strong>och</strong> b är heltal då<br />

detta är uppenbart från kontexten. Om man använder LaTeX kan paketet<br />

algorithmicx användas.<br />

Algoritm 1 Euklides algoritm: Största gemensamma delaren av a <strong>och</strong> b<br />

1 procedure EUCLID(a,b)<br />

2 r ← a mod b<br />

3 while r ≠ 0 do ▹ Om r = 0 har vi svaret<br />

4 a ← b<br />

5 b ← r<br />

6 r ← a mod b<br />

7 end while<br />

8 return b ▹ SGD är b<br />

9 end procedure<br />

29

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

Saved successfully!

Ooh no, something went wrong!