Problem Solving and Programming Concepts

by ;
  • ISBN13:


  • ISBN10:


  • Edition: 9th
  • Format: Paperback
  • Copyright: 2011-02-23
  • Publisher: Pearson

Note: Supplemental materials are not guaranteed with Rental or Used book purchases.

Purchase Benefits

  • Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • Get Rewarded for Ordering Your Textbooks! Enroll Now
  • We Buy This Book Back!
    In-Store Credit: $8.40
    Check/Direct Deposit: $8.00
List Price: $161.80 Save up to $123.41
  • Rent Book $97.08
    Add to Cart Free Shipping


Supplemental Materials

What is included with this book?

  • The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.
  • The Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.


Problem Solving and Programming Concepts, 9/e,is a core or supplementary text for one-semester, freshman/sophomore-level introductory courses taken by programming majors in Problem Solving for Programmers, Problem Solving for Applications, any Computer Language Course, or Introduction to Programming. #xA0; Revised to reflect the most current issues in the programming industry, this widely adopted text emphasizes that problem solving is the same in allcomputer languages, regardless of syntax. Sprankle and Hubbard use a generic, non-language-specific approach to present the tools and concepts required when using any programming language to develop computer applications. Designed for students with little or no computer experience - but useful to programmers at any level - the text provides step-by-step progression and consistent in-depth coverage of topics, with detailed explanations and many illustrations.

Author Biography

Maureen Sprankle is a Professor Emeritus at the College of the Redwoods, in Eureka, CA. She received her M.B.A. (emphasis in Computer Information Systems) and B.A. in Music from Humboldt State University, and her B.A. in Mathematics from Pepperdine University. In addition to teaching, Maureen has worked as a consultant in microcomputers for business and education, as a freelance Programmer/Analyst (business and scientific applications), and as a Scientific Programmer/Analyst Research Programmer in the space industry. After retiring from teaching, she and her husband of 43 years, Dr. Norman Sprankle,  moved to the Oregon coast, where they both enjoy traveling, teaching, computers, the theater, and the out of doors. Her hobbies include music and reading.


Jim Hubbard is a software architect and the President of Healthware Solutions, LLC. Jim received his M.I.S. degree from Humboldt State University. He has held the position of CIO at Healthware Solutions, LLC. With 26 years of experience in the field of software development and implementation, Jim provides a valuable industry perspective to problem solving and programming.

Table of Contents

Preface vii


Chapter 1 General Problem-Solving Concepts 3

Problem Solving in Everyday Life 3

Types of Problems 5

Problem Solving with Computers 6

Difficulties with Problem Solving 6

Summary 7

New Terms 7

Questions 7

Problems 8

Chapter 2 Beginning Problem-Solving Concepts for the Computer 11

Constants and Variables 13

Data Types 16

How the Computer Stores Data 20

Functions 21

Operators 23

Expressions and Equations 27

Summary 34

New Terms 35

Questions 35

Problems 37

Chapter 3 Planning Your Solution 41

Communicating with the Computer 42

Organizing the Solution 43

Introduction to UML (Unified Modeling Language) 55

Using the Tools 59

Testing the Solution 61

Coding the Solution 61

Software Development Cycle 62

Summary 62

New Terms 63

Questions 63

Problems 63

UNIT ONE Supplementary Exercises, 65


Chapter 4 An Introduction to Programming Structure 71

Pointers for Structuring a Solution 72

The Modules and Their Functions 74

Cohesion and Coupling 75

Local and Global Variables 77

Parameters 79

Return Values 84

Variable Names and the Data Dictionary 85

The Three Logic Structures 85

Summary 86

New Terms 86

Questions 87

Problems 87

Chapter 5 Problem Solving with the Sequential Logic Structure 89

Algorithm Instructions, Flowchart Symbols 89

The Sequential Logic Structure 92

Solution Development 94

Summary 101

Questions 102

Problems 102

Chapter 6 Problem Solving with Decisions 105

The Decision Logic Structure 106

Multiple If/Then/Else Instructions 108

Using Straight-Through Logic 110

Using Positive Logic 111

Using Negative Logic 115

Logic Conversion 117

Which Decision Logic? 120

Decision Tables 120

Putting It All Together 127

The Case Logic Structure 135

Codes 137

Putting It All Together 138

Another Putting It All Together 140

Summary 141

New Terms 142

Questions 142

Problems 143

Chapter 7 Problem Solving with Loops 149

The Loop Logic Structure 150

