Title: Building blocks No' 2 and GWBASIC PROGRAMMING
1Building blocks No. 2and GWBASIC PROGRAMMING
2- For new comers,GWBASIC a good start-easy to
learn, portable executable program with graphics
capability, and is a freeware. - BASIC-acronym for Beginners All-purpose Symbolic
Instruction Code - designed as a language for beginners
- developed by John Kemeny and Kenneth Kurtz
- GWBASIC-version of BASIC produced by
Microsoft,Inc. - Other languages
- FORTRAN - Formula Translation for S and E.
- Gnu Fortran 77- freeware FORTRAN 90 is most
recent version.
3We will learn to write simple programs in GWBASIC
- Gwbasic, Fortran and other higher level languages
do essentially the same thing-they interpret the
program or souce code we write into a language
the machine can understand. - Gwbasic is a program by itself. It is an
interpreter, that is, it translates our code line
by line to the computer while our program is
running. - Fortran and similar languages interpret or
compile the entire code into a machine language
before the computer can run the program.
4GETTING STARTED
- Beginning a session
- Gwbasic screen KEY OFF, KEY ON
- Coding or writing a new program (NEW)
- Saving a program (SAVE or F4 key)
- Loading or recalling a program (LOAD or F3 key)
- Running a program (RUN or F2 key)
- Ending your computer session (SYSTEM)
5Getting started- see how these commands work.
- NEW
- SAVE filename
- LOAD filename
- RUN filename
- SYSTEM
- Note close quotation optional. Extension name if
not present is understood to be .BAS.
6GWBASIC EDITOR
- A Gwbasic pgm consists of numbered program lines
all lines are executable except REM (or ) lines.
The lines are executed according to numerical
sequence. - Correcting errors-key operations
- Inserting lines
- Some commands for editing
- CLS, FILES, LIST
- RENUM, DELETE
7BUILDING BLOCKS OF A GWBASIC PROGRAM - 1
A Gwbasic program as shown in the examples is
made up of a structured collection of numbered
LINE STATEMENTS, which are executed by the
computer according to numerical
sequence. Structured means the line statements
carry out specific tasks in accordance with some
clear and logical procedure. SYNTAX Line number
statement statement comment Note
refer to optional elements in the line
statement.
8BUILDING BLOCKS OF A GWBASIC PROGRAM - 2
EXAMPLES OF LINE STATEMENTS 10 X 5 R 8.03
CAB C is the speed in cm/sec 300 Z
2.98(X1.07) 500 PRINT X, Y, Z 600 GOTO 198 89
GOSUB 345 900 LPRINT A,B,C 40 IF Xlt2 THEN GOTO
30 ELSE GOTO 90 10 REM Program does linear
regression analysis.
9BUILDING BLOCKS OF A GWBASIC PROGRAM - 3
QUESTION What makes up a line statement? How do
we construct them? 1. NUMERIC CONSTANTS - 2, 1/4,
-56.083, 0.000367, -3.45E12, 12.9213,
6.213453678921234 2. VARIABLES - X , Y, DIST ,
A(2), B(3,4), NAME 3. OPERATIONS -
arithmetic/algebraic operations , -, ,
/ ,\ , MOD 4. RULES - naming of variables,
hierarchy of operations, use of parentheses,
... 5. STRUCTURE - flow of control, program
layout, ...
101. NUMERIC CONSTANTS - 1
TYPES OF NUMERIC CONSTANTS 1. Integer - an
ordinary integer, positive or negative.
Range -32768lt x lt 32768 . Example 7, -23,
21346, 789 2. Single precision - a number with
six or fewer significant digits that has a
decimal point. Range 10(-38) lt x lt
10(38) ( refers to exponentiation,
meaning raised to) Example 234.567,
-9.8765, 6.023E23
111. NUMERIC CONSTANTS 2
3. Double precision a number with seven or more
significant digits and a decimal point. May
have as many as 17 significant digits.
Range As in single precision constants
Example 3.76324523, 0.9987698543574532,
1.6578438D-12
121. NUMERIC CONSTANTS - 3
- TYPE DECLARATION TAGS
- The type of a number can be indicated by a type
- declaration tag
- TYPE TAG EXAMPLE
- 1. Integer 3,
564 - 2. Single precision ! 1.34! ,
43.7865!, - 23.56E-8
- 3. Double precision 3.4567,
2.67D21
132. VARIABLES - 1
- RULES FOR NAMING OF VARIABLES
- 1. Characters must be alphanumeric,i.e., use
alphabetic (A-Z) and numeral (0 9) characters
only. - 2. First character must be a letter.
- 3. Variable name may contain as many as 40
characters. No blank spaces in a name. - Note Use variable names which reflect the data
stored in the variable. Also, long variable names
are not practical or advisable to use in a
program.
142. VARIABLES - 2
- Variables in Gwbasic and other programming
languages are classified according to the data
they store. We have the following types in
Gwbasic - Variable type Type declaration tag
Example - Integer J, KK, ICT
- Single ! X!, A7!, DIST!
- Double XJ23,
AREA - String TITLE, A5B
- Note String variables in Gwbasic are initialized
to the null character . The other variables
are initialized to 0.
152. VARIABLES - 3
- VARIABLE DECLARATION
- Each variable must be assigned a type.
- In general, however, it is not necessary to worry
about variable type declaration in a program.
Gwbasic adopts an implicit declaration of
variables variable names which end with the
tag are declared string variables variable names
which do not end in any tag character are
declared variable names of type SINGLE. - Explicit variable type declaration can be
accomplished using either the type declaration
tags (.!,,) or the DEFtype statements.
162. VARIABLES - 4
- EXAMPLES EXPLICIT VARIABLE TYPE DECLARATION
- Using the tag characters A, ITEM, Y!, BBC
- Using the DEFtype statements put these
statements at the beginning of the program.
- DEFINT B-F, L-M, P This means that all
variable names which begin with the letters B to
F, L to M, and P are to be treated as integer
variables, that is, the values they store are
integer constants. - DEFSNG, DEFDBL, DEFSTR statements for
single, double, and string variables respectively
follow the same syntax. - Note Tag characters override DEFtype statements.
172. VARIABLES - 5
SUBSCRIPTED VARIABLES The purpose is to use the
same variable name to refer to a collection of
data or numbers. Example X(I), I 1, 10
A(K , L ), K 1,10 , L 1, 25 Here , X
is a one-dimensional array while A is a two-
dimensional array. The dimensions or sizes of the
arrays are communicated to the computer by using
the DIM statement 10 DIM X(10),
A(10,25) NotePut DIM statements at the beginning
of the program.
183. OPERATIONS - 1
- 1. Hierarchy of operations list is of descending
priority - Operation Symbol Example
- Exponentiation
215, X5, -
5.12(1/3) - Multiplication, division , /
XY, A/2.35 - Integer division \
3\2, 9\2 - Remainder in integer MOD 8 MOD 3
- division
- Addition,subtraction , -
6.7 89.3 5.7
193. OPERATIONS - 2
2. Arithmetic operations are carried out LEFT to
RIGHT. 3. Use parentheses whenever their use will
help clarify the order of the operations that
must be carried out. Inner parentheses are
calculated first. Examples 3.689.263-8.72.3-1
.9 ((2.8-3.56)/3.9)-(2.7/3.843.3) 4. Algebraic
expressions are constructed using the numeric
constants,variables and the arithmetic operations
discussed above. Built-in mathematical functions
in Gwbasic enlarge the kind of algebraic
expressions we can employ in a program.
20BUILT-IN FUNCTIONS - 1
FUNCTION SYNTAX 1. Sine
SIN(X) , X in
radians 2. Cosine
COS(X) 3. Tangent
TAN(X) 4. Arc tangent
ATN(X) 5. Square root SQR(X) ,
X gt 0 6. Exponential
EXP(X) 7. Natural logarithm LOG(X) , X
gt 0
21BUILT-IN FUNCTIONS - 2
FUNCTION SYNTAX 8.
Absolute value ABS(X) 9. Greatest
integer INT(X) less than or
equal to X 10. Remove decimal
FIX(X) part of a number 11. Remove the
number SGN(X) but keep its sign
22BUILT-IN FUNCTIONS - 3
FUNCTION
SYNTAX 12. Convert X to integer constant
CINT(X) 13. Convert X to single precision
CSNG(X) constant 14. Convert X to
double precision CDBL(X)
constant
234. RULES
By this we mean the specific procedures that we
must use in order to correctly translate our code
into a language the computer can understand. We
have seen several of these rules. Other rules
relating to the various constructs of Gwbasic may
be found in the appropriate sections of the
manual you downloaded from the internet.
245. STRUCTURE
The structure for the various commands will be
discussed when we get to them. However,the
structure or layout of a Gwbasic program should
look like the one below 10 Program
documentation 20 Main program - dimension,
type and user-defined function
statements 30 Subroutines 40 Data
statements 50 End statement
25INPUT/OUTPUT STATEMENTS - 1
The purpose of these statements is to receive
data for computer processing and to output the
results generated by the program. Input
statements 1. INPUT - gets input data from
keyboard. 100 INPUT X,Y, Z, AY
20 INPUT IFLAG IFLAG 2. READ and DATA
statements come together. 50 READ X, T,
N, H 100 DATA 10.3, 25.6,
argon, 234.1
26INPUT/OUTPUT STATEMENTS - 2
Output statements 1. PRINT - prints output to
the screen. 100 PRINT A 50
PRINT TITLE 350 PRINT
TAB(5)XTAB(15)Y 2. PRINT USING - for
formatting output 120 PRINT USING
.A 70 PRINT USING A .
JA,J 3. LPRINT - as above, but
print is transferred to the line
printer for a hardcopy. 4. LPRINT USING - as in
no. 3 above.
27CONTROL STATEMENTS - 1
There are four control statements in Gwbasic
FOR-NEXT, GOTO, IF-THEN, and IF-THEN-ELSE. 1.
FOR-NEXT - for repetitive calculations.
Syntax line FOR X X1 TO X2 STEP X3
line statement 1 line statement n
line NEXT X Note The default value of the
increment X3 is 1 if the optional bracketed
expression is omitted.
28CONTROL STATEMENTS - 2
Example FOR-NEXT statement 120 FOR J
1 TO 50 130 K 3J1 140 PRINT J
JTAB(12)K K 150 NEXT J
--------------------------------------------------
----------------- 20 SUM 0. KF 12
KL 32 KDEL 5 30 FOR K KF TO KL
STEP KDEL 40 SUM SUM 2.87CSNG(K)3
50 NEXT K
29CONTROL STATEMENTS - 3
Example nested FOR-NEXT statements 10 DIM
A(50), B(50,20), C(50) 40 FOR N 1 TO 30 STEP
3 50 X A(N)2 3.87 60 FOR L 1 TO 10 70
B(N, L) A(N)C(L) X COS(X)/LOG(X-1.05) 80
NEXT L 90 NEXT N
30CONTROL STATEMENTS - 4
2. GOTO statement - for unconditional transfer of
control Syntax line GOTO line
Example 120 GOTO 230 70
GOTO 10
31CONTROL STATEMENTS - 5
3. IF-THEN statement Relational operators
Symbol Equal
Less than
lt Greater than
gt Less than or equal to
lt Greater than or equal to gt
These operators are used in the argument of the
IF statement to determine the flow of
control.
32CONTROL STATEMENTS - 6
Compound relational operators AND , OR Simple
relational expression - involves a single
relational operator A gt 12, Blt 3. Complex
relational expression - involves several simple
relational expressions joined by the relational
operators AND and OR. Examples (Agt8) AND (Clt2)
This is true if both expressions are true
false otherwise. (Agt8) OR (Clt2) This is true
provided one or the other of the two expressions
is true false otherwise.
33More in the next part..