An algorithm is a step-by-step process for solving a problem or completing a task. There are two main tools used to document algorithms: flowcharts and pseudocode. A flowchart is a graphical representation of an algorithm that uses standardized symbols to show the sequence of steps, while pseudocode specifies the algorithm steps using natural language. The five steps in using a computer as a problem-solving tool are: developing an algorithm and flowchart, writing the program code, entering the program into the computer, testing and debugging the program, and running the program to obtain results.