Algoritme
Hvad er en Algoritme?
En algoritme er en opskrift, en beskrivelse af en måde at gøre noget på, en metode, eller hvad man vil kalde det.
Algoritmer indeholder tit en eller anden form for gentagelse, og skal normalt også have en betingelse på hvornår skal algoritmen afsluttes.
Opstilling af algoritme
Det er vigtigt at man beskriver sin algoritme så præcist at man kan programmere den.
En algoritme kan altså ikke beskrives som "Prøv dig frem"
En algoritme skal beskrives så entydigt at man kan teste den i hånden før man programmerer den, og man skal kunne se om den virker som den skal.
Eksempel på en algoritme
En algoritme til at veje med en gammeldags balancevægt kunne beskrives som følger:
Placer det man ønsker at veje i den ene vægtskål Find det største lod man har Bliv ved med at Placer det fundne lod i den anden vægtskål hvis vægten vipper over, så fjern det sidst placerede lod find det næste mindre lod ellers find det næste mindre lod indtil man har prøvet helt ned til det mindste lod man har læg alle loddernes værdi sammen
Hvis man tester denne algoritme, så vil man se at den kun fungerer til alle mulige vejninger, hvis de lodder man har er netop halveringer af hinanden (8kg, 4kg, 2kg, 1kg, ½kg osv.) - hvis det derimod var lodder som 10kg, 5kg, 2kg, 1kg, 500g, 200g, 100g, 50g, 20g, 10g, 5g, 2g, 1g - så ville man ikke kunne veje en ukendt vægt mellem 9 og 10kg, da man ville komme frem til resultatet 8,888 kg. (prøv selv med 9,5 kg).
Det betyder at algoritmen nok skal skrives om, hvis man skal bruge disse lodder, og det vil betyde at man skal have flere lodder (2 stk af hver på 2kg, 200g, 20g og 2g).
Dokumentation af en algoritme
Normalt vil man dokumentere sine algoritmer som flowcharts.
Som det kan ses, så kan man også dokumentere en algoritme i forståeligt hverdagssprog, og den metode der er anvendt er faktisk pseudokode, der er enkelt at oversætte til programkode, men som også har den fordel, at det er uafhængigt af hvilket programsprog man vil lave det i.