Welcome to a tutorial site guaranteed to teach you something about programming,
algorithms, math, puzzles, and problem solving. The basic premise
that "by example" is an effective way to learn
a growing amount of sample
code here to download and run.
examples range from simple (less than 50 lines of user code) to a few that have
several thousand lines. Some were written because I wasn't smart enough,
or too lazy, to solve them by hand. Some probably can only be solved by computer.
And there are one or two that I believe are unsolvable, even with a
computer. The programs all have several things in common...
They solve interesting puzzles
or problems that I've discovered over the years. Examples (these may
not all be posted yet):
Estimate the value of pi by
shooting cannonballs into a pond or dropping needles on a sheet of
Duplicate the hidden
mathematics of sunflowers .
Solve those arithmetic word problems (BONG + BONG + BONG = GONGS).
Solve chessboard problems like The Knights Tour and Eight Queens.
A logic problem solver - at least help solve those logic story problems that are
published monthly in logic magazines.
number problems involving integers, powers, primes, factors, etc. (Find the largest and smallest
non-prime numbers whose prime factors sum to 100).
Palindromic number problems - palindromes read
the same from the left or right. (What's the smallest Palindromic number
that's a perfect square and has an even number of digits?)
animated physics programs - bouncing ball, cannon firing.
And much more....
They are all implemented in DelphiTM,
the modern object oriented implementation of the Pascal programming language with a visual
development environment. If you already own Delphi, you know
what a great language it is. If not, check the
About Delphi page to learn more about getting it. Delphi is a registered
trademark of Borland Inprise Corporation
The problems can be explored at different levels depending on your
interest: Read about the problem, browse the source, or download the
source or executable code and then modify and explore.
Almost none are original. Actually most all of the code is original,
but the problems are
generally not. I've
where I could locate them. Many are classical problems and
puzzles that can be found in books and many places on the Internet.
I've assigned a degree of
difficulty to each program based on lines of user written source code.
That's not entirely accurate but provides a rough guide. Programs
with less than100 user written source code lines are Beginner level, 100-300
and over 300 lines are Advanced. About Delphi
also has some links to first programs and
tutorials for true beginners.
OK, learning comes from doing - so lets