Programming language skills begin with the basic syntax and
semantics of the language. They advance through the solution of small
exercises and are refined through solving more complete problems.
“Real-world” applications, used every day in business
and research, are less than ideal for learning a programming language. The
business-oriented problems often have a very narrow in focus; the
solutions are dictated by odd budgetary constraints or departmental
politics. Reasearch problems are also narrowly focused, often lacking a
final “application” to surround the interesting parts of the
programming and create a final, finished product.
This part provides several large exercises that provide for more
advanced programming than the smaller exercises at the end of each
section. These aren't real-world in scope, but they are quite a bit larger
than the small exercises at the end of each chapter.
We cover several problems that have interesting algorithms. These
are ranked in order of difficulty.
Chapter 37, Areas of the Flag
. Computing the area of the symbols
on the American flag.
Chapter 38, The Date of Easter
. Finding the date for Easter in a
given year.
Chapter 39, Musical Pitches
. Computing the frequencies of
various musical pitches.
Chapter 40, Bowling Scores
. Computing the score in a game
of bowling.
Chapter 41, Mah Jongg Hands
. Evaluate a winning Mah Jongg
hand.
Chapter 42, Chess Game Notation
. Interpreting the log from a game
of chess.