Top Banner

of 33

Building Blocks 2 (1)

Apr 02, 2018

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 7/27/2019 Building Blocks 2 (1)

    1/33

  • 7/27/2019 Building Blocks 2 (1)

    2/33

    For new comers,GWBASIC a good start-

    easy to learn, portable executable programwith 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.

  • 7/27/2019 Building Blocks 2 (1)

    3/33

    We will learn to write simpleprograms in GWBASIC

    Gwbasic, Fortran and other higher level languagesdo essentially the same thing-they interpret theprogram or souce code we write into a languagethe machine can understand.

    Gwbasic is a program by itself. It is an interpreter,that is, it translates our code line by line to thecomputer while our program is running.

    Fortran and similar languages interpret or compilethe entire code into a machine language beforethe computer can run the program .

  • 7/27/2019 Building Blocks 2 (1)

    4/33

    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)

  • 7/27/2019 Building Blocks 2 (1)

    5/33

    Getting started- see how these

    commands work. NEW SAVE filename

    LOAD filename RUN filename SYSTEM

    Note: close quotation optional. Extensionname if not present is understood to be .BAS.

  • 7/27/2019 Building Blocks 2 (1)

    6/33

  • 7/27/2019 Building Blocks 2 (1)

    7/33

    BUILDING BLOCKS OF AGWBASIC PROGRAM - 1

    A Gwbasic program as shown in the examples is madeup of a structured collection of numbered LINESTATEMENTS, which are executed by the computer according to numerical sequence.

    Structured means the line statements carry out specifictasks in accordance with some clear and logicalprocedure.

    SYNTAXLine number statement [ : statement ] [ comment ]

    Note:[ ] refer to optional elements in the line statement .

  • 7/27/2019 Building Blocks 2 (1)

    8/33

    BUILDING BLOCKS OF AGWBASIC 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

  • 7/27/2019 Building Blocks 2 (1)

    9/33

  • 7/27/2019 Building Blocks 2 (1)

    10/33

    1. NUMERIC CONSTANTS - 1

    TYPES OF NUMERIC CONSTANTS1. Integer - an ordinary integer, positive or negative.

    Range -32768< x < 32768 .

    Example 7, -23, 21346, +7892. 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

  • 7/27/2019 Building Blocks 2 (1)

    11/33

    1. NUMERIC CONSTANTS 23. 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

  • 7/27/2019 Building Blocks 2 (1)

    12/33

    1. NUMERIC CONSTANTS - 3TYPE 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-83. Double precision # 3.4567#, 2.67D+21

  • 7/27/2019 Building Blocks 2 (1)

    13/33

    2. VARIABLES - 1

    RULES FOR NAMING OF VARIABLES

    1. Characters must be alphanumeric,i.e., usealphabetic (A-Z) and numeral (0 9) charactersonly.

    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 storedin the variable. Also, long variable names are notpractical or advisable to use in a program.

  • 7/27/2019 Building Blocks 2 (1)

    14/33

    2. VARIABLES - 2Variables in Gwbasic and other programming

    languages are classified according to the data theystore. 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 areinitialized to 0.

  • 7/27/2019 Building Blocks 2 (1)

    15/33

    2. VARIABLES - 3

    VARIABLE DECLARATION

    1. Each variable must be assigned a type.

    2. In general, however, it is not necessary to worryabout variable type declaration in a program.

    Gwbasic adopts an implicit declaration of variables:variable names which end with the $ tag aredeclared string variables; variable names which donot 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.

  • 7/27/2019 Building Blocks 2 (1)

    16/33

    2. VARIABLES - 4EXAMPLES EXPLICIT VARIABLE TYPE

    DECLARATION

    1. Using the tag characters A%, ITEM$, Y!, BBC#

    2. Using the DEFtype statements put thesestatements at the beginning of the program.

    DEFINT B-F, L-M, P This means that all variablenames 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 thesame syntax.

    Note: Tag characters override DEFtype statements.

  • 7/27/2019 Building Blocks 2 (1)

    17/33

    2. VARIABLES - 5SUBSCRIPTED VARIABLES

    The purpose is to use the same variable name to refer toa 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 arraysare communicated to the computer by using the DIMstatement:

    10 DIM X(10), A(10,25)

    Note:Put DIM statements at the beginning of theprogram.

  • 7/27/2019 Building Blocks 2 (1)

    18/33

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

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

  • 7/27/2019 Building Blocks 2 (1)

    19/33

    3. OPERATIONS - 2

    2. Arithmetic operations are carried out LEFT to RIGHT.

    3. Use parentheses whenever their use will help clarifythe order of the operations that must be carried out.Inner parentheses are calculated first.

    Examples3.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 thenumeric constants,variables and the arithmeticoperations discussed above. Built-in mathematicalfunctions in Gwbasic enlarge the kind of algebraic

    expressions we can employ in a program.

  • 7/27/2019 Building Blocks 2 (1)

    20/33

    BUILT-IN FUNCTIONS - 1

    FUNCTION SYNTAX1. 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

  • 7/27/2019 Building Blocks 2 (1)

    21/33

    BUILT-IN FUNCTIONS - 2FUNCTION 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

  • 7/27/2019 Building Blocks 2 (1)

    22/33

    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

  • 7/27/2019 Building Blocks 2 (1)

    23/33

    4. RULES

    By this we mean the specific procedures that we mustuse in order to correctly translate our code into alanguage the computer can understand. We haveseen 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.

  • 7/27/2019 Building Blocks 2 (1)

    24/33

    5. STRUCTUREThe structure for the various commands will bediscussed when we get to them. However,the structureor layout of a Gwbasic program should look like the onebelow:

    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

  • 7/27/2019 Building Blocks 2 (1)

    25/33

    INPUT/OUTPUT STATEMENTS - 1The purpose of these statements is to receive data for computer processing and to output the results generatedby 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

  • 7/27/2019 Building Blocks 2 (1)

    26/33

    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.

  • 7/27/2019 Building Blocks 2 (1)

    27/33

    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.

  • 7/27/2019 Building Blocks 2 (1)

    28/33

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

  • 7/27/2019 Building Blocks 2 (1)

    29/33

    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

  • 7/27/2019 Building Blocks 2 (1)

    30/33

    CONTROL STATEMENTS - 4

    2. GOTO statement - for unconditional transfer of control Syntax

    line # GOTO line #

    Example120 GOTO 230

    70 GOTO 10

  • 7/27/2019 Building Blocks 2 (1)

    31/33

    CONTROL STATEMENTS - 53. IF-THEN statement

    Relational operators Symbol

    Equal =

    Less than

    Less than or equal to =These operators are used in the argument of the IF

    statement to determine the flow of control.

  • 7/27/2019 Building Blocks 2 (1)

    32/33

    CONTROL STATEMENTS - 6Compound relational operators: AND , OR

    Simple relational expression - involves a singlerelational operator: A > 12, B8) AND (C8) OR (C

  • 7/27/2019 Building Blocks 2 (1)

    33/33

    More in the next part..