lncrementing 151

Accumulating 151

While/WhileEnd 152

Putting It All Together 154

Repeat/Until 154

Putting It All Together 157

Automatic-Counter Loop 159

Putting It All Together 163

Nested Loops 163

Indicators 166

Algorithm Instructions and Flowchart Symbols 167

Recursion 169

Summary 169

New Terms 174

Questions 174

Problems 174

UNIT TWO Supplementary Exercises, 177


Chapter 8 Processing Arrays 181

Arrays 182

One-Dimensional Arrays 184

Putting It All Together 189

Two-Dimensional Arrays 191

Putting It All Together 199

Multidimensional Arrays 208

Table Look-Up Technique 209

The Pointer Technique 213

Putting It All Together 226

Summary 235

New Terms 235

Questions 235

Problems 236

Chapter 9 Sorting, Stacks, and Queues 239

Sorting Techniques 240

Stacks 247

Queues 248

Summary 252

New Terms 252

Questions 252

Problems 253

Chapter 10 File Concepts 255

Beginning File Concepts 256

Records as a Data Structure 256

Primary and Secondary Keys 256

Algorithm Instructions and Flowchart Symbols 256

Systems Flowcharts 259

Designing Records 259

Summary 263

New Terms 263

Questions 263

Problems 263

Chapter 11 Linked Lists 265

Creating Linked Lists 265

Examples of Adding Data to/Deleting Data from Linked Lists 266

Algorithms and Flowcharts to Add, Delete, and Access Data in a Linked List 271

Summary 284

New Terms 284

Questions 284

Problems 284

Chapter 12 Binary Trees 287

Creation of Binary Trees 288

Accessing Data in a Binary Tree 290

Traversal of Binary Trees 294

Summary 296

New Terms 296

Questions 296

Problems 296

UNIT THREE Supplementary Exercises, 297


Chapter 13 Database Management Systems 301

Why a DBMS? 302

DBMS Components 303

DBMS Models 304

Client-Server Model 305

DBMS Tasks 306

Summary 307

New Terms 308

Questions 308

Chapter 14 Relational Database Management Systems 309

Tables, Records, and Fields 310

Normalizing Tables 311

Entity Relation Model 315

Schema 318

Creating Tables 318

Queries 320

Interface Design 322

Reports 323

Planning a Solution Using an RDBMS 323

Summary 332

New Terms 332

Questions 333

Problems 333


Chapter 15 Concepts of Object-Oriented Programming 337

Object-Oriented Programming 338

Graphical User Interface (GUI) 348

Event-Driven Object-Oriented Programming 348

Interactivity 351

Summary 351

New Terms 352

Questions 352

Problems 353

Chapter 16 Object-Oriented Program Design 355

Designing an Object-Oriented Application 356

Interface Design 362

Designing an Event-Driven Object-Oriented Application 371

Summary 380

New Terms 380

Questions 381

Problems 381


Chapter 17 Introduction to Concepts of Game Development Using Object-Oriented Programming 385

Game Development 386

Planning the Game 386

Steps to Develop a Simple Game 387

Summary 388

New Terms 388

Questions 388

Problems 388

Chapter 18 Introduction to Assembly Language 391

Assembly Language versus High-Level Languages 392

Assembly Language Concepts 392

Some Basic Assembly Language Instructions 392

Assembly Language Equivalents to the Four Logic Structures 393

Summary 395

New Terms 395

Questions 395

Problems 395


Chapter 19 Sequential-Access File Applications 399

Processing Sequential-Access Files 401

The Primer Read 401

Designing Output Reports 401

Headings and Line Counters 403

Control-Breaks 409

Multiple Control-Breaks 413

Using Indicators for Program Control 415

Error Handling 420

Null Files 422

Summary 430

New Terms 431

Questions 431

Problems 431

Chapter 20 Sequential-Access File Updating 433

Creating Files 434

The Master File 435

Transaction Files 435

Activity Files 435

Backup Files 435

Updating the Master File Using a Transaction File 435

Putting It All Together 442

A Useful Alternative Method 452

Summary 457

New Terms 457

Questions 457

Problems 457

UNIT FIVE Supplementary Exercises , 459

APPENDIX A Otto the Robot 461

APPENDIX B ASCII and EBCDIC Codes for Data Representation 469

APPENDIX C Forms to Use in Problem Solving 473

APPENDIX D Other Problem-Solving Tools 493

APPENDIX E Other Functions 497



Rewards Program

Write a Review