home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Simtel MSDOS 1992 September
/
Simtel20_Sept92.cdr
/
msdos
/
modula2
/
mod2txt.arc
/
CHAP1.TXT
next >
Wrap
Text File
|
1987-03-25
|
6KB
|
191 lines
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