This basic textbook on programming provides readers with a concise and clear introduction to programming concepts and programming logic. It is suitable for an introductory course in program development at the undergraduate level in computer science and allied disciplines.
Salient features :
Preface ix Acknowledgements x 1. Language Evolution 1 1.1 Generation of Languages 1 1.2 Translators 4 1.3 The Compilation Process 7 1.4 Study of Programming Languages 9 1.5 Characteristics of a Good Programming Language 12 2. Programming Construction Tools 15 2.1 Problem Analysis and Program Development 15 2.2 Conceptual Development of the Solution for a Given Problem 17 2.3 Development Tools 18 2.4 Algorithms 19 2.5 Processing 20 2.6 Types of Algorithms 22 2.7 Analysis of Algorithms 24 2.8 Complexity of an Algorithm 24 2.9 Big-O Notation 29 2.10 Flowcharts 37 2.11 Pseudo Codes 39 3. Basics of Programming Language 45 3.1 Basic Elements of Programming Language 45 3.2 Character Set 45 3.3 Tokens 46 3.4 Keywords or Reserve Words 47 3.5 Data Types 47 3.6 Identifiers 49 3.7 Constants 50 3.8 Variables 52 3.9 Operators and Expressions 53 4 Conditional Statements 67 4.1 Control Statements 67 4.2 Conditional (Decision-Making) Statements 67 4.3 If Statement (Uni-directional Statement) 68 4.4 If–Else Statement (Bi-directional Statement) 69 4.5 Nested Ifs 71 4.6 Else–If Ladders 72 4.7 Multi-way Statements (Select/Switch Statements) 73 4.8 Difference between If–Else and Switch/Select Statements 75 5. Looping Structures 88 5.1 Need for Looping/Iteration Statements 88 5.2 For Statements 88 5.3 Counting the Number of Times the Loop will be Executed 90 5.4 While Statements 91 5.5 Do–While Statements 92 5.6 Difference between While and Do-While Loops 94 5.7 Entry-Controlled Loops 94 5.8 Exit-Controlled Loops 94 5.9 Infinite Loops 94 5.10 Jump Constructs 95 5.11 Nested Loops 99 6. Arrays 110 6.1 Definition 110 6.2 Types of Arrays 112 6.3 Memory/Storage Representation of One-dimensional Arrays 112 6.4 Declaration of Arrays 116 6.5 Number of Elements in One-dimensional Arrays 116 7. Sorting and Searching 132 7.1 Concept 132 7.2 Definition 132 7.3 Selection of Sorting Method 133 7.4 Classifications of Sorting 133 7.5 Stability 134 7.6 Comparison of Sorting Methods—Time Complexity of Sorting Algorithms 135 7.7 Bubble Sort 136 7.8 Sequential Sort 138 7.9 Insertion Sort–Straight Insertion Sort 139 7.10 Selection Sort–Straight Selection Sort 141 7.11 Searching 143 7.12 Sequential Search or Linear Search 144 7.13 Searching an Ordered Table or Binary Search 146 7.14 Interpolation Search 149 7.15 Difference between Sequential and Binary Search 150 7.16 Soundex (Searching by Means of Pronunciations) 152 7.17 Merging 153 8. Multi-dimensional Arrays 160 8.1 Definition 160 8.2 Representation of a Matrix as a Two-Dimensional Array 160 8.3 Number of Elements in 2-D 162 Appendix 173 Index 189