Professional Documents
Culture Documents
2 and
GWBASIC PROGRAMMING
For new comers,GWBASIC a good starteasy 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.
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)
Note: close quotation optional. Extension name if not present is understood to be .BAS.
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
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
1. NUMERIC CONSTANTS - 1
TYPES OF NUMERIC CONSTANTS 1. Integer - an ordinary integer, positive or negative. Range -32768< x < 32768 .
1. NUMERIC CONSTANTS 2
3. Double precision a number with seven or more significant digits and a decimal point. May have as
1. NUMERIC CONSTANTS - 3
TYPE DECLARATION TAGS The type of a number can be indicated by a type
declaration tag:
TYPE 1. Integer 2. Single precision 23.56E-8 ! TAG % EXAMPLE 3%, 564% 1.34! , 43.7865!,
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.
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 1. Integer Type declaration tag % Example
2. Single
3. Double 4. String
!
# $
5. Note: String variables in Gwbasic are initialized to the null character . The other variables are initialized to 0.
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. 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 twodimensional array. The dimensions or sizes of the arrays are communicated to the computer by using the DIM statement:
3. OPERATIONS - 1
1. 1. Hierarchy of operations: list is of descending priority 2. Operation Exponentiation Symbol ^ Example 2^15, X^5, 5.12^(1/3)
Multiplication, division
Integer division Remainder in integer division Addition,subtraction
*, /
\ MOD
X*Y, A/2.35
3\2, 9\2 8 MOD 3 6.7 +89.3 5.7
+, -
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 1. Sine 2. Cosine 3. Tangent SYNTAX SIN(X) , X in radians COS(X) TAN(X)
4. Arc tangent
5. Square root 6. Exponential 7. Natural logarithm
ATN(X)
SQR(X) , X >= 0 EXP(X) LOG(X) , X > 0
BUILT-IN FUNCTIONS - 2
FUNCTION 8. Absolute value SYNTAX ABS(X)
9. Greatest integer
less than or equal to X 10. Remove decimal part of a number
INT(X)
FIX(X)
SGN(X)
BUILT-IN FUNCTIONS - 3
FUNCTION SYNTAX
CINT(X)
CSNG(X)
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.
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
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)
80 NEXT L
90 NEXT N
CONTROL STATEMENTS - 4
2. GOTO statement - for unconditional transfer of control Syntax line # GOTO line # Example
CONTROL STATEMENTS - 5
3. IF-THEN statement Relational operators Equal Less than Greater than Less than or equal to Symbol = < > <=
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.