Key Features of Algorithms/Programs
A few primitive ideas are used in all algorithms …
Assignment -- associating a name with a value
Conditional operations -- mechanisms for making decisions based on input or computed data that determine the next steps in the computation
Repetition operations -- mechanisms for repeatedly performing certain steps in the computation, that assure termination (finiteness) and the ability to reference different data on different repetitions
Functional abstraction -- a mechanism for encapsulating the steps of a commonly used operation to become a basic unit of computation
Functional decomposition -- a process of breaking a complex task into simpler steps