وبلاگ بلیان

C++ and Algorithmic Thinking for the Complete Beginner (2nd Edition): Learn to Think Like a Programmer

جلد کتاب C++ and Algorithmic Thinking for the Complete Beginner (2nd Edition): Learn to Think Like a Programmer

معرفی کتاب «C++ and Algorithmic Thinking for the Complete Beginner (2nd Edition): Learn to Think Like a Programmer» نوشتهٔ Tristan Gooley و Aristides Bouras، منتشرشده توسط نشر 2 در سال 2021. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است.

Thoroughly revised for the latest version of C++, this book explains basic concepts in a clear and explicit way that takes very seriously one thing for granted—that the reader knows nothing about computer programming. Addressed to anyone who has no prior programming knowledge or experience, but a desire to learn programming with C++, it teaches the first thing that every novice programmer needs to learn, which is Algorithmic Thinking . Algorithmic Thinking involves more than just learning code. It is a problem-solving process that involves learning how to code. This edition contains all the popular features of the previous edition and adds a significant number of exercises, as well as extensive revisions and updates. Apart from C++’s arrays, it now also covers unordered maps, while a brand new section provides an effective introduction to the next field that a programmer needs to work with, which is Object Oriented Programming (OOP). This book has a class course structure with questions and exercises at the end of each chapter so you can test what you have learned right away and improve your comprehension. With 250 solved and 450 unsolved exercises, 475 true/false, about 150 multiple choice, and 200 review questions and crosswords (the solutions and the answers to which can be found on the Internet), this book is ideal for novices or average programmers, for self-study high school students first-year college or university students teachers professors anyone who wants to start learning or teaching computer programming using the proper conventions and techniques Table of Contents Preface About the Author Acknowledgments How This Book is Organized Who Should Buy This Book? Conventions Used in This Book How to Report Errata Where to Download Material About this Book Section 1 Introductory Knowledge Chapter 1 How a Computer Works 1.1 Introduction 1.2 What is Hardware? 1.3 What is Software? 1.4 How a Computer Executes (Runs) a Program 1.5 Compilers and Interpreters 1.6 What is Source Code? 1.7 Review Questions: True/False 1.8 Review Questions: Multiple Choice Chapter 2 C++ 2.1 What is C++? 2.2 What is the Difference Between a Script and a Program? 2.3 Why You Should Learn C++ 2.4 How C++ Works Chapter 3 Software Packages to Install 3.1 Visual Studio 3.2 Book's examples 3.3 Boost C++ Libraries 3.4 How to Set Up Visual Studio Code on Windows 3.5 How to Set Up Visual Studio Code on Linux Review in “Introductory Knowledge” Review Crossword Puzzles Review Questions Section 2 Getting Started with C++ Chapter 4 Introduction to Basic Algorithmic Concepts 4.1 What is an Algorithm? 4.2 The Algorithm for Making a Cup of Tea 4.3 Properties of an Algorithm 4.4 Okay About Algorithms. But What is a Computer Program Anyway? 4.5 The Three Parties! 4.6 The Three Main Stages Involved in Creating an Algorithm 4.7 Flowcharts Exercise 4.7-1 Finding the Average Value of Three Numbers 4.8 What are ”Reserved Words”? 4.9 What is the Difference Between a Statement and a Command? 4.10 What is Structured Programming? 4.11 The Three Fundamental Control Structures Exercise 4.11-1 Understanding Control Structures Using Flowcharts 4.12 Your First C++ Program 4.13 What is the Difference Between a Syntax Error, a Logic Error, and a Runtime Error? 4.14 Commenting Your Code 4.15 User-Friendly Programs 4.16 Review Questions: True/False 4.17 Review Questions: Multiple Choice Chapter 5 Variables and Constants 5.1 What is a Variable? 5.2 What is a Constant? 5.3 How Many Types of Variables and Constants Exist? 5.4 Rules for Naming Variables and Constants in C++ 5.5 What Does the Phrase “Declare a Variable” Mean? 5.6 How to Declare Variables in C++ 5.7 How to Declare Constants in C++ 5.8 Review Questions: True/False 5.9 Review Questions: Multiple Choice 5.10 Review Exercises Chapter 6 Handling Input and Output 6.1 Which Statement Outputs Messages and Results on a User's Screen? 6.2 How to Output Special Characters 6.3 Which Statement Lets the User Enter Data? 6.4 Review Questions: True/False 6.5 Review Questions: Multiple Choice Chapter 7 Operators 7.1 The Value Assignment Operator 7.2 Arithmetic Operators 7.3 What is the Precedence of Arithmetic Operators? 7.4 Compound Assignment Operators Exercise 7.4-1 Which C++ Statements are Syntactically Correct? Exercise 7.4-2 Finding Variable Types 7.5 Incrementing/Decrementing Operators 7.6 String Operators Exercise 7.6-1 Concatenating Names 7.7 Review Questions: True/False 7.8 Review Questions: Multiple Choice 7.9 Review Exercises Chapter 8 Trace Tables 8.1 What is a Trace Table? Exercise 8.1-1 Creating a Trace Table Exercise 8.1-2 Swapping Values of Variables Exercise 8.1-3 Swapping Values of Variables – An Alternative Approach Exercise 8.1-4 Creating a Trace Table Exercise 8.1-5 Creating a Trace Table 8.2 Review Questions: True/False 8.3 Review Exercises Chapter 9 Using Visual Studio Code 9.1 Writing and Executing a C++ Program 9.2 What “Debugging” Means 9.3 Debugging C++ Programs 9.4 Review Exercises Review in “Getting Started with C++ Review Crossword Puzzles Review Questions Section 3 Sequence Control Structures Chapter 10 Introduction to Sequence Control Structures 10.1 What is the Sequence Control Structure? Exercise 10.1-1 Calculating the Area of a Rectangle Exercise 10.1-2 Calculating the Area of a Circle Exercise 10.1-3 Calculating Fuel Economy Exercise 10.1-4 Where is the Car? Calculating Distance Traveled Exercise 10.1-5 Kelvin to Fahrenheit Exercise 10.1-6 Calculating Sales Tax Exercise 10.1-7 Calculating a Sales Discount Exercise 10.1-8 Calculating the Sales Tax Rate and Discount 10.2 Review Exercises Chapter 11 Manipulating Numbers 11.1 Introduction 11.2 Useful Mathematical Functions (Subprograms), and More Exercise 11.2-1 Calculating the Distance Between Two Points Exercise 11.2-2 How Far Did the Car Travel? 11.3 Review Questions: True/False 11.4 Review Questions: Multiple Choice 11.5 Review Exercises Chapter 12 Complex Mathematical Expressions 12.1 Writing Complex Mathematical Expressions Exercise 12.1-1 Representing Mathematical Expressions in C++ Exercise 12.1-2 Writing a Mathematical Expression in C++ Exercise 12.1-3 Writing a Complex Mathematical Expression in C++ 12.2 Review Exercises Chapter 13 Exercises With a Quotient and a Remainder 13.1 Introduction Exercise 13.1-1 Calculating the Quotient and Remainder of Integer Division Exercise 13.1-2 Finding the Sum of Digits Exercise 13.1-3 Displaying an Elapsed Time Exercise 13.1-4 Reversing a Number 13.2 Review Exercises Chapter 14 Manipulating Strings 14.1 Introduction 14.2 The Position of a Character in a String 14.3 Useful String Functions/Methods (Subprograms), and More Exercise 14.3-1 Displaying a String Backwards Exercise 14.3-2 Switching the Order of Names Exercise 14.3-3 Creating a Login ID Exercise 14.3-4 Creating a Random Word Exercise 14.3-5 Finding the Sum of Digits 14.4 Review Questions: True/False 14.5 Review Questions: Multiple Choice 14.6 Review Exercises Review in “Sequence Control Structures” Review Crossword Puzzle Review Questions Section 4 Decision Control Structures Chapter 15 Making Questions 15.1 Introduction 15.2 What is a Boolean Expression? 15.3 How to Write Simple Boolean Expressions Exercise 15.3-1 Filling in the Table 15.4 Logical Operators and Complex Boolean Expressions 15.5 Assigning the Result of a Boolean Expression to a Variable 15.6 What is the Order of Precedence of Logical Operators? 15.7 What is the Order of Precedence of Arithmetic, Comparison, and Logical Operators? Exercise 15.7-1 Filling in the Truth Table Exercise 15.7-2 Calculating the Results of Complex Boolean Expressions Exercise 15.7-3 Converting English Sentences to Boolean Expressions 15.8 How to Negate Boolean Expressions Exercise 15.8-1 Negating Boolean Expressions 15.9 Review Questions: True/False 15.10 Review Questions: Multiple Choice 15.11 Review Exercises Chapter 16 The Single-Alternative Decision Structure 16.1 The Single-Alternative Decision Structure Exercise 16.1-1 Trace Tables and Single-Alternative Decision Structures Exercise 16.1-2 The Absolute Value of a Number 16.2 Review Questions: True/False 16.3 Review Questions: Multiple Choice 16.4 Review Exercises Chapter 17 The Dual-Alternative Decision Structure 17.1 The Dual-Alternative Decision Structure Exercise 17.1-1 Finding the Output Message Exercise 17.1-2 Trace Tables and Dual-Alternative Decision Structures Exercise 17.1-3 Who is the Greatest? Exercise 17.1-4 Finding Odd and Even Numbers Exercise 17.1-5 Weekly Wages 17.2 Review Questions: True/False 17.3 Review Questions: Multiple Choice 17.4 Review Exercises Chapter 18 The Multiple-Alternative Decision Structure 18.1 The Multiple-Alternative Decision Structure Exercise 18.1-1 Trace Tables and Multiple-Alternative Decision Structures Exercise 18.1-2 Counting the Digits 18.2 Review Questions: True/False 18.3 Review Exercises Chapter 19 The Case Decision Structure 19.1 The Case Decision Structure Exercise 19.1-1 The Days of the Week 19.2 Review Questions: True/False 19.3 Review Exercises Chapter 20 Nested Decision Control Structures 20.1 What are Nested Decision Control Structures? Exercise 20.1-1 Trace Tables and Nested Decision Control Structures Exercise 20.1-2 Positive, Negative or Zero? 20.2 A Mistake That You Will Probably Make! 20.3 Review Questions: True/False 20.4 Review Exercises Chapter 21 More about Flowcharts with Decision Control Structures 21.1 Introduction 21.2 Converting C++ Programs to Flowcharts Exercise 21.2-1 Designing the Flowchart Exercise 21.2-2 Designing the Flowchart Exercise 21.2-3 Designing the Flowchart 21.3 Converting Flowcharts to C++ Programs Exercise 21.3-1 Writing the C++ Program Exercise 21.3-2 Writing the C++ Program Exercise 21.3-3 Writing the C++ Program 21.4 Review Exercises Chapter 22 Tips and Tricks with Decision Control Structures 22.1 Introduction 22.2 Choosing a Decision Control Structure 22.3 Streamlining the Decision Control Structure Exercise 22.3-1 “Shrinking” the Algorithm Exercise 22.3-2 “Shrinking” the C++ Program Exercise 22.3-3 “Shrinking” the Algorithm 22.4 Logical Operators – to Use, or not to Use: That is the Question! Exercise 22.4-1 Rewriting the Code Exercise 22.4-2 Rewriting the Code 22.5 Merging Two or More Single-Alternative Decision Structures Exercise 22.5-1 Merging the Decision Control Structures Exercise 22.5-2 Merging the Decision Control Structures 22.6 Replacing Two Single-Alternative Decision Structures with a Dual-Alternative One Exercise 22.6-1 “Merging” the Decision Control Structures 22.7 Put the Boolean Expressions Most Likely to be True First Exercise 22.7-1 Rearranging the Boolean Expressions 22.8 Why is Code Indentation so Important? 22.9 Review Questions: True/False 22.10 Review Questions: Multiple Choice 22.11 Review Exercises Chapter 23 More Exercises with Decision Control Structures 23.1 Simple Exercises with Decision Control Structures Exercise 23.1-1 Both Odds or Both Evens? Exercise 23.1-2 Is it an Integer? Exercise 23.1-3 Validating Data Input and Finding Odd and Even Numbers Exercise 23.1-4 Converting Gallons to Liters, and Vice Versa Exercise 23.1-5 Converting Gallons to Liters, and Vice Versa (with Data Validation) Exercise 23.1-6 Where is the Tollkeeper? Exercise 23.1-7 The Most Scientific Calculator Ever! 23.2 Decision Control Structures in Solving Mathematical Problems Exercise 23.2-1 Finding the Value of y Exercise 23.2-2 Finding the Values of y Exercise 23.2-3 Solving the Linear Equation ax + b = 0 Exercise 23.2-4 Solving the Quadratic Equation ax2 + bx + c = 0 23.3 Finding Minimum and Maximum Values with Decision Control Structures Exercise 23.3-1 Finding the Name of the Heaviest Person 23.4 Exercises with Series of Consecutive Ranges of Values Exercise 23.4-1 Calculating the Discount Exercise 23.4-2 Validating Data Input and Calculating the Discount Exercise 23.4-3 Sending a Parcel Exercise 23.4-4 Finding the Values of y Exercise 23.4-5 Progressive Rates and Electricity Consumption Exercise 23.4-6 Progressive Rates and Text Messaging Services 23.5 Exercises of a General Nature with Decision Control Structures Exercise 23.5-1 Finding a Leap Year Exercise 23.5-2 Displaying the Days of the Month Exercise 23.5-3 Is the Number a Palindrome? Exercise 23.5-4 Checking for Proper Capitalization and Punctuation 23.6 Review Exercises Review in “Decision Control Structures” Review Crossword Puzzle Review Questions Section 5 Loop Control Structures Chapter 24 Introduction to Loop Control Structures 24.1 What is a Loop Control Structure? 24.2 From Sequence Control to Loop Control Structures 24.3 Review Questions: True/False Chapter 25 Pre-Test, Mid-Test and Post-Test Loop Structures 25.1 The Pre-Test Loop Structure Exercise 25.1-1 Designing the Flowchart and Counting the Total Number of Iterations Exercise 25.1-2 Counting the Total Number of Iterations Exercise 25.1-3 Designing the Flowchart and Counting the Total Number of Iterations Exercise 25.1-4 Counting the Total Number of Iterations Exercise 25.1-5 Finding the Sum of Four Numbers Exercise 25.1-6 Finding the Sum of Odd Numbers Exercise 25.1-7 Finding the Sum of N Numbers Exercise 25.1-8 Finding the Sum of an Unknown Quantity of Numbers Exercise 25.1-9 Finding the Product of 20 Numbers 25.2 The Post-Test Loop Structure Exercise 25.2-1 Designing the Flowchart and Counting the Total Number of Iterations Exercise 25.2-2 Counting the Total Number of Iterations Exercise 25.2-3 Designing the Flowchart and Counting the Total Number of Iterations Exercise 25.2-4 Counting the Total Number of Iterations Exercise 25.2-5 Finding the Product of N Numbers 25.3 The Mid-Test Loop Structure Exercise 25.3-1 Designing the Flowchart and Counting the Total Number of Iterations 25.4 Review Questions: True/False 25.5 Review Questions: Multiple Choice 25.6 Review Exercises Chapter 26 The for statement 26.1 The for statement Exercise 26.1-1 Creating the Trace Table Exercise 26.1-2 Creating the Trace Table Exercise 26.1-3 Counting the Total Number of Iterations Exercise 26.1-4 Finding the Sum of Four Numbers Exercise 26.1-5 Finding the Square Roots from 0 to N Exercise 26.1-6 Finding the Sum of 1 + 2 + 3 + ... + 100 Exercise 26.1-7 Finding the Product of 2 × 4 × 6 × 8 × 10 Exercise 26.1-8 Finding the Sum of 22 + 42 + 62 + ... (2N)2 Exercise 26.1-9 Finding the Sum of 33 + 66 + 99 + ... (3N)3N Exercise 26.1-10 Finding the Average Value of Positive Numbers Exercise 26.1-11 Counting the Vowels 26.2 Rules that Apply to For-Loops Exercise 26.2-1 Counting the Total Number of Iterations Exercise 26.2-2 Counting the Total Number of Iterations Exercise 26.2-3 Counting the Total Number of Iterations Exercise 26.2-4 Counting the Total Number of Iterations Exercise 26.2-5 Finding the Sum of N Numbers 26.3 Review Questions: True/False 26.4 Review Questions: Multiple Choice 26.5 Review Exercises Chapter 27 Nested Loop Control Structures 27.1 What is a Nested Loop? Exercise 27.1-1 Say “Hello Zeus”. Counting the Total Number of Iterations. Exercise 27.1-2 Creating the Trace Table 27.2 Rules that Apply to Nested Loops Exercise 27.2-1 Breaking the First Rule Exercise 27.2-2 Breaking the Second Rule 27.3 Review Questions: True/False 27.4 Review Questions: Multiple Choice 27.5 Review Exercises Chapter 28 Tips and Tricks with Loop Control Structures 28.1 Introduction 28.2 Choosing a Loop Control Structure 28.3 The “Ultimate” Rule 28.4 Breaking Out of a Loop 28.5 Cleaning Out Your Loops Exercise 28.5-1 Cleaning Out the Loop Exercise 28.5-2 Cleaning Out the Loop 28.6 Endless Loops and How to Avoid Them 28.7 The “From Inner to Outer” Method 28.8 Review Questions: True/False 28.9 Review Questions: Multiple Choice 28.10 Review Exercises Chapter 29 Flowcharts with Loop Control Structures 29.1 Introduction 29.2 Converting C++ Programs to Flowcharts Exercise 29.2-1 Designing the Flowchart Fragment Exercise 29.2-2 Designing the Flowchart Fragment Exercise 29.2-3 Designing the Flowchart Exercise 29.2-4 Designing the Flowchart Fragment Exercise 29.2-5 Designing the Flowchart Exercise 29.2-6 Designing the Flowchart 29.3 Converting Flowcharts to C++ Programs Exercise 29.3-1 Writing the C++ Program Exercise 29.3-2 Writing the C++ Program Exercise 29.3-3 Writing the C++ Program Exercise 29.3-4 Writing the C++ Program 29.4 Review Exercises Chapter 30 More Exercises with Loop Control Structures 30.1 Simple Exercises with Loop Control Structures Exercise 30.1-1 Counting the Numbers According to Which is Greater Exercise 30.1-2 Counting the Numbers According to Their Digits Exercise 30.1-3 How Many Numbers Fit in a Sum Exercise 30.1-4 Finding the Total Number of Positive Integers Exercise 30.1-5 Iterating as Many Times as the User Wishes Exercise 30.1-6 Finding the Sum of the Digits 30.2 Exercises with Nested Loop Control Structures Exercise 30.2-1 Displaying all Three-Digit Integers that Contain a Given Digit Exercise 30.2-2 Displaying all Instances of a Specified Condition 30.3 Data Validation with Loop Control Structures Exercise 30.3-1 Finding Odd and Even Numbers - Validation Without Error Messages Exercise 30.3-2 Finding Odd and Even Numbers - Validation with One Error Message Exercise 30.3-3 Finding Odd and Even Numbers - Validation with Individual Error Messages Exercise 30.3-4 Finding the Sum of Four Numbers 30.4 Using Loop Control Structures to Solve Mathematical Problems Exercise 30.4-1 Calculating the Area of as Many Triangles as the User Wishes Exercise 30.4-2 Finding x and y Exercise 30.4-3 The Russian Multiplication Algorithm Exercise 30.4-4 Finding the Number of Divisors Exercise 30.4-5 Is the Number a Prime? Exercise 30.4-6 Finding all Prime Numbers from 1 to N Exercise 30.4-7 Heron's Square Root Exercise 30.4-8 Calculating π Exercise 30.4-9 Approximating a Real with a Fraction 30.5 Finding Minimum and Maximum Values with Loop Control Structures Exercise 30.5-1 Validating and Finding the Minimum and the Maximum Value Exercise 30.5-2 Validating and Finding the Hottest Planet Exercise 30.5-3 ”Making the Grade” 30.6 Exercises of a General Nature with Loop Control Structures Exercise 30.6-1 Fahrenheit to Kelvin, from 0 to 100 Exercise 30.6-2 Rice on a Chessboard Exercise 30.6-3 Just a Poll Exercise 30.6-4 Is the Message a Palindrome? 30.7 Review Questions: True/False 30.8 Review Exercises Review in “Loop Control Structures” Review Crossword Puzzle Review Questions Section 6 Data Structures in C++ Chapter 31 One-Dimensional Arrays and Maps 31.1 Introduction 31.2 What is an Array? Exercise 31.2-1 Designing an Array Exercise 31.2-2 Designing Arrays Exercise 31.2-3 Designing Arrays 31.3 Creating One-Dimensional Arrays in C++ 31.4 How to Get Values from a One-Dimensional Array Exercise 31.4-1 Creating the Trace Table Exercise 31.4-2 Using a Non-Existing Index 31.5 How to Alter the Value of an Array Element 31.6 How to Iterate Through a One-Dimensional Array Exercise 31.6-1 Finding the Sum 31.7 How to Add User-Entered Values to a One-Dimensional Array Exercise 31.7-1 Displaying Words in Reverse Order Exercise 31.7-2 Displaying Positive Numbers in Reverse Order Exercise 31.7-3 Finding the Average Value Exercise 31.7-4 Displaying Reals Only Exercise 31.7-5 Displaying Elements with Odd-Numbered Indexes Exercise 31.7-6 Displaying Even Numbers in Odd–Numbered Index Positions 31.8 What is a Map? 31.9 Creating Unordered Maps in C++ 31.10 How to Get a Value from an Unordered Map Exercise 31.10-1 Using a Non-Existing Key in Unordered Maps 31.11 How to Alter the Value of a Map Element Exercise 31.11-1 Assigning a Value to a Non-Existing Key 31.12 How to Iterate Through a Map 31.13 Review Questions: True/False 31.14 Review Questions: Multiple Choice 31.15 Review Exercises Chapter 32 Two-Dimensional Arrays 32.1 Creating Two-Dimensional Arrays in C++ 32.2 How to Get Values from Two-Dimensional Arrays Exercise 32.2-1 Creating the Trace Table 32.3 How to Iterate Through a Two-Dimensional Array 32.4 How to Add User-Entered Values to a Two-Dimensional Array Exercise 32.4-1 Displaying Reals Only Exercise 32.4-2 Displaying Odd Columns Only 32.5 What's the Story on Variables i and j? 32.6 Square Matrices Exercise 32.6-1 Finding the Sum of the Elements of the Main Diagonal Exercise 32.6-2 Finding the Sum of the Elements of the Antidiagonal Exercise 32.6-3 Filling in the Array 32.7 Review Questions: True/False 32.8 Review Questions: Multiple Choice 32.9 Review Exercises Chapter 33 Tips and Tricks with Arrays 33.1 Introduction 33.2 Processing Each Row Individually Exercise 33.2-1 Finding the Average Value 33.3 Processing Each Column Individually Exercise 33.3-1 Finding the Average Value 33.4 How to Use More Than One Data Structures in a Program Exercise 33.4-1 Finding the Average Value of Two Grades Exercise 33.4-2 Finding the Average Value of More than Two Grades Exercise 33.4-3 Using an Array Along with an Unordered Map 33.5 Creating a One-Dimensional Array from a Two-Dimensional Array 33.6 Creating a Two-Dimensional Array from a One-Dimensional Array 33.7 Review Questions: True/False 33.8 Review Questions: Multiple Choice 33.9 Review Exercises Chapter 34 More Exercises with Arrays 34.1 Simple Exercises with Arrays Exercise 34.1-1 Creating an Array that Contains the Average Values of its Neighboring Elements Exercise 34.1-2 Creating an Array with the Greatest Values Exercise 34.1-3 Merging One-Dimensional Arrays Exercise 34.1-4 Merging Two-Dimensional Arrays Exercise 34.1-5 Creating Two Arrays – Separating Positive from Negative Values Exercise 34.1-6 Creating an Array with Those who Contain Digit 5 34.2 Data Validation with Arrays Exercise 34.2-1 Displaying Odds in Reverse Order – Validation Without Error Messages Exercise 34.2-2 Displaying Odds in Reverse Order – Validation with One Error Message Exercise 34.2-3 Displaying Odds in Reverse Order – Validation with Individual Error Messages 34.3 Finding Minimum and Maximum Values in Arrays Exercise 34.3-1 Which Depth is the Greatest? Exercise 34.3-2 Which Lake is the Deepest? Exercise 34.3-3 Which Lake, in Which Country, Having Which Average Area, is the Deepest? Exercise 34.3-4 Which Students Have got the Greatest Grade? Exercise 34.3-5 Finding the Minimum Value of a Two-Dimensional Array Exercise 34.3-6 Finding the City with the Coldest Day Exercise 34.3-7 Finding the Minimum and the Maximum Value of Each Row 34.4 Sorting Arrays Exercise 34.4-1 The Bubble Sort Algorithm – Sorting One-Dimensional Arrays with Numeric Values Exercise 34.4-2 Sorting One-Dimensional Arrays with Alphanumeric Values Exercise 34.4-3 Sorting One-Dimensional Arrays While Preserving the Relationship with a Second Array Exercise 34.4-4 Sorting Last and First Names Exercise 34.4-5 Sorting a Two-Dimensional Array Exercise 34.4-6 The Modified Bubble Sort Algorithm – Sorting One-Dimensional Arrays Exercise 34.4-7 The Five Best Scorers Exercise 34.4-8 The Selection Sort Algorithm – Sorting One-Dimensional Arrays Exercise 34.4-9 Sorting One-Dimensional Arrays While Preserving the Relationship with a Second Array Exercise 34.4-10 The Insertion Sort Algorithm – Sorting One-Dimensional Arrays Exercise 34.4-11 The Three Worst Elapsed Times 34.5 Searching Elements in Data Structures Exercise 34.5-1 The Linear Search Algorithm – Searching in a One-Dimensional Array that may Contain the Same Value Multiple Times Exercise 34.5-2 Display the Last Names of All Those People Who Have the Same First Name Exercise 34.5-3 The Linear Search Algorithm – Searching in a One-Dimensional Array that Contains Unique Values Exercise 34.5-4 Searching for a Given Social Security Number Exercise 34.5-5 The Linear Search Algorithm – Searching in a Two-Dimensional Array that May Contain the Same Value Multiple Times Exercise 34.5-6 Searching for Wins, Losses and Ties Exercise 34.5-7 The Linear Search Algorithm – Searching in a Two-Dimensional Array that Contains Unique Values Exercise 34.5-8 Checking if a Value Exists in all Columns Exercise 34.5-9 The Binary Search Algorithm – Searching in a Sorted One-Dimensional Array Exercise 34.5-10 Display all the Historical Events for a Country Exercise 34.5-11 Searching in Each Column of a Two-Dimensional Array 34.6 Exercises of a General Nature with Arrays Exercise 34.6-1 On Which Days was There a Possibility of Snow? Exercise 34.6-2 Was There Any Possibility of Snow? Exercise 34.6-3 In Which Cities was There a Possibility of Snow? Exercise 34.6-4 Display from Highest to Lowest Grades by Student, and in Alphabetical Order Exercise 34.6-5 Archery at the Summer Olympics 34.7 Review Questions: True/False 34.8 Review Exercises Review in “Data Structures in C++ Review Crossword Puzzle Review Questions Section 7 Subprograms Chapter 35 Introduction to Subprograms 35.1 What Exactly is a Subprogram? 35.2 What is Procedural Programming? 35.3 What is Modular Programming? 35.4 Review Questions: True/False Chapter 36 User-Defined Subprograms 36.1 Subprograms that Return Values 36.2 How to Make a Call to a Function 36.3 Subprograms that Return no Values 36.4 How to Make a Call to a void Function 36.5 Formal and Actual Arguments 36.6 How Does a Function Execute? Exercise 36.6-1 Back to Basics – Calculating the Sum of Two Numbers Exercise 36.6-2 Calculating the Sum of Two Numbers Using Fewer Lines of Code! 36.7 How Does a void Function Execute? Exercise 36.7-1 Back to Basics – Displaying the Absolute Value of a Number 36.8 Review Questions: True/False 36.9 Review Exercises Chapter 37 Tips and Tricks with Subprograms 37.1 Can Two Subprograms use Variables of the Same Name? 37.2 Can a Subprogram Call Another Subprogram? 37.3 Passing Arguments by Value and by Reference Exercise 37.3-1 Finding the Logic Error 37.4 Passing and/or Returning an Array 37.5 Default Argument Values (Optional Arguments) 37.6 Overloading Functions 37.7 The Scope of a Variable 37.8 Converting Parts of Code into Subprograms 37.9 Recursion Exercise 37.9-1 Calculating the Fibonacci Sequence Recursively 37.10 Review Questions: True/False 37.11 Review Exercises Chapter 38 More Exercises with Subprograms 38.1 Simple Exercises with Subprograms Exercise 38.1-1 Designing the Flowchart Exercise 38.1-2 Designing the Flowchart Exercise 38.1-3 A Simple Currency Converter Exercise 38.1-4 A More Complete Currency Converter Exercise 38.1-5 Finding the Average Values of Positive Integers Exercise 38.1-6 Finding the Sum of Odd Positive Integers Exercise 38.1-7 Finding the Values of y 38.2 Exercises of a General Nature with Subprograms Exercise 38.2-1 Validating Data Input Using a Subprogram Exercise 38.2-2 Sorting an Array Using a Subprogram Exercise 38.2-3 Progressive Rates and Electricity Consumption Exercise 38.2-4 Roll, Roll, Roll the... Dice! Exercise 38.2-5 How Many Times Does Each Number of the Dice Appear? 38.3 Review Exercises Review in “Subprograms” Review Crossword Puzzle Review Questions Section 8 Object-Oriented Programming Chapter 39 Introduction to Object-Oriented Programming 39.1 What is Object-Oriented Programming? 39.2 Classes and Objects in C++ 39.3 The Constructor and the Keyword this 39.4 Passing Initial Values to the Constructor Exercise 39.4-1 Historical Events 39.5 Getter and Setter Methods Exercise 39.5-1 The Roman Numerals 39.6 Can a Method Call Another Method of the Same Class? Exercise 39.6-1 Doing Math 39.7 Class Inheritance 39.8 Review Questions: True/False 39.9 Review Exercises Review in “Object-Oriented Programming” Review Crossword Puzzle Review Questions Some Final Words from the Author
دانلود کتاب C++ and Algorithmic Thinking for the Complete Beginner (2nd Edition): Learn to Think Like a Programmer