                 CHAPTER 1 - What is a computer program?


            If  you are a complete novice to computers you will find 

        the  information in this chapter useful.    f  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.   It is up to the human  programmer 

        to design the 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  then is 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.

                             WHAT ARE VARIABLES?

            In  addition to constants,  nearly any computer  program 

        uses  some  numbers  that change  in  value  throughout  the 

        program.   They can be defined as variables, then changed to 



                                Page 4









                 CHAPTER 1 - What is a computer program?


        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  a  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 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 5

