+ All Categories
Home > Documents > Building blocks No. 2 and GWBASIC PROGRAMMING. –For new comers,GWBASIC a good start- easy to...

Building blocks No. 2 and GWBASIC PROGRAMMING. –For new comers,GWBASIC a good start- easy to...

Date post: 24-Dec-2015
Category:
Upload: elvin-barrett
View: 214 times
Download: 1 times
Share this document with a friend
Popular Tags:
33
Building blocks No. 2 and GWBASIC PROGRAMMING
Transcript
Page 1: Building blocks No. 2 and GWBASIC PROGRAMMING. –For new comers,GWBASIC a good start- easy to learn, portable executable program with graphics capability,

Building blocks No. 2and

GWBASIC PROGRAMMING

Page 2: Building blocks No. 2 and GWBASIC PROGRAMMING. –For new comers,GWBASIC a good start- easy to learn, portable executable program with graphics capability,

– 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.

Page 3: Building blocks No. 2 and GWBASIC PROGRAMMING. –For new comers,GWBASIC a good start- easy to learn, portable executable program with graphics capability,

We 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.

Page 4: Building blocks No. 2 and GWBASIC PROGRAMMING. –For new comers,GWBASIC a good start- easy to learn, portable executable program with graphics capability,

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)

Page 5: Building blocks No. 2 and GWBASIC PROGRAMMING. –For new comers,GWBASIC a good start- easy to learn, portable executable program with graphics capability,

Getting 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.

Page 6: Building blocks No. 2 and GWBASIC PROGRAMMING. –For new comers,GWBASIC a good start- easy to learn, portable executable program with graphics capability,

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

Page 7: Building blocks No. 2 and GWBASIC PROGRAMMING. –For new comers,GWBASIC a good start- easy to learn, portable executable program with graphics capability,

BUILDING BLOCKS OF A GWBASIC PROGRAM - 1A 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.

Page 8: Building blocks No. 2 and GWBASIC PROGRAMMING. –For new comers,GWBASIC a good start- easy to learn, portable executable program with graphics capability,

BUILDING BLOCKS OF A GWBASIC PROGRAM - 2EXAMPLES OF LINE STATEMENTS

10 X = 5 : R = 8.03 : C=A*B ‘C is the speed in cm/sec

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.

Page 9: Building blocks No. 2 and GWBASIC PROGRAMMING. –For new comers,GWBASIC a good start- easy to learn, portable executable program with graphics capability,

BUILDING BLOCKS OF A GWBASIC PROGRAM - 3QUESTION: 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, ...

Page 10: Building blocks No. 2 and GWBASIC PROGRAMMING. –For new comers,GWBASIC a good start- easy to learn, portable executable program with graphics capability,

1. NUMERIC CONSTANTS - 1

TYPES OF NUMERIC CONSTANTS

1. Integer - an ordinary integer, positive or negative.

Range -32768< x < 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) < x < 10^(+38)

(^ refers to exponentiation, meaning raised to)

Example 234.567, -9.8765, 6.023E+23

Page 11: Building blocks No. 2 and GWBASIC PROGRAMMING. –For new comers,GWBASIC a good start- easy to learn, portable executable program with graphics capability,

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

Page 12: Building blocks No. 2 and GWBASIC PROGRAMMING. –For new comers,GWBASIC a good start- easy to learn, portable executable program with graphics capability,

1. 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.67D+21

Page 13: Building blocks No. 2 and GWBASIC PROGRAMMING. –For new comers,GWBASIC a good start- easy to learn, portable executable program with graphics capability,

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.

Page 14: Building blocks No. 2 and GWBASIC PROGRAMMING. –For new comers,GWBASIC a good start- easy to learn, portable executable program with graphics capability,

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 Type declaration tag Example

1. Integer % J%, KK%, ICT%

2. Single ! X!, A7!, DIST!

3. Double # XJ23#, AREA#

4. String $ TITLE$, A5B$

5. Note: String variables in Gwbasic are initialized to the null character “ “. The other variables are initialized to 0.

Page 15: Building blocks No. 2 and GWBASIC PROGRAMMING. –For new comers,GWBASIC a good start- easy to learn, portable executable program with graphics capability,

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.

