Att skriva och presentera rapporter - Teknisk-naturvetenskaplig ...
Att skriva och presentera rapporter - Teknisk-naturvetenskaplig ...
Att skriva och presentera rapporter - Teknisk-naturvetenskaplig ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
• Fokusera på icketriviala 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