Als het algoritme effectief is (of correct) krijg je, als je de stappen precies uitvoert, altijd het beoogde resultaat, voor elke acceptabele waarde van de invoer.
Een correct algoritme kan wel eisen aan de invoer stellen: niet alle invoerwaarden zijn zinvol.
Voor een delingsalgoritme eis je dat de deler verschilt van 0.
Een niet-effectief (incorrect) algoritme heeft niet zoveel zin.
Maar het is niet altijd eenvoudig om in te zien of een algoritme correct is, of om een correct algoritme te ontwikkelen.