|
|
|
|
LEADER |
03745nmm a2200313 u 4500 |
001 |
EB000620612 |
003 |
EBX01000000000000000473694 |
005 |
00000000000000.0 |
007 |
cr||||||||||||||||||||| |
008 |
140122 ||| eng |
020 |
|
|
|a 9781461259817
|
100 |
1 |
|
|a COLEMAN.
|
245 |
0 |
0 |
|a A Structured Programming Approach to Data
|h Elektronische Ressource
|c by COLEMAN.
|
250 |
|
|
|a 1st ed. 1979
|
260 |
|
|
|a New York, NY
|b Springer New York
|c 1979, 1979
|
300 |
|
|
|a XII, 222 p. 1 illus
|b online resource
|
505 |
0 |
|
|a 1. An Overview of Program Design -- 1.1 Introduction — The Software Crisis -- 1.2 Objectives of Program Design -- 1.3 The Heart of the Problem -- 1.4 Stepwise Refinement -- 1.5 What Do We Mean When We Say a Program ‘Works’? -- 1.6 Summary -- 1.7 Bibliographical Notes -- 2. Program Design Notation -- 2.1 An Abstract Programming Language -- 2.2 Structuring Control -- 2.3 Structuring Data -- 2.4 What is a Data Structure? -- 2.5 Unstructured Data Types -- 2.6 Implementation of Unstructured Types -- 2.7 Summary -- 2.8 Bibliographical Notes -- 3. Arrays -- 3.1 Array Structures -- 3.2 Arrays and Functions -- 3.3 Implementation of Arrays -- 3.4 Summary -- 3.5 Bibliographical Notes -- 4. Simple Data Structuring -- 4.1 Record Types -- 4.2 Implementation of Record Types -- 4.3 Use of Structured Types -- 4.4 Variant Types -- 4.5 Implementation of Variant Types -- 4.6 Summary -- 4.7 Bibliographical Notes -- 5. On Program Design -- 5.1 Stepwise Refinement of Programs -- 5.2 Two Examples -- 5.3 Summary -- 5.4 Bibliographical Notes -- Exercises 1 -- 6. Set Structures -- 7. The Class Construct -- 8. Dynamic Data Structures -- 9. Sequences -- Exercises 2 -- 10. Simple Searching Techniques -- 11. Hashing Techniques -- 12. Recursion and Recursive Algorithms -- 13. Binary Search Trees -- Exercises 3 -- 14. Designing Programs From Data Structures -- Exercises 4 -- References
|
653 |
|
|
|a Software engineering
|
653 |
|
|
|a Programming Techniques
|
653 |
|
|
|a Computer science
|
653 |
|
|
|a Computer programming
|
653 |
|
|
|a Software Engineering
|
653 |
|
|
|a Computer Science
|
041 |
0 |
7 |
|a eng
|2 ISO 639-2
|
989 |
|
|
|b SBA
|a Springer Book Archives -2004
|
028 |
5 |
0 |
|a 10.1007/978-1-4612-5981-7
|
856 |
4 |
0 |
|u https://doi.org/10.1007/978-1-4612-5981-7?nosfx=y
|x Verlag
|3 Volltext
|
082 |
0 |
|
|a 004
|
520 |
|
|
|a Much of current programming practice is basically empirical and ad hoc in approach. Each problem is tackled without relation to those that have gone before; experiences are made and stored as a series of fragments. Now, under the pressure of events, this unsatisfactory state of affairs is coming to an end. Programming is becoming a technology, a theory known as structured programming is developing. The purpose of a theory is to categorise and explain existing practice, thus enabling it to be improved through the development of new and sharper techniques. The resulting experiences have then to be fed back into the theory so that the process of enrichment may continue. This dialectical relationship between theory and practice is essential to a healthy programming technology. The lack of such a relationship in the 1950s and 60s and the accompanying software crisis certainly confirm the converse of this proposition. My aim in writing this book has been to explain the current state of the theory of structured programming, so that it may be used to improve the reader's practice. The book deals with two facets of programming - how to design a program in terms of abstract data structures and how to represent the data structures on real and bounded computers. The separation between program design and data structure representation leads to more reliable and flexible programs
|