>> বাংলা বইয়ের লিংক - https://www.rokomari.com/book/180900
Structured C/CPP Programming: Introduction:
Programming is ubiquitous in the current world operating under the great influence of evolving scientific technologies. We need programming, more or less, today or tomorrow, no matter what we do-study or work, no matter where we are-in the academia or in the industry. However, for new learners, there is a big obstacle on the way to learning programming. The obstacle comes from the fact that when we write programs, we need to think in the way a machine works, while the way we the humans work is different from that. This problem is encountered world wide by new programming learners, regardless of their native cultures and languages. Unless addressed properly, this problem makes the learning programming journey very scary and difficult. A common learner starts getting fun from programming, when this problem is adequately overcome. This book strives to address this problem using detailed expositions and providing quality teaching materials.
This book has been written for learners who are new in learning programming. Even a novice learner can start learning programming from this book and can gradually acquire knowledge required to be an expert programmer. This book covers C/C as the main programming language, but restricts itself only to the structured programming aspects. This book is for the students in the college and university level, for the contestants of the programming competitions, and even for the individuals who want to be professional programmers. This book has hundreds of examples, enormous analyses, suggestions and recommendations, supplementary discussions, conceptual questions, and programming problems. However, from the very beginning, the assumption made in this book is that a learner should have secondary or higher secondary mathematics and science knowledge. This book uses a semi-formal language so that it can be used as a textbook and the learners can informally easily access it as well. The detailing of a topic presented in this book is very close to that of an oral discussion. As such, this book could appear as a transcript of the lectures given by a lecturer in the class. Learners in our country often do not get experienced teachers, particularly in the rural areas and small towns. Moreover, online videos cannot be easily accessed due to slow internet speed. This book is written so that learners can get detailed explanations just by reading a book, when nobody is around.
There are teaching and learning theories that underpin the presentation of this book so that learners can easily acquire comprehensive programming knowledge. Programming books are often written by expert programmers, who are proficient in programming but lack pedagogical knowledge. In contrast, people having pedagogical expertise lack expert level programming knowledge. Moreover, programming books often appear to be like the specification documents of the respective languages. With our long time experience in teaching, long time experience in programming in C/C , and our knowledge of modern teaching and learning theories, in this book, we have designed the lessons inherently following various hierarchical models of educational learning. Moreover, our way of designing the lessons is outcome based as it is influenced by the constructive alignment approach and the notion of asking open ended questions whenever possible. With respect to the contents presented, this is the first edition of this book. There is a version of the same book written by the same authors in the Bangla language. This book is just a translation of that Bangla book. As such, the use of the English language in this book.
might not be the best. We are native Bangla speakers and speak English only as a second language. The translation process might have affected the English language quality, which we believe will be greatly lifted up even when we ourselves will revise the book solely from the English version. In future, we plan to approach native English speakers to improve the language quality even further and also to consider internationalisation of the contexts and the expositions. Since the translation process has been carried out in a hurry, there could be many incidental errors in this edition. All these issues will be duly addressed in the next editions. For the time being, if this book helps learners even to a little extent in their endeavour of learning programming, we will feel highly pleased and encouraged.
Contents: 1 Computer Programming 1
1.1 Programming Concepts ...2
1.2 C/C Language ......3
1.3 Developing Programs....4
1.4 Online Software .....5
1.5 Offline Software....9
1.6 Command Terminal.....13
1.7 C and C Programs....16
1.8 Conceptual Questions ......16
1.9 Programming Problems .....16
2 Routine Programming 18
2.1 Cheering Program ....18
2.2 Detailing Program ......18
2.3 Header File Inclusion ......20
2.4 Program Comments .......22
2.5 Commenting and Uncommenting....25
2.6 Spacing and Indentation .......25
2.7 Program Control Flow ......27
2.8 Flow Chart and Pseudocode ....29
2.9 Conceptual Questions ......31
2.10 Programming Problems ......32
3 Variables and Constants 33
3.1 Using Variables ....34
3.2 Using Constants....36
3.3 Multiple Definitions....39
3.4 Initial Assignment....39
3.5 Value Assignment .......42
3.6 Value Swapping ..........44
3.7 Left and Right Values .......46
3.8 Assignment Left and Right ....48
3.9 Self-Referential Assignment ...49
3.10 Conceptual Questions ........51
3.11 Programming Problems .....51
4 Naming Identifiers 52
4.1 Well-Formed Names ....53
4.2 Meaningful Names .....54
4.3 Case Sensitivity ......55
4.4 Reserved And Key Words...56
4.5 Conceptual Questions .....57
4.6 Programming Problems ....57
5 Input and Output 59
5.1 Message Output ....59
5.2 Number Output ....61
5.3 Output Description...63
5.4 Data Input .............64
5.5 Input Prompt..........66
5.6 Number Input.........68
5.7 Non-interactive Execution...69
5.8 Conceptual Questions .....71
5.9 Programming Problems...71
6 Mathematical Processing 73
6.1 Unary Operators ............73
6.2 Binary Operators....74
6.3 Division and Remainder ...76
6.4 Assignment Operator ...78
6.5 Compound Assignments ...79
6.6 Increment and Decrement....80
6.7 Comma Operator: ...............82
6.8 Precedence Order ...........83
6.9 Mathematical Problems ....85
6.10 Header File cmath ..86
6.11 Conceptual Questions ......88
6.12 Programming Problems ....88
7 Conditional Programming 90
7.1 If Then Else ................91
7.2 Then Else Swapping….93
7.3 Relational Operators…..94
7.4 If-Else Ladder…..95
7.5 Nested If-Else ....97
7.6 Dangling Else ...........99
7.7 Compound Statement....101
7.8 Error Detection.....103
7.9 Boolean Connectives .....107
7.10 Boolean, Integer, Float .........109
7.11 Boolean Algebra.............110
7.12 Boolean Equivalence….112
7.13 Truth Table .....113
7.14 Boolean Simplification …..114
7.15 Ladder, Nesting, Connectives ...........116
7.16 If-Else Optimization ...............119
7.17. Ternary Operator…121
7.18 Switch Cases .....122
.............
18.6 Bugs in Programs ...551
18.7 Debugging Programs .....553
18.8 Advanced Debugging .........556
18.9 Pseudorandom Numbers .....559
18.10 Measuring Time Efficiency ......561
18.11 Code Profiling ..................562
18.12 Program Documentation …..564
18.13 Further Learning….564
18.14 Conceptual Questions .........565
18.15 Programming Problems ........565