n A precise step-by-step plan for a computational procedure that possibly begins with an input value and yields an output value in a finite number of steps.