


                                                        Chapter 1
                                      WHAT IS A COMPUTER PROGRAM?


THIS CHAPTER IS FOR NEW PROGRAMMERS
_________________________________________________________________

If you are a complete novice to computers you will find the
information in this chapter useful.  If however, you have had some
experience with programming, you can completely ignore this
chapter.  It will deal with a few fundamentals of computers in
general and will introduce nothing that is specific to Pascal.


WHAT IS A COMPUTER PROGRAM?
_________________________________________________________________

A computer is nothing but a very dumb machine that has the ability
to perform mathematical operations very rapidly and very
accurately, but it can do nothing without the aid of a program
written by a human being.  Moreover, if the human being writes a
program that turns good data into garbage, the computer will very
obediently, and very rapidly, turn the good data into garbage.  It
is possible to write a computer program with one small error in it
that will do that very thing, and in some cases appear to be
generating good data.  It is up to the human programmer to design
a program to achieve the desired results.

A computer program is simply a "recipe" which the computer will use
on the input data to derive the desired output data.  It is similar
to the recipe for baking a cake.  The input data is comparable to
the ingredients, including the heat supplied by the oven.  The
program is comparable to the recipe instructions to mix, stir,
wait, heat, cool, and all other possible operations on the
ingredients.  The output of the computer program can be compared
to the final cake sitting on the counter ready to be cut and
served.  A computer program is therefore composed of two parts, the
data upon which the program operates, and the program that operates
on the data.  The data and program are inseparable as implied by
the last sentence.


WHAT ARE CONSTANTS?
_________________________________________________________________

Nearly any computer program requires some numbers that never change
throughout the program.  They can be defined once and used as often
as needed during the operation of the program.  To return to the
recipe analogy, once you have defined how big a tablespoon is, you
can use the same tablespoon without regard to what you are
measuring with it.  When writing a computer program, you can define
the value of PI = 3.141592, and continue to use it wherever it
makes sense knowing that it is available, and correct.

                                                         Page 1-1

                          Chapter 1 - What is a computer program?

WHAT ARE VARIABLES?
_________________________________________________________________

In addition to constants, nearly every computer program uses some
numbers that change in value throughout the program.  They can be
defined as variables, then changed to any values that make sense
to the proper operation of the program.  An example would be the
number of eggs in the above recipe.  If a single layer of cake
required 2 eggs, then a triple layer cake would require 6 eggs. 
The number of eggs would therefore be a variable.


HOW DO WE DEFINE CONSTANTS OR VARIABLES?
_________________________________________________________________

All constants and variables have a name and a value.  In the last
example, the name of the variable was "eggs", and the value was
either 2 or 6 depending on when we looked at the stored data.  In
a computer program the constants and variables are given names in
much the same manner, after which they can store any value within
the defined range.  Any computer programming language has a means
by which constants or variables can be first named, then assigned
a value.  The means for doing this in Pascal will be given
throughout the remainder of this tutorial.


WHAT IS SO GOOD ABOUT PASCAL?
_________________________________________________________________

Some computer languages allow the programmer to define constants
and variables in a very haphazard manner and then combine data in
an even more haphazard manner.  For example, if you added the
number of eggs, in the above recipe, to the number of cups of
flour, you would arrive at a valid mathematical addition, but a
totally meaningless number.  Some programming languages would allow
you to do just such an addition and obediently print out the
meaningless answer.  Since Pascal requires you to set up your
constants and variables in a very precise manner, the possibility
of such a meaningless answer is minimized.  A well written Pascal
program has many cross checks to minimize the possibility of a
completely scrambled and meaningless output.

Notice however, in the last statement, that a "well written" Pascal
program was under discussion.  It is still up to the programmer to
define the data structure in such a way that the program can help
prevent garbage generation.  In the end, the program will be no
better than the analysis that went into the program design.

If you are a novice programmer, do not be intimidated by any of the
above statements.  Pascal is a well designed, useful tool that has
been used successfully by many computer novices and professionals. 
With these few warnings, you are ready to begin.



                                                         Page 1-2
