An algorithm is a description of a process that operates on a given input to produce a desired output. This definition is both very general and very similar to the description of what a computer does. The difference is that an algorithm is just a description of a process. It does not necessarily have to run on a computer. But algorithms are also sequences, and thus they are very well suited to be executed by a computer program.
Now you know how a computer works. The basic concepts are actually rather simple. Of course, actually building a computer is an incredibly complex undertaking. Fortunately, we programmers can focus on programming them.
In the last section we learned that a computer command basically performs these three task:
- Read the instruction and data from memory.
- Perform a calculation.
- Store the result at another address.
Then the computer continues with the next command. Then the next. And so on. This is the programming of the computer.
To solve a problem with a computer, you have to understand how it works first.
Almost all computers that are in use today are digital. The analog computer is a thing of the past, so we can focus on digitial computers. The word digital in the context of computers mean that they based on binary numbers – numbers that consist only of zeroes and ones. This fact determines everything how a computer works. The amazing thing is that just with two numbers, computers can be used to solve a huge variety of tasks.
To understand how a computer achieves this feat, you have to learn to use binary numbers yourself. This is the first step towards thinking like a computer.