
93
Chapter 4
Solving Problems
It’s not that I am so smart, it’s just that I stay with problems longer.
ALBERT EINSTEIN
OBJECTIVES
• To examine problem definition as the beginning of all good problem
solving
• To explore functional requirements as the core of algorithmic prob-
lem definitions
• To examine several ways that logical reasoning is applied to software
development, including cause-effect relationships, deductive reason-
ing, and inductive reasoning
• To understand that programming is an activity that often relies upon
knowledge of patterns and that the five basic patterns of control
flow are sequences, selection, repetition, control abstra ...