Title:
Logic and structured design for computer programmers
Personal Author:
Edition:
3rd ed.
Publication Information:
Australia : Brooks/Cole, 2001
ISBN:
9780534373863
Available:*
Library | Item Barcode | Call Number | Material Type | Item Category 1 | Status |
---|---|---|---|---|---|
Searching... | 30000004761643 | QA76.6 R62 2001 f | Open Access Book | Book | Searching... |
Searching... | 30000004846121 | QA76.6 R62 2001 | Open Access Book | Book | Searching... |
Searching... | 30000004825737 | QA76.6 R62 2001 | Open Access Book | Book | Searching... |
On Order
Summary
Summary
LOGIC AND STRUCTURED DESIGN is an introduction to the logic of data processing. It is intended for those who plan, but have not yet begun, to study programming, particularly those with little background in mathematics or logic. The author avoids reference to specific programming languages, isolating questions of logic from questions of syntax. This approach enables readers to concentrate on the logic of problems. The book walks readers through logical problems common to a variety of programming languages and provides the background in logic that many programming texts and courses assume.
Table of Contents
Chapter 1 Computers and Flowcharts | p. 1 |
1.1 Computers and Logic | p. 1 |
1.2 Algorithms | p. 2 |
1.3 Flowcharts | p. 2 |
Exercises 1.1-1.3 | p. 8 |
1.4 Computers, Memory, and Input/Output | p. 9 |
Computer Memory | p. 10 |
Input/Output | p. 13 |
1.5 Routine Components in Programs | p. 16 |
Loops | p. 17 |
Counters | p. 18 |
Accumulators (Totals and Subtotals) | p. 20 |
Indicators (Switches or Flags) | p. 22 |
Exercises 1.4-1.5 | p. 24 |
1.6 Universal Requirements for Flowcharts | p. 25 |
1.7 Error Messages | p. 26 |
1.8 Zero, Positive, and Negative | p. 29 |
1.9 Program Design | p. 30 |
Exercises 1.6-1.9 | p. 32 |
1.10 System Flowcharts | p. 33 |
Exercises 1.10 | p. 36 |
Review Questions | p. 36 |
Chapter 2 Structured Flowcharts | p. 38 |
2.1 Requirements for Structured Flowcharts | p. 38 |
Structured Loops and the EOF Decision | p. 41 |
EOF Pretest | p. 42 |
Combining the Structures | p. 43 |
2.2 An "Unofficial" Explanation of Structure | p. 45 |
Exercises 2.1-2.2 | p. 48 |
2.3 Examples of Structured Flowcharts | p. 50 |
2.4 Indicators in Loop Exit Decisions | p. 51 |
2.5 Modular Flowcharts | p. 56 |
Exercises 2.3-2.5 | p. 59 |
2.6 Structured Flowcharts for Printing Tables | p. 63 |
Exercises 2.6 | p. 72 |
Review Questions | p. 73 |
Chapter 3 Control Break Programs | p. 74 |
3.1 Single-Level Control Break Programs | p. 75 |
Exercises 3.1 | p. 80 |
3.2 Two-Level Control Break Programs | p. 80 |
Exercises 3.2 | p. 86 |
Review Questions | p. 88 |
Chapter 4 The Logic of Sets, I | p. 89 |
4.1 Definition of Set | p. 89 |
4.2 The Universal Set and the Empty Set | p. 90 |
4.3 Operations on Sets | p. 90 |
4.4 Venn Diagrams | p. 92 |
Exercises 4.1-4.4 | p. 95 |
4.5 Venn Diagrams for Three Sets | p. 96 |
4.6 Translation from Natural Language to Set Theory | p. 101 |
Exercises 4.5-4.6 | p. 102 |
4.7 Extract Programs and Set Theory | p. 104 |
Simplification with Venn Diagrams | p. 112 |
Exercises 4.7 | p. 114 |
4.8 Flowcharts Combining Sets, Counters, and Accumulators | p. 116 |
Exercises 4.8 | p. 122 |
Review Questions | p. 122 |
Chapter 5 The Logic of Sets, II | p. 124 |
5.1 Boolean (Set-Theory) Properties | p. 124 |
Commutation | p. 124 |
Association | p. 125 |
Distribution | p. 126 |
De Morgan's Law | p. 127 |
Absorption | p. 128 |
Other Properties | p. 128 |
Simplification with Boolean Properties | p. 129 |
Exercises 5.1 | p. 130 |
5.2 Simplified Flowcharts | p. 130 |
Exercises 5.2 | p. 132 |
5.3 Statements in Set Theory | p. 133 |
5.4 Set-Theory Statements and Flowcharts | p. 134 |
Exercises 5.3-5.4 | p. 140 |
5.5 Symbolizing Natural-Language Statements | p. 141 |
5.6 Flowcharts and Natural-Language Statements | p. 143 |
Exercises 5.5-5.6 | p. 146 |
Review Questions | p. 147 |
Chapter 6 Truth Functional Logic and Decision Tables | p. 148 |
6.1 Truth Functional Sentence Connectives | p. 148 |
Negation | p. 149 |
Exercises 6.1 | p. 150 |
6.2 Symbolization | p. 150 |
Examples of Symbolization and Truth Functional Analysis | p. 151 |
Inclusive and Exclusive Disjunction | p. 151 |
Examples of Symbolization with Truth Functional Analysis | p. 152 |
6.3 Alternative Notation for Disjunction and Conjunction | p. 153 |
Exercises 6.2-6.3 | p. 153 |
6.4 Equivalence | p. 154 |
6.5 Tautologies and Contradictions | p. 156 |
Exercises 6.4-6.5 | p. 157 |
6.6 Conditional Statements | p. 158 |
Examples of Conditional Statements, Symbolizations, and Truth Functional Analysis | p. 158 |
Exercises 6.6 | p. 160 |
6.7 Simplification by Truth Functional Analysis | p. 161 |
Examples of Simplification by Truth Functional Analysis | p. 168 |
A World of Caution | p. 170 |
Exercises 6.7 | p. 170 |
6.8 The Conditional and Flowcharts | p. 171 |
Exercises 6.8 | p. 175 |
6.9 Equivalence Rules | p. 176 |
Exercises 6.9 | p. 180 |
6.10 Decision Tables | p. 182 |
Maintainability versus Program Efficiency | p. 186 |
6.11 Decision Table Examples | p. 186 |
Exercises 6.10-6.11 | p. 190 |
Review Questions | p. 191 |
Chapter 7 Warnier Diagrams for Program Design | p. 193 |
7.1 Universals, Executables, and Structured Loops | p. 194 |
Structured Programming | p. 194 |
Exercises 7.1 | p. 200 |
7.2 If-Then-Else and Case | p. 203 |
Nested If-Then-Else Decisions | p. 205 |
Do-While EOF and Do-Until EOF | p. 206 |
Exercises 7.2 | p. 208 |
7.3 Example Programs with Warnier Diagrams | p. 211 |
Exercises 7.3 | p. 216 |
7.4 Program Design Using Warnier Diagrams | p. 217 |
Exercises 7.4 | p. 220 |
7.5 Warnier Diagrams as Data Structures | p. 221 |
Input Structures | p. 221 |
Output Structures | p. 222 |
Printer Spacing Charts | p. 224 |
Exercises 7.5 | p. 228 |
7.6 Report Programs from Output Structures | p. 230 |
Exercises 7.6 | p. 235 |
Review Questions | p. 236 |
Chapter 8 Pseudocode and Nassi-Shneiderman Diagrams | p. 238 |
8.1 Pseudocode | p. 238 |
Sequence | p. 239 |
Loops | p. 239 |
If-Then-Else | p. 240 |
Nested If-Then-Elses | p. 241 |
Modular Pseudocode | p. 242 |
Hierarchy Charts | p. 244 |
Examples of Pseudocode | p. 245 |
Exercises 8.1 | p. 250 |
8.2 Nassi-Shneiderman Diagrams | p. 255 |
Sequence | p. 256 |
Universals | p. 256 |
If-Then-Else | p. 257 |
Nested Decisions | p. 258 |
Case | p. 259 |
Loops | p. 260 |
Examples of Nassi-Shneiderman Diagrams | p. 261 |
Exercises 8.2 | p. 268 |
Review Questions | p. 272 |
Chapter 9 Arrays and Array Processing | p. 273 |
9.1 Fundamental Array Structures | p. 273 |
9.2 Dimension Statements and Counters | p. 275 |
9.3 Array Location Names Used as Variables | p. 276 |
Exercises 9.1-9.3 | p. 279 |
9.4 Examples of Array Processing | p. 282 |
Exercises 9.4 | p. 287 |
9.5 Data-Directed Processing | p. 288 |
Exercises 9.5 | p. 292 |
9.6 Multidimensional Arrays | p. 293 |
Processing Two-Dimensional Arrays | p. 293 |
9.7 Examples of Programs with Two-Dimensional Arrays | p. 296 |
Sales Report Examples | p. 299 |
Exercises 9.6-9.7 | p. 308 |
9.8 Exchange | p. 308 |
9.9 Sorts | p. 309 |
Bubble Sort | p. 310 |
Binary Sort | p. 311 |
9.10 Miscellaneous Array Manipulations | p. 315 |
Finding the Largest (Smallest) Item | p. 315 |
Search | p. 315 |
Sequential Search | p. 316 |
Binary Search | p. 318 |
Coordinated Arrays | p. 318 |
Exercises 9.8-9.10 | p. 321 |
Review Questions | p. 322 |
Chapter 10 Edit and File-Processing Programs | p. 324 |
10.1 Edit Programs | p. 324 |
Exercises 10.1 | p. 330 |
10.2 Sequential File Processing | p. 331 |
Record Keys for Sequential Files | p. 331 |
Sequential File Creation | p. 331 |
10.3 Extract Programs (Sequential Files) | p. 332 |
Extract Programs for Files with Unique Keys | p. 332 |
Extract Programs for Files with Nonunique Keys | p. 336 |
10.4 Merge Program (Sequential Files) | p. 336 |
10.5 Sequential Files Update | p. 339 |
10.6 Sequential File Maintenance | p. 341 |
Exercises 10.2-10.6 | p. 346 |
10.7 Random File Processing | p. 346 |
10.8 Extract Programs for Indexed Files | p. 347 |
10.9 Random File Update | p. 349 |
10.10 Random File Maintenance | p. 350 |
Direct File Processing Compared with Indexed File Processing | p. 353 |
Exercises 10.7-10.10 | p. 353 |
Review Questions | p. 354 |
Chapter 11 Interactive Programs | p. 355 |
11.1 Single-Line Entry versus Full-Screen Entry | p. 355 |
11.2 Single-Line Entry Programs | p. 356 |
User Direction | p. 357 |
Function Keys | p. 361 |
User-Directed Storage | p. 362 |
Screen Edits | p. 364 |
Exercises 11.1-11.2 | p. 365 |
11.3 Single-Line Entry and File Processing | p. 365 |
Interactive File Access | p. 367 |
Exercises 11.3 | p. 370 |
11.4 Full-Screen Entry Programs | p. 370 |
Inquiry-Only Program | p. 372 |
Inquiry-Only (Two Files) | p. 374 |
File Update | p. 376 |
11.5 Interactive File Maintenance Program | p. 378 |
11.6 Interactive Posting Program | p. 381 |
Exercises 11.4-11.6 | p. 382 |
Review Questions | p. 383 |
Appendix A Documentation | p. 385 |
Appendix B Control Break Programs without Compound Conditions | p. 390 |
Answers to Selected Exercises | p. 393 |
Index | p. 453 |