Page 16: Building blocks No. 2 and GWBASIC PROGRAMMING. –For new comers,GWBASIC a good start- easy to learn, portable executable program with graphics capability,

2. VARIABLES - 4EXAMPLES – 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.

Page 17: Building blocks No. 2 and GWBASIC PROGRAMMING. –For new comers,GWBASIC a good start- easy to learn, portable executable program with graphics capability,

2. VARIABLES - 5SUBSCRIPTED 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)

Note:Put DIM statements at the beginning of the program.

Page 18: Building blocks No. 2 and GWBASIC PROGRAMMING. –For new comers,GWBASIC a good start- easy to learn, portable executable program with graphics capability,

3. OPERATIONS - 11. 1. Hierarchy of operations: list is of descending

priority

2. Operation Symbol Example

Exponentiation ^ 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 +, - 6.7 +89.3 – 5.7

Page 19: Building blocks No. 2 and GWBASIC PROGRAMMING. –For new comers,GWBASIC a good start- easy to learn, portable executable program with graphics capability,

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.

Page 20: Building blocks No. 2 and GWBASIC PROGRAMMING. –For new comers,GWBASIC a good start- easy to learn, portable executable program with graphics capability,

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

Page 21: Building blocks No. 2 and GWBASIC PROGRAMMING. –For new comers,GWBASIC a good start- easy to learn, portable executable program with graphics capability,

BUILT-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

Page 22: Building blocks No. 2 and GWBASIC PROGRAMMING. –For new comers,GWBASIC a good start- easy to learn, portable executable program with graphics capability,

BUILT-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

Page 23: Building blocks No. 2 and GWBASIC PROGRAMMING. –For new comers,GWBASIC a good start- easy to learn, portable executable program with graphics capability,

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.

Page 24: Building blocks No. 2 and GWBASIC PROGRAMMING. –For new comers,GWBASIC a good start- easy to learn, portable executable program with graphics capability,

5. STRUCTUREThe 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

Page 25: Building blocks No. 2 and GWBASIC PROGRAMMING. –For new comers,GWBASIC a good start- easy to learn, portable executable program with graphics capability,

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

100 DATA 10.3, 25.6, “argon”, 234.1

Page 26: Building blocks No. 2 and GWBASIC PROGRAMMING. –For new comers,GWBASIC a good start- easy to learn, portable executable program with graphics capability,

INPUT/OUTPUT STATEMENTS - 2Output 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.

Page 27: Building blocks No. 2 and GWBASIC PROGRAMMING. –For new comers,GWBASIC a good start- easy to learn, portable executable program with graphics capability,

CONTROL STATEMENTS - 1There 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.

Page 28: Building blocks No. 2 and GWBASIC PROGRAMMING. –For new comers,GWBASIC a good start- easy to learn, portable executable program with graphics capability,

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%

Page 29: Building blocks No. 2 and GWBASIC PROGRAMMING. –For new comers,GWBASIC a good start- easy to learn, portable executable program with graphics capability,

CONTROL STATEMENTS - 3Example: 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

Page 30: Building blocks No. 2 and GWBASIC PROGRAMMING. –For new comers,GWBASIC a good start- easy to learn, portable executable program with graphics capability,

CONTROL STATEMENTS - 4

2. GOTO statement - for unconditional transfer of control

Syntax

line # GOTO line #

Example

120 GOTO 230

70 GOTO 10

Page 31: Building blocks No. 2 and GWBASIC PROGRAMMING. –For new comers,GWBASIC a good start- easy to learn, portable executable program with graphics capability,

CONTROL STATEMENTS - 5

3. IF-THEN statement

Relational operators Symbol

Equal =

Less than <

Greater than >

Less than or equal to <=

Greater than or equal to >=

These operators are used in the argument of the IF

statement to determine the flow of control.

Page 32: Building blocks No. 2 and GWBASIC PROGRAMMING. –For new comers,GWBASIC a good start- easy to learn, portable executable program with graphics capability,

CONTROL STATEMENTS - 6Compound 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.

Page 33: Building blocks No. 2 and GWBASIC PROGRAMMING. –For new comers,GWBASIC a good start- easy to learn, portable executable program with graphics capability,

More in the next part…..


Recommended