• Wyszukiwanie zaawansowane
  • Kategorie
  • Kategorie BISAC
  • Książki na zamówienie
  • Promocje
  • Granty
  • Książka na prezent
  • Opinie
  • Pomoc
  • Załóż konto
  • Zaloguj się

Introduction to Programming with C++ for Engineers » książka

zaloguj się | załóż konto
Logo Krainaksiazek.pl

koszyk

konto

szukaj
topmenu
Księgarnia internetowa
Szukaj
Książki na zamówienie
Promocje
Granty
Książka na prezent
Moje konto
Pomoc
 
 
Wyszukiwanie zaawansowane
Pusty koszyk
Bezpłatna dostawa dla zamówień powyżej 20 złBezpłatna dostawa dla zamówień powyżej 20 zł

Kategorie główne

• Nauka
 [2944077]
• Literatura piękna
 [1814251]

  więcej...
• Turystyka
 [70679]
• Informatyka
 [151074]
• Komiksy
 [35590]
• Encyklopedie
 [23169]
• Dziecięca
 [611005]
• Hobby
 [136031]
• AudioBooki
 [1718]
• Literatura faktu
 [225599]
• Muzyka CD
 [379]
• Słowniki
 [2916]
• Inne
 [443741]
• Kalendarze
 [1187]
• Podręczniki
 [166463]
• Poradniki
 [469211]
• Religia
 [506887]
• Czasopisma
 [481]
• Sport
 [61343]
• Sztuka
 [242115]
• CD, DVD, Video
 [3348]
• Technologie
 [219293]
• Zdrowie
 [98602]
• Książkowe Klimaty
 [124]
• Zabawki
 [2385]
• Puzzle, gry
 [3504]
• Literatura w języku ukraińskim
 [260]
• Art. papiernicze i szkolne
 [7151]
Kategorie szczegółowe BISAC

Introduction to Programming with C++ for Engineers

ISBN-13: 9781119431107 / Angielski / Miękka / 2021 / 656 str.

