Professional Documents
Culture Documents
Building Blocks 2
Building Blocks 2
Building Blocks 2
2
and
GWBASIC PROGRAMMING
Other languages:
FORTRAN - Formula Translation; for S and E.
Gnu Fortran 77- freeware ; FORTRAN 90 is most
recent version.
GETTING 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)
NEW
SAVE filename
LOAD filename
RUN filename
SYSTEM
GWBASIC 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
BUILDING 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.
BUILDING BLOCKS OF A
GWBASIC
PROGRAM - 2
EXAMPLES OF LINE STATEMENTS
10 X = 5 : R = 8.03 : C=A*B
300 Z = 2.98*(X+1.07)
500 PRINT X, Y, Z
600 GOTO 198
89 GOSUB 345
900 LPRINT A,B,C
40 IF X<=2 THEN GOTO 30 ELSE GOTO 90
10 REM Program does linear regression analysis.
BUILDING 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.45E+12, 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, ...
1. NUMERIC CONSTANTS - 1
TYPES OF NUMERIC CONSTANTS
1. Integer - an ordinary integer, positive or negative.
Range
1. 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
1. NUMERIC CONSTANTS - 3
TYPE DECLARATION TAGS
The type of a number can be indicated by a type
declaration tag:
TYPE
TAG
1. Integer
2. Single precision
%
!
EXAMPLE
3%, 564%
1.34! , 43.7865!,
23.56E-8
3. Double precision
3.4567#, 2.67D+21
2. 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.
2. 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
Example
1. Integer
2. Single
3. Double
XJ23#, AREA#
4. String
TITLE$, A5B$
2. VARIABLES - 3
VARIABLE DECLARATION
1. Each variable must be assigned a type.
2. 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.
3. Explicit variable type declaration can be
accomplished using either the type declaration tags
(%.!,#,$) or the DEFtype statements.
2.
VARIABLES
4
EXAMPLES EXPLICIT VARIABLE TYPE
DECLARATION
1. Using the tag characters A%, ITEM$, Y!, BBC#
2. 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.
2.SUBSCRIPTED
VARIABLES
5
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 twodimensional 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)
Note:Put DIM statements at the beginning of the
program.
3. OPERATIONS - 1
1. 1. Hierarchy of operations: list is of descending
priority
2.
Operation
Symbol
Exponentiation
Example
2^15, X^5,
5.12^(1/3)
Multiplication, division
*, /
X*Y, A/2.35
Integer division
3\2, 9\2
Remainder in integer
MOD
8 MOD 3
+, -
division
Addition,subtraction
3. 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.6*89.2+6^3-8.7+2.3-1.9
((2.8-3.5*6)/3.9)-(2.7/3.8+43.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.
BUILT-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 >= 0
6. Exponential
EXP(X)
7. Natural logarithm
LOG(X) , X > 0
BUILT-IN FUNCTIONS - 2
FUNCTION
SYNTAX
8. Absolute value
ABS(X)
9. Greatest integer
INT(X)
FIX(X)
part of a number
11. Remove the number
but keep its sign
SGN(X)
BUILT-IN FUNCTIONS - 3
FUNCTION
SYNTAX
CINT(X)
CSNG(X)
constant
14. Convert X to double precision
constant
CDBL(X)
4. 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.
5. 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
INPUT/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
INPUT/OUTPUT STATEMENTS - 2
Output statements
1. PRINT - prints output to the screen.
100 PRINT A
50 PRINT TITLE$
350 PRINT TAB(5);X;TAB(15);Y
2. PRINT USING - for formatting output
120 PRINT USING ##.###;A
70 PRINT USING A= ##.### J=###;A,J
3. LPRINT - as above, but print is transferred to the
line printer for a hardcopy.
4. LPRINT USING - as in no. 3 above.
CONTROL STATEMENTS - 1
There are four control statements in Gwbasic: FORNEXT, 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.
CONTROL STATEMENTS - 2
Example : FOR-NEXT statement
120 FOR J = 1 TO 50
130 K = 3*J+1
140 PRINT J =;J;TAB(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.87*CSNG(K%)^3
50 NEXT K%
CONTROL 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
CONTROL STATEMENTS - 4
2. GOTO statement - for unconditional transfer of control
Syntax
line # GOTO line #
Example
120 GOTO 230
70 GOTO 10
CONTROL STATEMENTS - 5
3. IF-THEN statement
Relational operators
Symbol
Equal
Less than
<
Greater than
>
<=
CONTROL STATEMENTS - 6
Compound relational operators: AND , OR
Simple relational expression - involves a single
relational operator: A > 12, B<= 3.
Complex relational expression - involves several simple
relational expressions joined by the relational operators
AND and OR.
Examples:
(A>8) AND (C<2) This is true if both expressions are
true; false otherwise.
(A>8) OR (C<2)
This is true provided one or the
other of the two expressions is true; false otherwise.