C and Algorithmic Thinking for the Complete Beginner Learn to Think Like a Programmer 3rd Edition by Aristides S. Bouras – Ebook PDF Instant Download/Delivery: 979-8883514264, 8883514264
Full download C and Algorithmic Thinking for the Complete Beginner Learn to Think Like a Programmer 3rd Edition after payment

Product details:
ISBN 10: 8883514264
ISBN 13: 979-8883514264
Author: Aristides S. Bouras
Completely updated for the latest version of C++, this book offers a comprehensive introduction to programming, assuming no prior knowledge of the subject. It is designed for individuals, eager to learn C++ from scratch, providing a strong foundation in Algorithmic Thinking—the fundamental skill every aspiring programmer must acquire. Algorithmic Thinking encompasses more than just writing code; it entails mastering the art of problem-solving through coding.
This edition retains all the popular features of its predecessor while introducing a wealth of new exercises, along with extensive revisions and updates. Furthermore, brand-new chapters offer a practical introduction to working with text files.
Structured for both classroom use and independent study, each chapter is concluded with a set of questions and exercises designed to reinforce your understanding and apply what you’ve learned. With approximately 250 solved and 480 unsolved exercises, 500 true/false questions, 150 multiple-choice questions, and 200 review questions and crosswords (with solutions and answers available online), this book is ideal for:
- Novices or intermediate-level programmers pursuing self-study
- High school students
- First-years college or university students
- Educators
- Professors
- Anyone who wants to start learning or teaching computer programming using the best practices and techniques
Table of contents:
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
If you Like this Book
Part I 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++ and Integrated Development Environments
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
2.5 Boost C++ Libraries
2.6 Integrated Development Environments
2.7 Microsoft Visual Studio
Chapter 3 Software Packages to Install
3.1 What to Install
Review in “Introductory Knowledge”
Review Crossword Puzzles
Review Questions
Part II 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 What “Debugging” Means
4.15 Commenting Your Code
4.16 User-Friendly Programs
4.17 Review Questions: True/False
4.18 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 and Conventions 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 How to Output Messages and Results to a User’s Screen?
6.2 How to Output Special Characters?
6.3 How to Prompt the User to 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 Creating a Trace Table
Exercise 8.1-3 Swapping Values of Variables
Exercise 8.1-4 Swapping Values of Variables – An Alternative Approach
8.2 Review Questions: True/False
8.3 Review Exercises
Chapter 9 Using Visual Studio Community or Visual Studio
Code
9.1 Write, Execute and Debug C++ Programs
Review in “Getting Started with C++”
Review Crossword Puzzles
Review Questions
Part III 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 Where is the Car? Calculating Distance Traveled
Exercise 10.1-4 Kelvin to Fahrenheit
Exercise 10.1-5 Calculating Sales Tax
Exercise 10.1-6 Calculating a Sales Discount
Exercise 10.1-7 Calculating a Sales Discount and Tax
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
Part IV 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
Exercise 15.4-1 Calculating the Results of 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?
Exercise 15.6-1 Filling in the Truth Table
Exercise 15.6-2 Converting English Sentences to Boolean Expressions
15.7 What is the Order of Precedence of Arithmetic, Comparison, and Logical Operators?
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 Review Questions: True/False
20.3 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 A Mistake That You Will Probably Make!
21.4 Converting Flowcharts to C++ Programs
Exercise 21.4-1 Writing the C++ Program
Exercise 21.4-2 Writing the C++ Program
Exercise 21.4-3 Writing the C++ Program
21.5 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 with Decision Control Structures
23.1 Simple Exercises with Decision Control Structures
Exercise 23.1-1 Is it an Integer?
Exercise 23.1-2 Validating Data Input and Finding Odd and Even Numbers
Exercise 23.1-3 Where is the Tollkeeper?
Exercise 23.1-4 The Most Scientific Calculator Ever!
Exercise 23.1-5 Converting Gallons to Liters, and Vice Versa
Exercise 23.1-6 Converting Gallons to Liters, and Vice Versa (with Data Validation)
23.2 Finding Minimum and Maximum Values with Decision Control Structures
Exercise 23.2-1 Finding the Name of the Heaviest Person
23.3 Decision Control Structures in Solving Mathematical Problems
Exercise 23.3-1 Finding the Value of y.
Exercise 23.3-2 Finding the Values of y.
Exercise 23.3-3 Solving the Linear Equation ax + b = 0
Exercise 23.3-4 Solving the Quadratic Equation ax2 + bx + c = 0
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 Checking for Proper Capitalization and Punctuation
Exercise 23.5-4 Is the Number a Palindrome?
23.6 Boolean Expressions Reference and Handy Tips
23.7 Review Exercises
Review in “Decision Control Structures”
Review Crossword Puzzle
Review Questions
Part V 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 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 Definite Loops
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 Violating the First Rule
Exercise 27.2-2 Violating the Second Rule
27.3 Review Questions: True/False
27.4 Review Questions: Multiple Choice
27.5 Review Exercises
Chapter 28 More about Flowcharts with Loop Control Structures
28.1 Introduction
28.2 Converting C++ Programs to Flowcharts
Exercise 28.2-1 Designing the Flowchart Fragment
Exercise 28.2-2 Designing the Flowchart Fragment
Exercise 28.2-3 Designing the Flowchart
Exercise 28.2-4 Designing the Flowchart Fragment
Exercise 28.2-5 Designing the Flowchart
28.3 Converting Flowcharts to C++ Programs
Exercise 28.3-1 Writing the C++ Program
Exercise 28.3-2 Writing the C++ Program
Exercise 28.3-3 Writing the C++ Program
Exercise 28.3-4 Writing the C++ Program
28.4 Review Exercises
Chapter 29 Tips and Tricks with Loop Control Structures
29.1 Introduction
29.2 Choosing a Loop Control Structure
29.3 The “Ultimate” Rule
29.4 Breaking Out of a Loop
29.5 Cleaning Out Your Loops
Exercise 29.5-1 Cleaning Out the Loop
Exercise 29.5-2 Cleaning Out the Loop
29.6 Endless Loops and How to Stop Them
29.7 The “From Inner to Outer” Method
29.8 Review Questions: True/False
29.9 Review Questions: Multiple Choice
29.10 Review Exercises
Chapter 30 More 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 the Sum of Four Numbers
30.4 Finding Minimum and Maximum Values with Loop
Control Structures
Exercise 30.4-1 Validating and Finding the Minimum and the Maximum Value
Exercise 30.4-2 Validating and Finding the Hottest Planet
Exercise 30.4-3 “Making the Grade”
30.5 Using Loop Control Structures to Solve Mathematical Problems
Exercise 30.5-1 Calculating the Area of as Many Triangles as the User Wishes
Exercise 30.5-2 Finding x and y.
Exercise 30.5-3 The Russian Multiplication Algorithm
Exercise 30.5-4 Finding the Number of Divisors
Exercise 30.5-5 Is the Number a Prime?
Exercise 30.5-6 Finding all Prime Numbers from 1 to N
Exercise 30.5-7 Heron’s Square Root
Exercise 30.5-8 Calculating π
Exercise 30.5-9 Approximating a Real with a Fraction
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
Part VI 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
People also search for:
develop algorithmic thinking
thinking as computation pdf
thinking as computation
algorithmic thinking skills
logic and algorithms