Boguslaw Cyganek
Introduction to Programming with C++ for Engineers Boguslaw Cyganek   9781119431107 Wiley-Blackwell (an imprint of John Wiley & S - książkaWidoczna okładka, to zdjęcie poglądowe, a rzeczywista szata graficzna może różnić się od prezentowanej.

Introduction to Programming with C++ for Engineers

ISBN-13: 9781119431107 / Angielski / Miękka / 2021 / 656 str.

Boguslaw Cyganek
cena 422,49
(netto: 402,37 VAT:  5%)

Najniższa cena z 30 dni: 416,47
Termin realizacji zamówienia:
ok. 30 dni roboczych.

Darmowa dostawa!

Increasingly, students of subjects other than Computer Science need to learn computer science basics. In this respect, students of Electronics, Telecommunication, Automatics, Robotics, etc. need to be well prepared to program low-level microprocessor platforms, to know programming concepts of simple and advanced operating systems (e.g. uC/OS, FreeRTOS and Linux), be well prepared for parallel computations, as well as for programming of embedded systems, device drivers, programmable logic devices (FPGA) and graphic cards, to name a few. All of these heavily rely on C/C++. Since the majority of the operating systems and system components are still expressed in pure C, EE students need to be able to understand C, at the same time being able to write new code in the modern object-oriented fashion provided by C++, however. Nevertheless, separately learning both languages as well as basics of data structures and algorithms would require too much time whereas the usual time allowance for these is one or two semesters only. This book is based on the author's lectures on Introduction to Computer Science, Methods and Techniques of Programming, and Operating Systems and Object-Oriented Programming Languages, given for undergraduate and graduate students of Electronics, Electronics and Telecommunication, as well as Acoustic Engineering in the Department of Electronics, AGH University of Science and Technology, over the last 20 years.

Kategorie:
Informatyka, Programowanie
Kategorie BISAC:
Computers > Languages - C
Wydawca:
Wiley-Blackwell (an imprint of John Wiley & S
Język:
Angielski
ISBN-13:
9781119431107
Rok wydania:
2021
Numer serii:
000416198
Ilość stron:
656
Waga:
1.35 kg
Wymiary:
25.15 x 17.78 x 3.3
Oprawa:
Miękka
Wolumenów:
01
Dodatkowe informacje:
Bibliografia

Preface xiAcknowledgments xiiiAbbreviations xvAbout the Companion Website xvii1 Introduction 11.1 Structure of the Book 51.2 Format Conventions 81.3 About the Code and Projects 92 Introduction to Programming 132.1 Hardware Model 132.2 Software Development Ecosystem 162.3 Software Development Steps 182.4 Representing and Running Algorithms 202.4.1 Representing Algorithms 212.4.2 Using Online Compilers 222.4.3 Structure of a C++ Program 242.4.4 Code Analysis 242.4.5 Building a Linux Executable 262.5 Example Project - Compound Interest Calculator 292.5.1 Compound Interest Analysis 292.5.2 Implementation of the Interest Calculator 302.5.3 Building and Running the Software 332.6 Example Project - Counting Occurrences of Characters in Text 342.6.1 Problem Analysis and Implementation 342.6.2 Running the C++ Code with the Online Compiler 352.6.3 Histogram Code, Explained 362.7 Summary 39Questions and Exercises 393 C++ Basics 433.1 Constants and Variables - Built-In Data Types, Their Range, and Initialization 433.2 Example Project - Collecting Student Grades 533.3 Our Friend the Debugger 563.4 The Basic Data Structure - std::vector 593.5 Example Project - Implementing a Matrix as a Vector of Vectors 643.6 Special Vector to Store Text - std::string 673.7 Using the auto Keyword and decltype for Automatic Type Deduction 723.8 Common Standard Algorithms 753.9 Structures: Collecting Objects of Various Types 793.10 Fixed-Size Arrays 833.10.1 Multidimensional Fixed-Size Arrays 853.11 References 873.12 Pointers 903.12.1 Object Access with Pointers 903.13 Statements 953.13.1 Blocks of Statements and Access to Variables - The Role of Braces 953.13.2 C++ Statements 973.13.2.1 Conditional Statements 973.13.2.2 Loop Statements 1033.13.2.3 Auxiliary Statements - continue and break 1083.13.2.4 The goto Statement 1103.13.2.5 Structural Exception Handling - The try-catch Statement 1103.14 Functions 1123.14.1 Anatomy of a Function in C++ 1123.14.2 Passing Arguments to and from a Function 1173.14.2.1 Argument Passing by Copy (Value Semantics) 1183.14.2.2 Indirect Argument Passing by Reference 1193.14.2.3 Passing by Pointer 1213.14.3 Function Call Mechanism and Inline Functions 1233.14.4 Recursive Functions and the Call Stack 1253.14.5 Function Overloading - Resolving Visibility with Namespaces 1263.14.6 Lambda Functions 1283.14.7 More on Lambda Functions 1323.14.8 Function Pointers 1383.14.9 Functions in an Object-Oriented Framework 1403.15 Example Project - Wrapping Objects in a Structure with a Constructor 1423.15.1 EMatrix in an Object-Oriented Environment 1453.15.2 Basic Operations with EMatrix 1453.15.3 Input and Output Operations on EMatrix 1473.15.4 Basic Mathematical Operations on EMatrix 1483.15.5 Organizing the Project Files and Running the Application 1503.15.6 Extending Matrix Initialization with a Simple Random Number Generator 1533.16 Example Project - Representing Quadratic Equations 1543.16.1 Definition of a Class to Represent Quadratic Polynomials 1553.16.2 TQuadEq Member Implementation 1623.16.3 TQuadEq in Action 1653.17 Example Project - Tuples and Structured Bindings for Converting Roman Numerals 1673.17.1 More on std::tuple and the Structured Binding 1703.17.2 How to Write a Software Unit Test 1733.17.3 Automating Unit Tests - Using the Standard Random Number Library 1743.18 Example Project - Building a Currency Calculator Component 1763.18.1 Currency Exchange Problem Analysis 1773.18.2 CurrencyCalc Software Design 1793.18.3 TCurrency Class Representing Currency Records 1813.18.3.1 C++ Input/Output Manipulators 1833.18.4 TCurrencyExchanger Class for Exchanging Currency 1863.18.5 Putting It All Together - The Complete Currency Exchange Program 1903.19 Operators 1963.19.1 Summary of the C++ Operators 1993.19.2 Further Notes on Operators 2223.20 Summary 223Questions and Exercises 2244 Delving into Object-Oriented Programming 2274.1 Basic Rules and Philosophy of Object-Oriented Design and Programming 2274.2 Anatomy of a Class 2314.2.1 Naming Conventions and Self-Documenting Code 2334.3 Rules for Accessing Class Members 2334.4 Example Project - TComplex Class for Operator Overloading 2354.4.1 Definition of the TComplex Class 2364.4.2 Definition of the TComplex Class Members 2414.4.3 Test Functions for the TComplex Class 2434.5 More on References 2464.5.1 Right and Forward References 2464.5.2 References vs. Pointers 2514.5.3 Pitfalls with References 2524.6 Example Project - Mastering Class Members with the TheCube Class 2534.6.1 Automatic vs. Explicit Definition of the Constructors 2544.6.2 TheCube Object Layout and Semantics 2644.6.3 Shallow vs. Deep Copy Semantics 2654.6.4 Move Constructor and Move Assignment Semantics 2664.6.5 Implementation of the TheCube Streaming Operators 2674.6.6 Validation of TheCube 2694.7 Example Project - Moving EMatrix to the Class 2724.7.1 Definition of the EMatrix Class 2724.7.2 Implementation of the Class Streaming Operators 2744.7.3 Implementation of the Arithmetic Operators 2784.7.4 Testing Matrix Operations 2794.8 Introduction to Templates and Generic Programming 2814.8.1 Generalizing a Class with Templates 2824.8.2 Template Specializations 2864.8.3 Template Functions and Type Checking 2874.8.4 Example Project - Designing Template Classes with TStack 2894.8.4.1 Design and Implementation of the TStackFor Class 2904.8.4.2 Testing TStack 2934.8.5 Template Member Functions 2944.9 Class Relations - "Know," "Has-A," and "Is-A" 2974.10 Example Project - Extending Functionality Through Class Inheritance with TComplexQuadEq 3044.11 Virtual Functions and Polymorphism 3104.12 More on the Virtual Mechanism 3164.13 The Curiously Recurring Template Pattern and Static Polymorphism 3184.14 Mixin Classes 3224.15 Example Project - The TLongNumberFor Class for Efficient Storage of Numbers of Any Length 3234.15.1 Binary-Coded Decimal Representation 3254.15.2 Endianness 3264.15.3 Definition of the TLongNumberFor Class 3264.15.3.1 Type-Converting Operations 3294.15.3.2 TLongNumberFor Test Function 3334.15.4 Designing Classes for PESEL IDs 3354.15.4.1 Aggregating PESEL 3364.15.4.2 Inherited PESEL 3374.15.4.3 LongNumber Project Organization 3384.15.5 Extending the Functionality of TLongNumberFor with the Proxy Pattern 3404.15.5.1 Definition of the Proxy Class 3414.15.5.2 Testing the Functionality of the TLongNumberFor Class with the Proxy Pattern 3434.16 Strong Types 3454.17 Summary 346Questions and Exercises 3465 Memory Management 3495.1 Types of Data Storage 3495.2 Dynamic Memory Allocation - How to Avoid Memory Leaks 3495.2.1 Introduction to Smart Pointers and Resource Management 3585.2.1.1 RAII and Stack Unwinding 3595.3 Smart Pointers - An Overview with Examples 3605.3.1 More on std::unique_ptr 3605.3.1.1 Context for Using std::unique_ptr 3605.3.1.2 Factory Method Design Pattern 3745.3.1.3 Custom deletes for unique_ptr 3765.3.1.4 Constructions to Avoid When Using unique_ptr 3785.3.2 More on shared_ptr and weak_ptr 3785.4 Summary 381Questions and Exercises 3816 Advanced Object-Oriented Programming 3836.1 Functional Objects 3836.2 Example Project - Extending the Currency Search in XML Files, and Using State Machine and Regular Expressions with the regex Library 3896.2.1 Pattern Matching with the Regular Expression Library 3906.2.2 State Machine Pattern 3926.2.3 Implementing the Extended Class 3936.2.4 Project Extension - Loading Currency Information from the Internet 3996.2.5 Launching the Extended Version of CurrencyCalc 4056.2.6 Building a Static Library and a Terminal Window Application 4096.2.7 C++ Filesystem 4106.2.8 User Interface 4196.2.8.1 Definition of the CC_GUI Class 4206.2.8.2 Definitions of Members of the CC_GUI Class and the Callback Mechanism 4236.2.8.3 Launching the GUI-Based Application 4306.3 System Clocks and Time Measurements 4316.4 Time Measurement for Function Execution 4356.5 Range Class 4376.5.1 Functional Programming and the Ranges Library 4426.6 Example Project - Parsing Expressions 4436.6.1 Defining Language Expressions with Formal Grammar Rules 4446.6.2 Design of the Expression-Processing Framework 4466.6.3 The First Expression Interpreter 4476.6.4 Building the Syntax Tree with the Composite Design Pattern 4516.6.4.1 The Composite Design Pattern to Define the Nodes of a Tree 4526.6.4.2 Implementation of the TNode Hierarchy and Cooperation with Visitors 4536.6.4.3 Implementation of the ValueLeafNode Class 4556.6.4.4 Implementation of the BinOperator Class 4576.6.4.5 Implementation of the PlusOperator Class 4586.6.4.6 Deep Copying Node Objects - The Prototyping Mechanism 4596.6.5 Interpreter to Build a Syntax Tree 4606.6.6 Stack for Smart Pointers 4666.6.7 Traversing Trees with the Visitor Design Pattern 4696.6.7.1 The Expression-Evaluating Visitor 4726.6.7.2 The Expression-Printing Visitor 4746.6.8 Testing the Interpreters 4766.6.9 Representing Expressions on a Stack in Reverse Polish Notation 4796.6.9.1 Reverse Polish Notation 4796.6.9.2 Algorithm for Evaluating an RPN Expression 4806.7 Summary 485Questions and Exercises 4857 Computer Arithmetic 4897.1 Integer Value Representation 4897.1.1 Base Conversion Algorithm 4917.1.2 Hexadecimal and Octal Representations 4927.1.3 Binary Addition 4937.1.4 Negative Values and Subtraction 4947.1.5 Arithmetic Control Flags 4967.1.6 Representing Fractions 4987.2 Binary Shift Operations 5017.3 Example Project - Software Model for Fixed-Point Representations 5037.3.1 Fixed-Point Numbers and Their Arithmetic 5037.3.2 Definition of the FxFor Class 5047.3.3 Selected Methods of the FxFor Class 5107.3.4 Applications of FxFor 5167.4 Floating-Point Representations 5197.4.1 Number Representation in Floating-Point Format 5207.4.2 Distribution of Floating-Point Numbers and the Computational Consequences 5247.4.3 Real-Value Approximation Error with Floating-Point Representations 5277.4.4 The IEEE 754 Standard for Floating-Point Arithmetic 5307.4.5 The Standard FP Operation Model 5377.4.6 Computations That Are Conscious of Numerical Errors 5377.4.7 Example Project - Evaluating the Summation Algorithms 5397.4.8 Example Project - The Newton Method of Finding the Roots of a Function 5447.4.8.1 Function to Compute Square Roots Based on Newton's Iteration 5487.5 Summary 550Questions and Exercises 5518 Basics of Parallel Programming 5538.1 Basic Concepts of Parallel Computations 5538.2 Adding Parallelism to the Standard Algorithms 5568.3 Launching Asynchronous Tasks 5598.4 Parallelization with the OpenMP Library 5618.4.1 Launching a Team of Threads and Providing Exclusive Access Protection 5628.4.2 Loop Parallelization and Reduction Operations 5648.4.3 Massive Data Parallelization 5678.5 Summary 575Questions and Exercises 575Appendix 577A.1 Preprocessor Directives 577A.2 Short Introduction to C 582A.2.1 Built-in Arrays 583A.2.1.1 Multidimensional Fixed-Size Arrays 585A.2.2 Passing Arrays to Functions - The Main Function 586A.2.3 C Structures 590A.2.4 C Functions and Input/Output 591A.2.5 Unions 592A.2.6 Memory and String Operations 593A.2.7 Binding C and C++ Code 599A.3 Linking and Binary Organization of C/C++ Objects 599A.4 Graphical User and Web Interfaces for C++ Projects 601A.5 Converting Bin, Oct, Dec, and Hex Values with FixBinCalc 603A.6 Programming Toolchain 604A.6.1 Project-Generating Tool (CMake) 604A.6.2 Source Version Control and Repositories 609A.6.3 Profiler 610A.7 Software Testing 612A.8 Summary 616Questions and Exercises 616Bibliography 619Index 623

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.



Udostępnij

Facebook - konto krainaksiazek.pl



Opinie o Krainaksiazek.pl na Opineo.pl

Partner Mybenefit

Krainaksiazek.pl w programie rzetelna firma Krainaksiaze.pl - płatności przez paypal

Czytaj nas na:

Facebook - krainaksiazek.pl
  • książki na zamówienie
  • granty
  • książka na prezent
  • kontakt
  • pomoc
  • opinie
  • regulamin
  • polityka prywatności

Zobacz:

  • Księgarnia czeska

  • Wydawnictwo Książkowe Klimaty

1997-2026 DolnySlask.com Agencja Internetowa

© 1997-2022 krainaksiazek.pl
     
KONTAKT | REGULAMIN | POLITYKA PRYWATNOŚCI | USTAWIENIA PRYWATNOŚCI
Zobacz: Księgarnia Czeska | Wydawnictwo Książkowe Klimaty | Mapa strony | Lista autorów
KrainaKsiazek.PL - Księgarnia Internetowa
Polityka prywatnosci - link
Krainaksiazek.pl - płatnośc Przelewy24
Przechowalnia Przechowalnia