home *** CD-ROM | disk | FTP | other *** search
- Chapter 1 - What is a computer program?
-
-
- If you are a complete novice to computers, you will
- find the information in this chapter useful. If you have
- some experience in computer use, and especially programming,
- you can completely ignore this chapter. It will deal with a
- few of the most fundamental topics of computers and will
- have nothing to do with the Modula-2 programming language.
-
- 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 good data into garbage. It is possible to write a
- large program with one small error that will do just that.
- In some cases the error will be obvious, but if the error is
- subtle, the answers may appear to be right, and the error
- will go unnoticed. It is up to you, the human programmer,
- to write a correct program to tell the computer what to do.
- You can think of the computer as your very obedient slave
- ready to do your every whim. It is up to you to tell your
- slave what you want it to do.
-
- A computer program is 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 then is composed of two parts, the data upon which
- the program operates, and 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 5
-
-
-
-
-
-
-
-
-
- Chapter 1 - What is a computer program?
-
-
-
- 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
- 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 value. 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 language has a means by which constants and
- variables can be first named, then assigned a value. The
- means of doing this in Modula-2 will be given throughout the
- remainder of this tutorial.
-
- WHAT IS SO GOOD ABOUT MODULA-2?
-
- 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 Modula-2 requires you to set up your constants and
- variables in a very precise manner, the possibility of such
- a meaningless answer in minimized. A well written Modula-2
- 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" Modula-2 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. Modula-2 is a well designed
-
-
-
- Page 6
-
-
-
-
-
-
-
-
-
- Chapter 1 - What is a computer program?
-
-
- tool that has been used successfully by many computer
- novices and professionals. With these few warnings, you are
- ready to begin.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 7
-
-