Introduction to Programming with C++ for Engineers

Introduction to Programming with C++ for Engineers
-0 %
Besorgungstitel - wird vorgemerkt | Lieferzeit: Besorgungstitel - Lieferbar innerhalb von 10 Werktagen I

Unser bisheriger Preis:ORGPRICE: 155,20 €

Jetzt 155,18 €*

Alle Preise inkl. MwSt. | Versandkostenfrei
Artikel-Nr:
9781119431107
Veröffentl:
2020
Erscheinungsdatum:
12.11.2020
Seiten:
656
Autor:
Boguslaw Cyganek
Gewicht:
1217 g
Format:
254x178x35 mm
Sprache:
Englisch
Beschreibung:

Prof. Boguslaw Cyganek, Department of Electronics, AGH, University of Science and Technology, Krakow, Poland. Boguslaw Cyganek obtained his Ph.D. degree cum laude in 2001 with a thesis on correlation of stereo images, and D.Sc. degree in 2011 with a thesis on methods and algorithms of object recognition in digital images. During recent years, Dr. Cyganek has been cooperating with many scientific centers in development of computer vision systems. He has also gained several years of practical experience working as a Software Development Manager and a Senior Software Engineer both in the USA and Poland. He is an author or a co-author of over ninety conference and journal papers and four books including "An Introduction to 3D Computer Vision Techniques and Algorithms", as well as "Object Detection and Recognition in Digital Images: Theory and Practice", published by Wiley. Dr. Cyganek is a member of the IEEE, SPIE, IAPR and SIAM.
A complete textbook and reference for engineers to learn the fundamentals of computer programming with modern C++
 
Introduction to Programming with C++ for Engineers is an original presentation teaching the fundamentals of computer programming and modern C++ to engineers and engineering students.
 
Professor Cyganek, a highly regarded expert in his field, walks users through basics of data structures and algorithms with the help of a core subset of C++ and the Standard Library, progressing to the object-oriented domain and advanced C++ features, computer arithmetic, memory management and essentials of parallel programming, showing with real world examples how to complete tasks. He also guides users through the software development process, good programming practices, not shunning from explaining low-level features and the programming tools.
 
Being a textbook, with the summarizing tables and diagrams the book becomes a highly useful reference for C++ programmers at all levels.
 
Introduction to Programming with C++ for Engineers teaches how to program by:
* Guiding users from simple techniques with modern C++ and the Standard Library, to more advanced object-oriented design methods and language features
* Providing meaningful examples that facilitate understanding of the programming techniques and the C++ language constructions
* Fostering good programming practices which create better professional programmers
* Minimizing text descriptions, opting instead for comprehensive figures, tables, diagrams, and other explanatory material
* Granting access to a complementary website that contains example code and useful links to resources that further improve the reader's coding ability
* Including test and exam question for the reader's review at the end of each chapter
 
Engineering students, students of other sciences who rely on computer programming, and professionals in various fields will find this book invaluable when learning to program with C++.
Preface xi
 
Acknowledgments xiii
 
Abbreviations xv
 
About the Companion Website xvii
 
1 Introduction 1
 
1.1 Structure of the Book 5
 
1.2 Format Conventions 8
 
1.3 About the Code and Projects 9
 
2 Introduction to Programming 13
 
2.1 Hardware Model 13
 
2.2 Software Development Ecosystem 16
 
2.3 Software Development Steps 18
 
2.4 Representing and Running Algorithms 20
 
2.4.1 Representing Algorithms 21
 
2.4.2 Using Online Compilers 22
 
2.4.3 Structure of a C++ Program 24
 
2.4.4 Code Analysis 24
 
2.4.5 Building a Linux Executable 26
 
2.5 Example Project - Compound Interest Calculator 29
 
2.5.1 Compound Interest Analysis 29
 
2.5.2 Implementation of the Interest Calculator 30
 
2.5.3 Building and Running the Software 33
 
2.6 Example Project - Counting Occurrences of Characters in Text 34
 
2.6.1 Problem Analysis and Implementation 34
 
2.6.2 Running the C++ Code with the Online Compiler 35
 
2.6.3 Histogram Code, Explained 36
 
2.7 Summary 39
 
Questions and Exercises 39
 
3 C++ Basics 43
 
3.1 Constants and Variables - Built-In Data Types, Their Range, and Initialization 43
 
3.2 Example Project - Collecting Student Grades 53
 
3.3 Our Friend the Debugger 56
 
3.4 The Basic Data Structure - std::vector 59
 
3.5 Example Project - Implementing a Matrix as a Vector of Vectors 64
 
3.6 Special Vector to Store Text - std::string 67
 
3.7 Using the auto Keyword and decltype for Automatic Type Deduction 72
 
3.8 Common Standard Algorithms 75
 
3.9 Structures: Collecting Objects of Various Types 79
 
3.10 Fixed-Size Arrays 83
 
3.10.1 Multidimensional Fixed-Size Arrays 85
 
3.11 References 87
 
3.12 Pointers 90
 
3.12.1 Object Access with Pointers 90
 
3.13 Statements 95
 
3.13.1 Blocks of Statements and Access to Variables - The Role of Braces 95
 
3.13.2 C++ Statements 97
 
3.13.2.1 Conditional Statements 97
 
3.13.2.2 Loop Statements 103
 
3.13.2.3 Auxiliary Statements - continue and break 108
 
3.13.2.4 The goto Statement 110
 
3.13.2.5 Structural Exception Handling - The try-catch Statement 110
 
3.14 Functions 112
 
3.14.1 Anatomy of a Function in C++ 112
 
3.14.2 Passing Arguments to and from a Function 117
 
3.14.2.1 Argument Passing by Copy (Value Semantics) 118
 
3.14.2.2 Indirect Argument Passing by Reference 119
 
3.14.2.3 Passing by Pointer 121
 
3.14.3 Function Call Mechanism and Inline Functions 123
 
3.14.4 Recursive Functions and the Call Stack 125
 
3.14.5 Function Overloading - Resolving Visibility with Namespaces 126
 
3.14.6 Lambda Functions 128
 
3.14.7 More on Lambda Functions 132
 
3.14.8 Function Pointers 138
 
3.14.9 Functions in an Object-Oriented Framework 140
 
3.15 Example Project - Wrapping Objects in a Structure with a Constructor 142
 
3.15.1 EMatrix in an Object-Oriented Environment 145
 
3.15.2 Basic Operations with EMatrix 145
 
3.15.3 Input and Output Operations on EMatrix 147
 
3.15.4 Basic Mathematical Operations on EMatrix 148
 
3.15.5 Organizing the Project Files and Running the Application 150
 
3.15.6 Extending Matrix Initialization with a Simple Random Number Generator 153
 
3.16 Example Project - Representing Quadratic Equations 154
 
3.16.1 Definition of a Class to Represent Quadratic Polynomials 1
Lieferung vom Verlag mit leichten Qualitätsmängeln möglich

Kunden Rezensionen

Zu diesem Artikel ist noch keine Rezension vorhanden.
Helfen sie anderen Besuchern und verfassen Sie selbst eine Rezension.