Developing Programs with Proofs of Correctness
暂无分享,去创建一个
As we stressed in Chapter 1, a complex programming problem should not be analyzed immediately in terms of the detailed facilities of a particular programming language, for then the number of details that the programmer has to deal with at once is beyond the bounds of his intellectual capabilities, and may lead to inappropriate global decisions. At the early stages of solving a complex problem, attention should be directed mainly toward the global problems, and one should pay little attention to specific details. This first draft of the solution should be expressed in terms natural to the problem itself and formulated in a higher-level, quite possibly natural, language. Because of this, such a formulation is called an abstract algorithm and its constituents are called abstract statements and abstract data. An abstract algorithm expresses only the general strategy for solving the problem together with the general structure of the solution yet to be developed.