Final answer:
To make a computer understand a program, the source code must be translated into machine code. High-level language is used for human readability, while machine code consists of binary signals the machine can process. A compiler or interpreter is used for the translation of code from high-level to machine code.
Step-by-step explanation:
To make a computer understand a program, the source code must be first translated into machine code. When a programmer writes a program, they do so in a language that is readable by humans, which is known as a high-level language. This source code, however, cannot be directly understood by a computer. A computer operates on a very basic level of instructions; these are very low-level and specific to the hardware of the machine, typically referred to as machine code or binary code.
There are layers of abstraction in programming: the design level and the physical level. At the design level, programmers use languages like Java, Python, or C++ to write their software. On the physical level, what's really happening within the computer is a series of electronic changes - on and off signals, which are the 1s and 0s of binary code that the machine can interpret and act upon.
Before the written program can be executed, it must be translated from the high-level language down to the low-level machine code. This translation is often facilitated by a compiler or an interpreter, which converts the high-level code into executable instructions that the computer can understand. Although, some programming languages like assembly language are closer to machine code, and can be translated into machine code with less modification compared to high-level languages.
Therefore, the correct answer is macchine.